软件工程打印资料.doc

上传人:自*** 文档编号:126344701 上传时间:2020-03-24 格式:DOC 页数:17 大小:939.50KB
返回 下载 相关 举报
软件工程打印资料.doc_第1页
第1页 / 共17页
软件工程打印资料.doc_第2页
第2页 / 共17页
软件工程打印资料.doc_第3页
第3页 / 共17页
软件工程打印资料.doc_第4页
第4页 / 共17页
软件工程打印资料.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《软件工程打印资料.doc》由会员分享,可在线阅读,更多相关《软件工程打印资料.doc(17页珍藏版)》请在金锄头文库上搜索。

1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生于软件发展的第二阶段(软件系统阶段)末期。软件危机-主要表现对软件开发成本和进度的估计不准确用户不满意软件质量不高、可靠性差软件常常不可维护、错误难以改正缺乏适当的文档资料软件成本占系统总成本的比例逐年上升(1985-90%)软件开发速度跟不上计算机发展速度归结为主要为三方面-“时间、成本、质量”软件危机-原因1软件规模日渐庞大(数量、功能、成本、质量、时间)软件开发的管理困难。逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当

2、困难。开发人员错误的观念、方法和技术重编程、轻需求。生产方式落后:个体手工方式。开发技术落后。开发工具落后软件危机-原因2忽视软件开发前期的需求分析 开发过程缺乏统一的、规范化的方法论的指导文档资料不齐全或不准确忽视与用户之间、开发组成员之间的交流忽视测试的重要性不重视维护或由于上述原因造成维护工作的困难需求变化预料不足软件生存期技术定义的软件过程过程元素之间的关系标准软件过程体系结构图软件生命周期它是指一个软件从提出开发要求开始到该软件报废为止的整个时期(生存过程)。从时间角度,把整个周期划分为若干个阶段(步骤),每个阶段有明确的任务,然后再逐步完成每个阶段的任务软件从孕育、诞生、成长、成熟

3、、衰亡的生存过程软件生存期各阶段一般可分为六个步骤/阶段 :1.制定计划(Planning)2.需求分析和定义(Requirement Analysis and Definition)3.软件设计(Software Design)4.程序编写(Coding/Programming)5.软件测试(Testing)6.运行/维护(Running/Maintenance)线性顺序模型瀑布模型瀑布模型-特点q 优点:q 提供了软件开发的基本框架,比靠“个人技艺”开发好的多。q 严格活动序列,严格阶段成果评审,有利于大型软件开发过程的人员的组织和管理q 缺点:对用户需求变更的响应较困难。q 初始阶段较长

4、,用户极大的耐心,需求的不确定性;q 后期阶段时,需求错误、设计及实现错误才出现q 适用:需求明确、大型的项目。瀑布模型变化1瀑布模型变化2快速应用开发模型RAD1快速应用开发模型RAD2RAD模型-特点优点:开发时间短缺点:多团队开发协调困难;了解需求困难;不注意小细节原型模型1原型模型2原型模型-特点l 优点:l 成品的用户满意度高。用户参与,需求不断完善l 缺点l 软件的“临时版本”,未考虑性能需求l 进度控制、质量检验较难,技术方案未必最优,会导致开发过程的不可收敛性l 系统结构通常较差,连续的变更损坏了系统的结构l 适用:l 中小规模、生存期短的系统,知识型系统l 用户定义了一组一般

5、性目标,但不能标识出详细的输入、处理及输出需求l 开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式l 当你的客户有一个合理的需求,但对细节则没有任何线索时,先开发一个原型系统是一个好的选择l 渐增模型l 以尽早占领市场为目的,逐步发布版本; l 可有计划地管理技术风险l 螺旋模型l 不同版本、不同形式的不断进化;l 需要高水平的风险评估技术l 并发开发模型l 由用户要求、管理决策和评审结果驱动;l 每一个软件工程活动触发活动网络的状态变迁;需求分析定义l 需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统的更精确描述,成为转换成需求规格说明的直接信息元。需

6、求分析任务需求分析过程图示需求分析方法l 结构化分析l 面向对象分析可行性分析定义研究软件项目是否值得开发、关键技术、难点、能否解决、怎样达到目标主要任务社会/法律可行性技术可行性经济可行性对开发成本进行估算,预期经济效益,确定是否值得投资开发在测算成本和效益时注意项目相关方不同的考虑点成本估计购置并安装软件、硬件及有关设备的费用系统开发费用一次性方法:自顶向下成本估计、由底向上成本估计、算法模型估计、类比估计、专家判断、Parkinson估计和销价取胜法、系统安装、运行和维护费用、人员培训费用,其它效益分析社会效益经济效益货币的时间价值F=P*(1+i)n年利率为 i,P 元钱存 n 年后可

