欢迎来到天天文库
浏览记录
ID:17910359
大小:644.00 KB
页数:15页
时间:2018-09-09
《软件工程课后答案(前三章)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第一章1.计算机软件的共同特点?和硬件的主要区别。软件的特点:1软件是一种逻辑实体,它具有抽象性。2软件是由开发或工程化而形成的,它没有明显的制造过程。3软件不存在磨损和老化问题。然而,它存在退化问题,设计人员必须多次维护软件。(和硬件的主要区别)4软件的开发和运行往往受到计算机系统的限制,对计算机系统有着不同程度的依赖性。5软件的开发尚未完全摆脱手工艺的方式。6软件本身是复杂的:实际问题/逻辑结构。7软件的成本相当昂贵:脑力劳动代价高。8涉及到社会因素:机构设置、体制运作及管理方式等问题,人们的观念和心理等。9完整的软件,而不能作为构件再组装成新的程序VS支持“软件复用
2、”的软件和中间件。2.软件生命周期:计算机软件,从决定进行开发到最终退役所经历的一系列步骤与过程称为软件生命周期。通常将软件生命周期划分为需求分析、规格说明、设计、实现、集成、测试、维护和退役。传统软件工程中,使用最为普遍的模型之一是“瀑布模型”。3.软件工程过程:为了获得软件产品,在软件工具的支持下由软件开发人员完成的一系列软件工程活动。1.P(Plan)软件计划及规格说明过程。规定软件的功能及其运行时的限制。2.D(Do)软件开发过程。产生满足规格说明的软件。3.C(Check)软件确认过程。确认软件能满足客户提出的要求。4.A(Action)软件演进过程。为满足客户
3、的变更要求,软件必须在使用的过程中演进。4.软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。定义阶段:集中于“做什么”:系统或信息工程,软件项目计划和需求分析。开发阶段:集中于“如何做”:软件设计,代码生成和软件测试。维护阶段:集中于“改变”:纠错、适应、增强、预防:5.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开
4、发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。b.开发的软件不通满足用户要求。c.开发的软件可维护性差。d.开发的软件可靠性差。软件危机产生的原因:软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。6.软件工程学:软件工程学的主要内容是软件开发技术和软件工程管理。软件开发技术包含软件工程方法学
5、、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。7.软件工程项目的主要的目标:付出较低的开发成本达到预期的软件功能取得较好的软件性能使开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用原则:抽象:分层次抽象,自顶向下、逐层细化信息隐蔽:黑箱,使用与实现分离模块化:逻辑上相对自主的成分,模块化有助于信息隐蔽和抽象,有助于表示复杂的系统局部化:在一个物理模块内集中逻辑上相互关联的计算机资源,保证松耦合,高内聚确定性:所有概念的表达应是确定的、无歧义的、规范的。一致性:概念、符号、术语和接口应保持一致;系统规格说明与系统行为的一致性;公
6、理系统一致性。完备性:软件系统不丢失任何重要成分,可以完全实现系统所要求的功能。可验证性:系统自顶向下、逐层分解,应遵循使系统易于检查、测试、评审的原则。9.从图1-3和图1-4中得到启示越早发现错误和问题并尽早解决,造成的损失越小,所需要的工作量越少。改进规格说明和设计技术非常重要,这不仅仅是为了能尽早地发现故障,也因为规格说明故障和设计所占所有故障的比重特别大(60%-70%)。第二章1.软件生存周期:软件产品或系统一系列相关活动的全周期。从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的过程。对软件生存周期的不同划分,形成
7、了不同的软件生命周期过程模型。2.瀑布模型:将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。特点:1)结构简单明了;2)历史较长、应用面广泛、为广大软件工作者所熟悉;3)已有与之配套的一组十分成熟的开发方法和丰富的支撑工具;4)确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是非常困难的。3.原型化瀑布模型:特点:1)设计原型化有助于开发人员评估备选的设计方案,并判断对特定问题来说哪一种方案是最好的。
此文档下载收益归作者所有