欢迎来到天天文库
浏览记录
ID:39721767
大小:4.30 MB
页数:81页
时间:2019-07-10
《软件工程教案--第2章软件过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重庆理工大学计算机科学与工程学院李梁65263075liliang@cqut.edu.cn软件工程第二章软件过程*什么是软件工程?什么是工程化思想?什么是软件过程?有哪些过程模型?如何建立过程模型?什么是统一过程?——自学什么是敏捷过程?有哪些模型?——自学什么是软件工程实践?第一部分软件工程与过程*第2章软件过程2.1什么是软件过程?2.2什么是软件生命周期?2.3软件过程评估:能力成熟度模型是什么?软件过程评估:CMM、CMMI、ISO9001:2000等2.4理解敏捷过程—自学(含极限编程、结对编程)2.5开展软件过程实践*概念软件过程是为了开发出软件
2、产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动通常使用生命周期模型简洁地描述软件过程每项活动可分为一系列工程任务,科学的软件过程是一组适合软件项目特点的任务集合,任务集合包括一组软件工程任务、、里程碑、应交付的产品。层次软件工程是一门建立在以质量焦点为基础,分过程、方法和工具三个层次的综合技术(三要素)工具方法过程质量焦点2.1软件过程*2.1软件过程软件工程过程:一个软件机构针对某一类软件产品为自己规定的工作步骤。软件规格说明:规定软件的功能及其运行的限制软件开发:产生满足规格说明的软件软件确认:确认软件能够完成客户提出的要求软件演进:为满足
3、客户的变更要求,软件必须在使用的过程中演进软件工程过程定义了:方法使用的顺序要求交付的文档资料为保证质量和适应变化所需要的管理软件开发各个阶段完成的里程碑*软件过程框架P15表2-1框架是实现整个软件开发活动的基础,软件过程框架定义了若干小的框架活动,与过程有关的角色、职责的定义以及实现也都离不开框架的支持。实际上就是软件过程的工程模板内容组织及管理框架:实现过程活动涉及到的角色与职责技术及工具框架:实现过程活动的自动化及需要的设备与工具2.1软件过程-软件过程框架*2.1软件过程-软件工程目标目标可修改性有效性可靠性可理解性可维护性可重用性可适应性可移植性可
4、追踪性可互操作性基本目标:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作及时交付使用软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。对开发人员而言,如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二。*从传统工业生产过程的知识发现(补)从传统工厂生产组织方法的启示:能否将软件开发作为工厂的产品,按照工厂产品的生产组织方式组织软件开发工作?参考啤酒生产过程阶段划分清楚过程控制严格流程执行规范
5、质量有保障2.1软件过程*向传统工业学习什么?任务明确、组织有序、纪律严明、整体优化2.1软件过程*软件过程模型:就是把软件生命周期中各项开发活动的流程用一个合理的框架(开发模型)来规范描述。软件生命周期模型软件生命周期划分为发生-定义、发展-开发和灭亡-运行与维护三个部分细分为六个阶段:问题的定义及规划需求分析软件设计程序编码软件测试运行维护2.1软件过程-软件过程模型系统规划系统分析系统设计系统实施运行支持*软件生命期Softwarelifecycle软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期软件有一个孕育、诞生、成
6、长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期生命周期阶段的划分原则:各阶段的任务相对独立同一阶段任务的性质相同软件定义(系统分析):可行性研究(软件计划)、需求分析软件开发(系统设计):概要设计、详细设计、软件实现(编码、单元测试)、软件测试(组装测试、确认测试)软件使用、维护和退役2.2软件生命周期*基于SDLC的瀑布模型发生发展灭亡软件系统开发生命周期(SystemsDevelopmentLifeCycle,SDLC)是建立软件系统的一个过程,是管理和控制软件系统开发过程的一种基本框架,是确保软件系统开发成功的一种必要措施和手段。2.2软件生
7、命周期*可行性研究确定要开发软件系统的总目标给出功能、性能、可靠性以及接口等方面的要求完成该软件任务的可行性研究估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查需求分析和定义对用户提出的要求进行分析并给出详细的定义编写软件需求说明书或系统功能说明书及初步的系统用户手册提交管理机构评审2.2软件生命周期*概要设计—把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应,编写设计说明书,评审详细设计—对每个模块要完成的工作进行具体的描述,为源程序
8、编写打下基础,编写设计说明书,提交评审
此文档下载收益归作者所有