软件设计与体系结构作业

上传人:re****.1 文档编号:480224605 上传时间:2023-10-10 格式:DOC 页数:3 大小:21.01KB
返回 下载 相关 举报
软件设计与体系结构作业_第1页
第1页 / 共3页
软件设计与体系结构作业_第2页
第2页 / 共3页
软件设计与体系结构作业_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件设计与体系结构作业》由会员分享,可在线阅读,更多相关《软件设计与体系结构作业(3页珍藏版)》请在金锄头文库上搜索。

1、习题一1. 什么是软件工程?构成软件工程的要素是什么?答:(1)软件工程是将系统的,规范的,可度量的方法应用于软件的开发、运行和维护过程,以及对上述方法的研究。 (2)软件工程是用工程、科学和数学的原则与方法,研制、维护计算机软件的有关技术及管理方法。构成软件工程的要素:方法、工具和过程。2叙述软件工程中可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性和可追踪性等概念的含义,并指明这些概念的重要性。答:(1)可修改性:容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,但度量起来比较困难。(2)有效性:软件系统能最有效地利用计算机的时间资源和空间资源,一

2、般将系统的时/空开销作为衡量软件质量的一项重要技术指标。(3)可靠性:软件在给定环境和时间下不会发生故障的概率。(4)可理解性:系统具有清晰的结构,能直接反映问题的需求。可立即诶系那个有助于控制软件系统的复杂性,并支持软件的维护、移植或复用。(5)可维护性:软件产品交付用户使用后,能够方便地对它进行修改,以改正潜在的错误以及改进性能和其他属性,使软件产品适应环境的变化等。软件的可理解性和可修改性有利于软件的可维护性。(6)可复用性:概念或功能相对独立的一个或一组相关模块定义为一个软部件,软部件可以在多种场合应用的程序称为部件的可复用性。可复用性有助于提高软件产品的质量和开发效率,有助于降低软件

3、的开发和维护费用。(7)可适应性:可适应性是指软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件较容易推广和使用。(8)可移植性:可移植性是指软件从一个计算机系统或环境移植到另一个计算机系统或环境的难易程度。可移植性支持软件的可复用性和可适应性。(9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件可追踪性依赖于软件开发各个阶段文档和程序的完整性、一致性、可理解性,降低系统的复杂性会提高软件的可追踪性。上述的软件开发目标适用于所有的软件系统开发。3 试列举两个大型应用系统的实例,说明软件在该系统中所起的关键作用以及

4、软件质量对系统成败的影响。答:(1)火车票余票查询系统,软件在该系统中所起的关键作用是能够在电脑上运行的电脑程序,软件质量好,人们可以在网上查到最新的消息,尽快顶到火车票,若软件质量差那可能会不能更新最新消息,使人们不能正确订票,查票,影响人们该系统的使用率。 (2)腾讯QQ,软件在该系统中所起的关键作用是不仅能在不同电脑上登录,还能在不同手机上登录。软件质量的好坏会影响用户的使用率和评价度。习题二4.什么是软件生存周期?软件开发过程模型与生存周期之间是何关系?答:按照在软件生命周期过程中应完成的任务的性质,在概念上可以把软件生命周期划分成定义、可行性研究、需求分析、总体设计、详细设计、编码和

5、单元测试、综合测试以及运行维护等8个阶段。实际从事软件开发工作时,软件规模、种类、开发环境及使用的技术方法等因素,都影响各阶段的划分。 软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。由于没有适用所有软件项目的任务集合,科学、有效的软件过程应该定义一组适合所承担的项目特点的任务集合。通常使用软件过程模型简洁地描述软件过程,它规定了把软件生命周期划分成的阶段及各个阶段的顺序。5查询有关参考文献,给出两种在本章中未列举出来的软件开发过程模型并进行描述。答:喷泉模型:(以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目)。它认为软

6、件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。相互迭代:软件的摸个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙:它在各项活动之间没有明显边界(如分析和设计活动之间)。优点:1) 可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程不便之处:1)由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。2)这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况增量模型:(采用随着日程时间的进展而交错的线性序列,每一个线性徐磊产生软件的一个可发布的“增量”,第一个增量

7、往往就是核心的产品)。与其他模型共同之处:它与原型实现模型和其他演化方法一样,本质都是迭代。与原型实现模型不同之处:它强调每一个增量均发布一个可操作产品,(它不需要等到所有需求都出来,只要摸个需求的增量包出来即可进行开发)。优点:1) 人员分配灵活,一开始不需要投入大量人力资源2) 当配备人员不能在限定的时间内完成产品时,它可以提供一种先推出核心产品的途径,可现发布部分功能给用户(对用户起镇静作用)3) 增量能够有计划的管理技术风险缺点:1) 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析。6. 简单叙述软件设计在软件工程中所处的位置和重要性。答:1.软件设计是对软件需求的直接

8、体现。2.软件设计为软件实现提供直接依据。3.软件设计将综合考虑软件系统的各种约束条件并给出相应解决方案。4.软件设计的质量将决定最终软件系统的质量。5.及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。习题三1. 简述UML的特点和用途。答:UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点,使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和实现模型。(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概

9、念、符号表示和约束。(3)独立于实现语言和方法学,但支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。(4)独立于任何开发过程,但支持软件开发全过程。(5)提供对建模语言进行理解的形式化基础,用元素型描述基本语义,OCL描述良定义规则,自然语言描述动态语义。(6)增强面向对象工具之间的互操作性,便于不同系统间的集成。UML的目标是以面向对象方式描述任何类型的系统,具有广泛的应用领域。UML最常用于建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程、处理复杂数据的信息系统、具有实时要求的工业系统或工业过程、甚至数字电路等。2. 在面向对象开发方法

10、中,对象、类、继承、聚集、多态、消息等概念分别指什么?答:(1)对象。对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。属性表示对象的性质,属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务。 (2)类。类是某些对象的共同特征(属性和操作)的表示。对象是类的实例,类是对象创建的模板。 (3)继承。类之间的继承关系是实现现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。子类也可以具有自己独有的属性和操作。 (4)聚集。除遗传关系外,现实世界中还普遍存在着部分-整体关系。这种关系在面向对象方法学中表示为类之间的聚集关系。在聚集关系下,部分类的对象是整体类对象的一个组成部分。 (5)多态。多态指父类及其子类中,对外接口的定义形式相同,却可以对应多种接口的实现形态。 (6)消息。消息传递是对象与其外部世界相互关联的唯一途径。3.与传统开发方法相比,面向对象开发方法有何优势?答:相对于传统的结构化方法和面向数据的方法,面向对象方法拥有以下优势:(1) 简化软件开发过程。(2) 支持软件复用。(3) 改善软件结构。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号