东北师范大学研究生软件工程chapter05_第1页
东北师范大学研究生软件工程chapter05_第2页
东北师范大学研究生软件工程chapter05_第3页
东北师范大学研究生软件工程chapter05_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 软件工程2.1 软件工程的基本概念1. 工程为生产创建基础设施的过程,称为工程。2. 生产利用工程提供的基础设施生产产品的过程,称为生产。3. 工程的生命周期复杂工程需要按时间、分阶段进行,复杂工程中各个阶段按时序构成的有序序列,称为工程的生命周期。4. 软件工程软件的开发过程,称为软件工程。5. 软件工程的生命周期软件工程需要按时间分为各个阶段进行,软件工程中各个阶段按时序构成的有序序列,称为软件工程的生命周期,或称为软件工程的生命周期法。2.2 软件工程的基本原理1. 用分阶段的生命周期计划严格管理强调软件开发过程严格按照生命周期的各个阶段进行,禁止在前一个阶段的工作尚未完成之前,进行下一个阶段的工作。2. 坚持进行阶段评审强调软件开发过程各个阶段的技术审查与管理复审,确保软件质量和开发速度。3. 实行严格的质量控制严禁劣质软件上市。4. 采用现代系统开发技术强调尽量采用最先进的系统开发工具,避免在软件上市之前就已经过时的现象出现。5. 成果应该是可审查的强调软件文档的完备性和可读性,两者称为文档的规范化。6. 开发团队的人员应该是少而精强调对软件开发队伍管理的规范化。7. 承认不断改进的软件工程实践的必要性软件工程学是对软件开发实践经验的总结与升华,需要不断经历时间的检验,并在实践过程中逐步完善。2.3 生命周期法软件生命周期由软件定义、软件开发和软件维护三个时期组成,每个时期又可以进一步划分为若干个阶段。 软件生命周期的定义不十分一致,相对准确的定义为:系统分析、系统设计、系统实现、系统实施、系统维护和系统淘汰。软件生命周期软件定义软件开发软件维护问题定义可行性研究需求分析总体设计详细设计编码与单元测试综合测试技术培训与部署版本升级淘汰图 2-1 软件生命周期1. 问题定义问题定义阶段必须回答的问题是“要解决的问题是什么?”。问题定义一般要求在三天之内完成,问题陈述文档长度不超过500字。 这个问题看似简单,实际并不简单,这是因为大部分用户不是对自己要解决的问题不十分清楚,就是阐述不清楚。2. 可行性研究这个阶段要回答的关键问题是“对于上一个阶段所确定的问题是否有行的通的解决方法吗?”。可行性研究一般要求在1020天内完成,阶段性成果为系统的高层逻辑框架,文档长度不超过5000字。可行性研究包括三方面内容:1) 技术可行性2) 经济可行性3) 操作可行性 有很多问题不是利用计算机解决的问题,或者,计算机不是解决问题的最有效的工具;除此之外,所谓“行的通”还包括成本/效益,如果用户不能负担软件的开发费用,或者问题的解决本身不会对用户产生重大影响,即:不会给用户带来近期或长期的经济效益,则同属不可行。3. 需求分析这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,阶段性成果为系统的逻辑框架。 需求分析的工作性质与前两个阶段的工作性质基本相同,只是比前两个阶段的工作更细致、更具体一些,所以有时把这三个阶段都称为需求分析。4. 总体设计这个阶段必须回答的关键问题是“应该如何解决这个问题?”。即:确定和提出解决问题的总体方案。阶段性成果为系统的高层物理框架。5. 详细设计这个阶段必须回答的关键问题是“应该怎样具体地实现这个系统”。即:详细设计是上一个阶段的细化或具体化。阶段性成果为系统的物理框架。 详细设计阶段成果的表达方式为软件蓝图,即:利用伪指令编写的程序。6. 编码与单元测试这一个阶段的任务是根据上一个阶段的成果,编写并测试每一个程序模块。 在编写程序的过程中,正确是相对的,错误是绝对的,成功的测试是发现程序中错误的测试。7. 综合测试这一个阶段的任务是对由各个模块构成的软件进行总体测试。测试的目的:一是软件的功能是否达到设计要求;二是软件是否有错误,错在那里。 综合测试中发现的错误一般为各个模块之间的调用关系方面的错误。8. 技术培训与部署这一个阶段的任务是安装与配置软件,并对软件的使用者进行培训。9. 版本升级这一个阶段的任务是跟踪用户的进一步需求,为软件添加新的功能,使得软件能够长时间的满足用户需求。10. 软件淘汰这一个阶段的任务是跟踪系统软、硬件的变化和用户需求的变化,定义新的软件,并确定新的软件的开始开发的时间。 软件淘汰的准则为:软件的信息结构发生变化。2.4 瀑布模型系统(软件)开发方法一般可分为两种,结构化系统开发方法和面向对象开发方法。结构化系统开发方法有时也称为瀑布模型,之所以称之为瀑布模型,是因为结构化系统开发方法有如下要求:1. 结构化系统开发方法中各个阶段必须在前一个基础之上进行,不允许跨阶段2. 结构化系统开发方法中各个阶段的阶段性成果一定大于前一个阶段的阶段性成果3. 当系统开发速度过快时,其各个阶段的阶段性成果中可能存在很多问题和错误,一旦发现错误,可能需要回溯的前一个阶段,这种回溯称之为湍流2.5 技术审查与管理复审2.5.1 进行审查和复审的必要性1. 审查审查及检查,不同之处在于审查是由别人来检查,而不是完成工作的人本人来检查,这是因为参加工作的人自己常常不能发现自己工作中的问题,即所谓“当局者迷、旁观者清”。 审查是保证软件质量和降低成本,提高速度的重要措施,从软件的生命周期理论来看,软件错误具有传递、积累、派生和放大等特点,即:软件生命周期中某个阶段产生的错误,会传递到后续的各个阶段,并在后续各阶段中积累、派生和放大。2. 复审复审即复杂的审查。复审不是单纯的从技术的角度审查软件中可能出现的错误,而是从成本、效益、技术、进度等方面对工程进行综合评价。 一般来讲,复审工作不是技术性的,而是从工程管理的角度进行的。软件生命周期各个阶段的复审工作实际上是对本阶段工作的总结,并提出下一个阶段工作的具体方案和措施。从管理的角度看:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论