软件工程第三章软件生存周期及其模型
- 格式:pptx
- 大小:2.00 MB
- 文档页数:44
软件工程第三版答案【篇一:软件工程课后答案】>1.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。
软件的特点是:a 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;b 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;c 软件的使用没有硬件那样的机械磨损和老化问题。
1.2 简述软件的分类,并举例说明。
答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
a 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件与具体的应用领域无关。
例如:编译程序、操作系统等。
b 支撑软件:支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境等。
c 应用软件:应用软件是特定应用领域专用的软件。
例如:工程/科学计算软件、嵌入式软件、产品线软件、web应用软件、人工智能软件。
1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5 简述软件工程的基本原则。
答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;第二条:采用合适的设计方法;第三条:提供高质量的工程支撑;第四条:重视软件工程的管理。
1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。
答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
a计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
b需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
软件工程课程教学大纲(SoftwareEngineering)学时数:32其中:实验学时:6课外学时:0学分数:2适用专业:计算机科学与技术一、课程的性质、目的与任务《软件工程》是计算机科学与技术专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
根据培养基层应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、课程教学的基本要求(-)基本概念和基本知识:软件与软件工程,生存周期与软件开发模式,结构化分析、设计与编码,面向对象分析、设计与编码,软件的评审、测试与维护,项目计划与项目管理。
(二)基本技能:能用软件工程的方法参与软件项目的分析、设计、实现和维护重点:系统分析、系统设计、系统实现、系统维护难点:需求分析、软件测试课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
了解即能正确判别有关概念和方法:理解是能正确表达有关概念和方法的含义;掌握是在理解的基础上加以灵活应用三、课程的教学内容、重点和难点第一章概论一、软件(一)软件的发展;(二)软件的定义;(三)软件的特点、软件的种类。
二、软件工程的概念(一)软件危机与软件工程的定义;(二)软件工程的目标;(三)软件工程的原则。
三、软件生存周期与软件开发模型(一)瀑布模型、原型模型、螺旋模型、基于四代技术模型、面向对象与组件模型、混合模型。
教学要求:软件和软件工程的基本概念,软件生命周期及软件开发的各个模型重点:软件生存周期与软件开发模型第二章可行性分析一、可行性研究的任务二、可行性研究的步骤三、系统流程图四、成本/效益分析第三章需求分析一、需求分析的任务与步骤(一)需求分析的任务;(二)需求分析的步骤;(三)需求分析的原则。
1.2软件工程和软件生存周期1.2.1软件工程过程软件工程过程包含如下七个过程(1)获取过程。
(2)供应过程。
(3)开发过程。
(4)操作过程。
(5)维护过程。
(6)管理过程。
(7)支持过程。
1.2.2 软件生存周期软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶 段去完成。
1.可行性分析和项目开发计划明确“要解决的问题是什么?”,“解决的问题的办法和费用”,“解决的问题所需的资源和时间”。
要回答这些问题,就要进行问题定义、可行性分析,制定项目开发计划。
2.需求分析需求分析阶段的任务是准确地确定软件系统必须做什么,确定软件系统具备哪些功能。
写出软件需求规格说明书。
3.概要设计概要设计的任务是把软件需求规格说明书中确定的各项功能转换成需要的体系结构。
4.详细设计详细设计阶段就是为每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述。
5.编码编码阶段就是把每个模块的控制结构转换成计算机可接受的程序代码。
6.测试测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。
测试分为单元测试、集成测试、确认测试。
7.维护软件维护是软件生存周期中时间最长的阶段。
已交付的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至几十年。
【关键字】工程软件工程习题解答第一章概述3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d. 开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。
2)软件开发管理:软件管理学、软件经济学、软件心理学。
6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、尝试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。
(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
软件⽣命周期模型软件⽣命周期,同任何事物⼀样,⼀个软件产品或软件系统也要尽⼒孕育,诞⽣,成长,成熟,衰亡等阶段,⼀般称为软件⽣命周期(软件⽣存周期)。
软件⽣命周期模型是指⼈们为开发更好的软件⽽归纳总结的软件⽣命周期的典型实际参考。
瀑布模型瀑布模型是最早出现的软件开发模型,在软件⼯程中占有重要的地位,它提供了软件开发的基本框架。
其过程是从上⼀项活动接收该活动的⼯作对象作为输出,利⽤这⼀输⼊实施该项活动应完成的内容给出该项活动的⼯作成果,并作为输出传给下⼀项活动。
同时评审该项活动的实施,若确认,则继续下⼀项活动:否则返回前⾯,甚⾄更前⾯的活动。
对于经常变化的项⽬⽽⾔,瀑布模型毫⽆价值瀑布型简单地说就是按照需求,设计,编码,测试,软件维护这个基本地顺序来研发软件,前⾯⼀个步骤不完成,后⾯地步骤不能开始,否则问题会滚到下⼀个阶段,带来更多地问题优点:1. 为项⽬提供了按阶段划分的检查点2. 当前⼀阶段完成后,只需要去关注后续阶段缺点:1. 各个阶段的划分完全固定,阶段之间产⽣⼤量的⽂档,极⼤地增加了⼯作量。
2. 由于开发模型是线性的,⽤户只有等到整个过程的末期才能见到开发成果,从⽽增加了开发风险风险:1. 通过过多的强制完成⽇期和⾥程牌来跟踪各个项⽬阶段2. 瀑布模型的突出缺点是不适应⽤户需求的变化原型化模型原型化模型的第⼀步是建造⼀个快速原型,实现客户或未来的⽤户与系统的交互,经过和⽤户针对原型的讨论和交流,弄清需求以便真正把握⽤户需要的软件产品是什么样⼦的。
充分了解后,再在原型基础上开发出⽤户满意的产品严格的来说不算⼀种软件⽣命周期模型,他只是⼀种获取需求的⽅法。
V模型v模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即个测试过程的各个阶段v模型的优点在于它⾮常明确的标识了测试过程中存在的不同级别,并且清楚地描述这些测试阶段和开发各阶段的对应关系⽤户需求-----------------------------------------验证,确认------------------------------------------------验收测试需求分析----------------------------- ------------------------------------------------------------------系统测试概要设计--------------------------------------------------------------------------------------集成测试详细设计----------------------------------------------------------------------单元测试------------------------ -------------软件编码---------------------------------------------------------------V模型的缺陷及解决思路v模型仅仅把测试过程作为在需求分析,系统设计及编码之后的⼀个阶段,忽视了测试对需求分析,系统设计的验证,需求的满⾜情况⼀直到后期的验收测试才被验证。