- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 习题及答案
一、选择题
1.B? 2.B? 3.D? 4.A? 5.D ?6.D? 7.B? 8.A 9.C 10.B 11.D 12.A 13.C
二、问答题
1.什么是软件生命周期?
答:软件生命周期又称为软件生存周期,生命周期的每一个阶段都有确定的任务,并产生相应的文档资料,提交给下一个阶段作为继续工作的依据。按照软件生命周期的定义,软件的开发不仅仅是强调“编码”,而是概括了软件开发的全过程。概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
软件定义时期的任务就是解决“做什么”的问题,即确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
开发时期的主要任务是解决“怎样做”的问题,即具体设计和实现在前一个时期定义的软件,同时要选择一种适当的开发工具,把软件设计转化为计算机可以接受的程序代码。它通常包括4个阶段:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
维护时期的主要任务是使软件持久地满足用户的需要。通常包括改正性维护、适应性维护、完善性维护、预防性维护。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。
2.简述软件生命周期各个阶段的基本任务。
答:软件生命周期每个阶段的基本任务:
(1) 问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”只有清楚要解决的问题,才能够进行可行性研究,否则就是盲目的开发,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。在进行软件开发前,确切地定义问题是十分必要性,是不容忽视一个步骤。
通过与客户的沟通交流,系统分析员写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后得到客户的确认,才可以开始下一个阶段的任务。
(2)可行性研究
这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”要知道并不是所有问题都有行之有效的解决办法。实际上,很多问题很难在预定的系规模或时间内解决。如果问题没有可行性的方法解决,那么花费在这个项目上的时间、资源和经费都是无谓的浪费。
可行性研究的目的就是用最小的代价在最短的时间内确定问题是否能够解决。这就要求系统分析员必须进一步了解用户的需求,并在此基础上提出多种可能的系统实现方案,对每种方案都从技术可行性、经济可行性、社会因素可行性等方面进行分析,从而最终确定这个项目的可行性。
(3)需求分析
这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”。需求分析就是对目标系统提出完整、清晰、具体的要求,即确定目标系统必须具备哪些功能。而可行性研究没有考虑细节的问题,并没有准确地回答“系统必须做什么”的问题,所有不能代替需求分析。
用户了解他们所面对的问题,知道必须做什么,但通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样用软件实现人们的要求,但是对特定用户的具体要求并不完全清楚。因此,系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。
这个阶段还有一项重要的任务,就是用正式文档准确地记录对目标系统的需求,我们把该文档称为规格说明书(specification)。
(4)概要设计
概要设计又称为总体设计。这个阶段的基本任务是,概括地回答“如何实现目标系统?”这个问题。
首先,应该设计出实现目标系统的几种可能的方案。软件工程师应该用适当的表达工具描述每种方案,分析每种方案的优缺点,并在充分权衡各种方案的利弊的基础上,推荐一个最佳方案。此外,还应该制定出实现最佳方案的详细计划。如果客户接受所推荐的方案,则应该进一步完成下述的另一项主要任务。
概要设计的任务还包括设计程序的体系结构,也就是对程序进行模块化,确定程序由哪些模块组成以及模块间的关系。这一阶段确定了解决问题的策略、目标系统中应包含的程序以及数据库的设计。
(5)详细设计
概要设计阶段只是比较概括的方式提出了解决问题的办法。详细设计阶段的任务则是要把解法具体化,即具体解决如何实现软件系统。
同时,在这个阶段还要设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们在一个阶段写出实际的程序代码。
详细设计也称为模块设计,在
文档评论(0)