中南大学软件工程作业参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》作业参考答案
作业一答案
一、1.过程与模型工具和环境消息 2. 3
3.产品软件合同软件
4.由外至内
5.三种基本流程控制结构
6.软件危机
7.尽可能模拟人类习惯的思维方式人类认识世界 8.结构化数据
二、1.A 2.C 3.B 4.A 5.B
三、1.结构化方法:是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出
口,其基本原则是抽象和功能分解。
2.软件工具:是指为支持计算机软件的开发、维护及相关工作而研制的程序系统。
3.CASE:是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件
开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE 领域是一个应用、继承和综合的领域。
四、1.软件工程是一门工程性学科,其目标是以较少的代价获取高质量的软件,包括:付出较低的开发成
本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
2.软件文档的作用有:提高软件开发过程的能见度;提高软件开发效率;作为开发人员阶段工作成果
和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
瀑布模型是典型的文档驱动型软件开发模型,其缺点主要有:实际软件开发中,各阶段之间并非完全的自上而下线性顺序展开;在开发过程中,用户看不见系统,而只有在交付使用时系统才能和用户见面;针对需求模糊或变化的情况,瀑布模型不够灵活。
3.软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的
提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机表现在以下四个方面:
(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发
经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发
时间一再拖延。
(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。
开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开
发的软件不能满足用户的要求,因而导致开发失败。
(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不
好,运行时发现错误也很难修改,导致维护性差。
(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。
造成软件危机的原因是:
①软件的规模越来越大,结构越来越复杂。②软件开发管理困难而复杂。
③软件开发费用不断增加。④软件开发技术落后。
⑤生产方式落后。⑥开发工具落后,生产率提高缓慢。
作业二答案
一、1.数据 2.聚集组合 3.行为
4.信息流变换分析事物分析
5.深度宽度
6.聚合
7.继承对象组合 8.依赖越低 9.子系统设计消息设计
10.状态图内部动作的完成
二、1.A 2.B 3.B 4.B 5.C 6.A 7.A 8.A 9.C 10.A
三、1.多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
2.层次图:主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框间的连线表示模块之间的调
用关系。
3.建模方法:是指一整套需求规格说明的方法、技术、图形工具及其相应的软件工具的集合。
4.信息隐藏:是指在模块设计时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的
其他模块来说是不能访问的。这样,改变模块的内部过程和数据的设计不会影响到其它
模块。
5.模块:是指可单独命名的且可访问的部件。
四、1.例如成绩管理系统中,统计学生成绩便是功能性需求,而要求系统运行时最多只能使用50MB的内
存空间则为性能需求。
功能性需求往往是局部的,因而其好坏只影响系统局部行为,而性能需求往往是全局的,会因影响到整个系统。
2.模块的作用域是指模块中判定的影响范围。模块的控制域是指模块本身及其直接或间接调用的模
块。如果模块的作用域不在模块的控制域之内,在对模块进行维护时不能实现修改局部化,从而导致模块不易维护,由此模块的作用域需在控制域内。
3. UML的特点是:
(1)统一了面向对象方法的有关概念和描述方法;
(2)表达能力强,能对各种并发分布式系统进行建模,且UML还提供了扩展机制;
(3)UML专注于一种标准的建模语言,而不是一个开发过程。
4.从模块独立性来看,模块的耦合度越低,模块的独立性越强。从模块的耦合度来看,使用全局变量
传递模块之间的信息,模块之间的耦合度要比用参数传递模块间信息的耦合度大。因此,从模块独立性的角度来看,模块之间需要通过参数传递模块间的信息。