- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华软软件工程期末考试资料(必过)解析
软件工程概念与过程
软件的特性
软件是一种逻辑实体,而不是具体的物理实体。它具有抽象性
软件的生产与硬件不同
大多数软件是定制的
在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题
软件的开发和运行常常受到计算机系统的限制对计算机系统有着不同程度的依性
软件开发至今尚未完全摆脱手工艺的开发方式
软件是复杂的
软件成本相当昂贵
相当多的软件工作涉及到社会因素
软件危机
指在落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致
对软件开发成本和进度的估计不准确
用户不满意
软件质量不高、可靠性差
软件常常不可维护、错误难以改正
缺乏适当的文档资料
软件成本占系统总成本的比例逐年上升1985----90%)
软件开发速度跟不上计算机发展速度
----“时间、成本、质量”
软件危机--原因1
软件规模日渐庞大(数量、功能、成本、质量、时间)
软件开发管理困难。
逻辑部件而不是物理部件。
在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。
开发人员错误的观念、方法和技术
重编程、轻需求。
生产方式落后:个体手工方式。
开发技术落后\开发工具落后
软件危机---原因2
忽视软件开发前期的需求分析
开发过程缺乏统一的、规范化的方法论的指导
文档资料不齐全或不准确
忽视与用户之间、开发组成员之间的交流
忽视测试的重要性
不重视维护或由于上述原因造成维护工作的困难
需求变化预料不足
ISO/IEC 12207定义的软件过程
按ISO/IEC 12207软件开发生存周期过程,软件设计由两个活动组成
软件体系结构设计-software architectural design
顶层设计(top-level design)
描述系统顶层的结构和组织
标识各个构件
软件详细设计-software detailed design
充分描述每个构件使之可以编码
软件生命周期
软件生命周期定义
它是指一个软件从提出开发要求开始到该软件报废为止的整个时期(生存过程)。从时间角度,把整个周期划分为若干个阶段(步骤),每个阶段有明确的任务,然后再逐步完成每个阶段的任务
软件从孕育、诞生、成长、成熟、衰亡的生存过程
软件生存期各阶段
制定计划(Planning)
需求分析和定义(Requirement Analysis and Definition)
软件设计(Software Design)
程序编写(Coding/Programming)
软件测试(Testing)
运行/维护(Running/Maintenance)
软件生命周期模型
线性顺序模型
瀑布模型
RAD模型
原型模型
渐增模型
螺旋模型
统一过程
敏捷软件开发
瀑布模型--特点
优点:
提供了软件开发的基本框架,比靠“个人技艺”开发好的多。
严格活动序列,严格阶段成果评审,有利于大型软件开发过程的人员的组织和管理
缺点:对用户需求变更的响应较困难。
初始阶段较长,用户极大的耐心,需求的不确定性;
后期阶段时,需求错误、设计及实现错误才出现
适用:需求明确、大型的项目。
RAD模型--特点
优点:开发时间短;快速发布
缺点:多团队开发协调困难;了解需求困难;不注意小细节
原型模型----特点
优点:
成品的用户满意度高。用户参与,需求不断完善
缺点
软件的“临时版本”,未考虑性能需求
进度控制、质量检验较难,技术方案未必最优,会导致开发过程的不可收敛性
系统结构通常较差,连续的变更损坏了系统的结构
适用:
中小规模、生存期短的系统,知识型系统
用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求
开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式
当你的客户有一个合理的需求,但对细节则没有任何线索时,先开发一个原型系统是一个好的选择
演化软件过程模型
渐增模型
以尽早占领市场为目的,逐步发布版本;
可有计划地管理技术风险
螺旋模型
不同版本、不同形式的不断进化;
需要高水平的风险评估技术
并发开发模型
由用户要求、管理决策和评审结果驱动;
每一个软件工程活动触发活动网络的状态变迁
渐增模型-特点
优点:易于预测、管理、控制使用的资源;快速版本发布
缺点:有可能消弱结构和设计
使用:用户需求不明确;设计用户界面
螺旋模型-特点
(spiral model) TRW B.Boehm,1988提出。将过程用螺旋线表示,每个回路表示软件过程的一个阶段。因此,最里面的回路可能与系统可行性有关,下一个回路可能与系统需求定义有关,再下一个回路与系统设计有关。
优点:渐增、使用原型模型减少风险,快速、可在软件
文档评论(0)