7、得 F 元P=F/(1+i)n投资回收期累计的经济效益等于最初投资所需的时间n年投资回收率R=(F1/(1+i)+F2/(1+i)2+Fn/(1+i)n )/ P纯收入累计的经济效益(折算成当前值)- 投资(开发成本)效益来源自动化水平提高,减少了工作人员、减少运行费用、由于自动编辑,减少错误、交易处理速度提高、较少货币管理上的损失、减少不良帐单或信贷损失、更快的收取应收帐款、库存减少与库存过期损失等等例题假设一系统,估计共需5000元;估计每年可以节省2500元,五年共可节省12 500元。假定年利率为12%,预计节省的钱的现在价值投资回收期两年以后可以节省4225.12元,比最初的投资(5

8、000元)还少774.88元,第三年以后将再节省1779.45元。774.881779.450.44,因此,投资回收期是2.44年。5年投资回收率9011/5000=180%纯收入9011.9450004011.94(元)结论可以进行开发需要等待某些条件需要对开发目标进行某些修改之后才能开发不能进行或不必进行开发需求分析的艰难性需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特:(1)用户与开发人员很难进行交流在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该做什么。但是在开始时,开发人

9、员和用户双方都不能准确地提出系统要做什么?。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。(2)用户的需求是动态变化的对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。(3)系统变更的代价呈非线性增长需求分析是软件开发的基础。假定在该阶段发现一个错误,解决

10、它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。软件需求规格说明书(SRS)49页怎样进行有效需求分析?32页需求分析的重要性在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些

11、需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。主要从哪几个方面分析项目的可行性可行性研究的内容一般包括:技术可行性、经济可行性、操作可行性、法律和社会可行性、开发方案的选择以及进度计划软件生命周期模型 线性顺序模型 瀑布模型 RAD模型 原型模型 渐增模型 螺旋模型 统一过程 敏捷软件开发一、单选题1、软件生存周期模型有多

12、种,下列选项中,(C功能模型)不是软件生存周期模型。2、检查软件产品是否符合需求定义的过程称为(D验收测试)。 3、黑盒测试是从( C用户)观点出发的测试,白盒测试是从( A开发人员)观点出发的测试。 4、可行性研究要进行一次(D简化的、压缩了的)需求分析。5、回归测试是( A校正性维护)中最常用的方法。6、与选择编程语言无关的因素是( C程序设计风格) 。7、面向对象程序设计将数据与 ( A对数据的操作 )放在一起,作为一个相互依存、不可分割的整体来处理。8、软件生存周期的( D每个阶段)工作和软件可维护性有密切的关系 。9、好的软件结构应该是( C低耦合,高内聚)。10、在快速原型模型的开

13、发过程中,仅作为需求说明的补充形式的原型是(A探索型模型)11、软件结构图的形态特征能反映程序重用率的是(C扇入)12、需求分析最终结果是产生(B需求规格说明书)13、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( C抽象)。14可行性研究要进行一次 需求分析。 答案为:D简化的、压缩了的2开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 。 答案为:B软件危机15产生软件维护的副作用,是指。 答案为:C因修改软件而造成的错误16维护中,因误删除一个标识符而引起的错误是_副作用。答案为:C编码17可维护性的特性中相互促进的是答案为:A可理解性和可测试性1

14、8需求分析最终结果是产生 答案:B需求规格说明书7_是以提高软件质量为目的的技术活动。答案为:D技术评审 19面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的_;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。答案为:C把对象划分成类,每个对象类都定义一组数据和方法20原型化方法是用户和设计者之间执行的一种交互构成,适用于_系统。答案为:A需求不确定性高的21为了提高测试的效率,应该。答案为:D选择发现错误可能性大的数据作为测试数据 四、判断题 某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。请判断哪些措施是正确的,哪能些是不正确的,并简单说明理由。1、在分析用户需求时同时考虑维护问题。正确2、测试完程序后,删去程序中的注解以缩短源程序长度。不正确3、在软件开发过程中保证各阶段文档的正确性。正确4、编码时多用全局变量。不正确5、选用时间效率和空间效率尽可能高的算法。不正确6、尽可能利用硬件特点以提高程序效率。不正确7、尽可能使用高级语言编写程序。正确8、进

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号