软件工程-原理、方法及应用(史济民第二版)答案
《软件工程》各章课后习题答案
《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
第 2章 -原理、方法与应用(史济民)
典型的软件生存周期
问题定义
计划时期
可行性研究 需求分析
开发时期
软件设计 编 测 码 试 维 护
5
运行时期
1、计划时期
任务
调查用户需求, 调查用户需求,分析新系统的主要目 分析开发该系统的可行性。 标,分析开发该系统的可行性。
问题定义
明确“用户需要计算机解决什么问题” 明确“用户需要计算机解决什么问题” 提出关于“系统目标与范围的说明”请用户确认。 提出关于“系统目标与范围的说明”请用户确认。
形式化开发模型
转换模型(transformational model) 净室模型(cleanroommodel)
1
2.1
定义
软件生存周期
一个软件从开始计划起,到废弃不用止, 一个软件从开始计划起,到废弃不用止,称为软 件的生存周期。 件的生存周期。 包括计划、开发与运行三个时期。 包括计划、开发与运行三个时期。 计划时期:问题定义、可行性研究 计划时期:问题定义、 开发时期:需求分析、系统设计、 开发时期:需求分析、系统设计、编码和测试 运行时期: 运行时期:系统维护阶段 划分阶段的意义:简化每一步的工作内容, 划分阶段的意义:简化每一步的工作内容,使因软件规 模增大而大大增加的软件复杂性变得 易于控制和管理。 易于控制和管理。
2
要解决的问题是什么) 问题定义 (要解决的问题是什么) 软件定义 可行性研究 该问题是否有行得通的解决办法) (该问题是否有行得通的解决办法) 系统分析) (系统分析) 目标系统必须做什么) 需求分析 (目标系统必须做什么) 怎样实现目标系统) 概要设计 (怎样实现目标系统) 系统设计 详细设计 软件生 应该怎样具体地实现这个系统) (应该怎样具体地实现这个系统) 命周期 软件开发 编码和单元测试 写出正确的容易理解、 (写出正确的容易理解、 系统实现 容易维护的程序模块) 容易维护的程序模块) 综合测试(集成测试和验收测试) 综合测试(集成测试和验收测试) 改正性维护、适应性维护、 运行维护 (改正性维护、适应性维护、 完善性维护、预防性维护) 完善性维护、预防性维护)
(完整版)软件工程课后习题答案
第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
●软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。
例如:编译软件、操作系统。
2.支撑软件支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境。
3.应用软件应用软件是特定应用领域专用的软件。
例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.3简述软件语言的分类,并举例说明。
1.需求定义语言是用于书写软件需求定义的语言。
例如:PSL/PSA。
2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。
例如:广谱语言、Z 语言。
3.设计性语言是用于书写软件设计规约的语言。
例如:PDL。
4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。
例如:C、java、PROLOG、FORTRAN、COBOL、Modula。
5.文档语言是用于书写软件文档的语言。
通常用自然语言或半形式化语言书写。
1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。
1.5简述软件工程的基本原则。
软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。
1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。
2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
软件工程课后习题(含答案)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程课后习题答案2
12
作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印
”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13
作业及解答(第4章)
14
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
1
作业及解答(第3章)
1. 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘 系统中的数据对象。
21
不能是两个分开的子系统,是相同的前台单个处理
银行储蓄系 统
存 款 单 款
率 利
利 存单 息清单
密 码
业务单据录 入
利 率
存款单
取
单
储蓄业务处理
存款单
单据输出
利 息
存单
款
存单
密码
取
利率
清
利
单
密 码
单
息
存款利 率设置
存款单据输 入
取款单 据输入
存款
取款
存单
利息清单
22
(2)机票预定系统 为了方便旅客,某航空公司拟开发一个机票预定系 统。旅行社把预定机票的旅客信息(姓名、性别、 工作单位、身份证号码、旅行时间、旅行目的地等 )输入该系统,系统为旅客安排航班,旅客在飞机 起飞前一天凭取票通知和账单交款取票,系统核对 无误即印出机票给顾客
软件工程实用教程2版课后答案
返工,如果评审不合格,则不开始下一阶段的工作。 文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶
段的任务。
3. 试说明原型模型的两种实现方案各有什么特点?各适用于什么情况? 答案要点:
2. 瀑布模型有哪些特点?对于里程碑,你有哪些认识? 答案要点:
瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件 项目按规程管理提供了便利。例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段 性的评审等。这为提高软件产品质量提供了有效保证。
瀑布模型的特点: 阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是
第三阶段:进入 20 世纪 90 年代以后,软件复用和软件构件技术正逐步成为主流软件技 术,软件工程也由此进入了新的发展阶段——构件软件工程时代。
3. 软件工程的目标是什么?如何解决多目标之间的矛盾? 答案要点:
软件工程的目标是基于软件项目目标的成功实现而提出的,主要体现在以下几方 面。
软件开发成本较低。 软件功能能够满足用户的需求。 软件性能较好。 软件可靠性高。 软件易于使用、维护和移植。 能按时完成开发任务,并及时交付使用。
4. 一般认为,只有大型项目才采用螺旋模型,其原因是什么? 答案要点: 螺旋模型增加了软件项目的风险分析,因为项目规模越大、问题越复杂,资源、成本、 进度等因素的不确定性就越大,承担项目所冒的风险也越大。人们进行风险分析与管理的目 的就是在造成危害之前及时对风险进行识别、分析、采取对策,从而消除或减少风险所造成 的损失。该模型适合于指导大型软件项目的开发,它将软件项目开发划分为制定计划、风险 分析、实施开发以及客户评估 4 类活动。在对风险进行识别和分析时,如果开发风险过大, 开发者和用户无法承受,项目有可能因此而终止。螺旋模型的优越性在于它吸收了“进化” 的概念,使得开发人员和用户对每一个演化层出现的风险均有所了解,并对此做出反应。但 使用该模型需要丰富的风险评估经验和专门知识,如果项目风险较大又未及时发现,势必造 成重大损失。实际上,对软件项目进行风险分析也需要费用,假如项目风险分析费用过高, 甚至超过了项目的开发费用,显然就不合适了。一般大型项目才有较高的风险,才有进行详 细风险分析的必要。因此这种模型比较适合大型的软件项目。
软件工程课后答案完整版
软件工程课后答案完整版软件工程是一门涉及软件开发与管理的学科,它关注着如何有效地组织、设计、开发和维护软件系统。
作为一门实践性强的学科,课后答案对于学习软件工程的学生来说非常重要。
本文将以软件工程课后答案为主题,为您提供一份完整版的答案,旨在帮助您更好地理解和掌握软件工程的知识。
一、需求分析与规格说明1. 问题描述对于任何一门软件工程课程,需求分析和规格说明都是至关重要的环节。
通过合理地分析需求,可以明确软件系统的功能需求、性能需求和用户需求,从而为后续的设计和开发工作奠定基础。
在这一部分中,我们将详细讨论问题描述、需求规格说明以及软件需求规格说明的编写步骤和技巧。
2. 答案示例问题描述:某个公司需要开发一个在线购物系统,能够满足用户浏览商品、下单购买、支付、评价等功能。
需求规格说明:该系统需要具备以下功能需求:- 用户注册登录:用户可以通过注册登录系统,建立个人账号,用于后续购物操作。
- 商品浏览:用户可以浏览系统中的商品,包括商品图片、详细介绍、价格等信息。
- 购物车管理:用户可以将感兴趣的商品加入购物车,并对购物车进行管理,如增加、删除、修改商品数量等操作。
- 订单管理:用户可以在购物车中选择商品提交订单,并进行支付操作。
- 支付功能:系统需要集成常用的支付渠道,如支付宝、微信支付等,以便用户支付订单。
- 评价功能:用户在收到商品后可以对商品进行评价,并可以查看其他用户对商品的评价。
三、软件系统设计与实现1. 系统架构设计系统架构设计是软件工程中的核心环节之一,它关注着如何将系统划分为各个模块,并确定模块之间的接口和依赖关系。
在这一部分中,我们将着重讨论系统架构设计的原则、方法以及常用的架构模式。
2. 答案示例系统架构设计的主要目标是实现系统的可扩展性、灵活性和可维护性。
在本次项目中,我们采用了经典的三层架构模式,即用户界面层、业务逻辑层和数据访问层。
- 用户界面层:负责与用户进行交互操作,接收用户输入的请求,并向用户展示系统的响应结果。
软件工程第二版答案
里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于( )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( )A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成( )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
软件工程(史济民第三版)-原理、方法及应用课后习题
软件工程(史济民第三版)-原理、方法及应用课后习题软件工程(史济民第三版)-原理、方法及应用课后习题软件工程是一门涉及软件开发和维护的学科,具有原理、方法和应用三个方面的内容。
本章将探讨史济民第三版的软件工程课后习题,包括问题分析、需求规格说明、软件设计、软件测试等方面的内容。
1. 问题分析问题分析是软件工程中的第一步,它涉及对问题的背景、需求和目标进行分析。
在史济民第三版的课后习题中,有许多问题需要进行分析和解决。
例如,习题1要求分析一个给定的场景,找出需求和问题,进而提出解决方案。
对于这类问题,我们可以采用以下的分析步骤:1. 理解问题背景和需求:阅读习题中的场景,了解涉及的业务领域和需求。
2. 识别问题:找出场景中存在的问题和挑战,例如效率低下、错误率高等。
3. 提出解决方案:基于问题的分析,提出改进措施和解决方案,例如引入自动化工具、优化算法等。
2. 需求规格说明需求规格说明是软件工程中的重要环节,它涉及对软件系统需求进行详细描述和规定。
在史济民第三版的习题中,有许多涉及需求规格的问题。
例如,习题2要求对给定的场景进行需求分析,并书写需求规格说明。
在完成这类习题时,我们可以参考以下的格式:1. 概述:对软件系统的背景和目标进行简要描述。
2. 功能需求:详细列出系统需要实现的功能和特点。
3. 非功能需求:描述与系统性能、安全性等相关的需求。
4. 约束:列出系统开发过程中需要遵守的限制条件。
3. 软件设计软件设计是软件工程中的核心环节,它涉及软件系统的整体结构和模块设计。
在史济民第三版的习题中,有许多关于软件设计的问题。
例如,习题3要求设计一个给定场景下的软件系统。
在进行软件设计时,我们可以使用以下的设计方法:1. 模块化设计:将软件系统划分为不同的模块,并设计各个模块的功能和接口。
2. 流程图和数据流图:使用图形化的工具描述软件系统的流程和数据流动。
3. 面向对象设计:基于对象和类的概念进行系统设计,强调封装、继承和多态等特性。
软件工程课后习题及其答案
软件工程习题CH1一、填空题1、软件工程需要解决的问题包括:费用、可靠性、可维护性、生产率和重用。
2、到目前为止,软件生产的发展经历了三个阶段,即程序设计、程序系统和软件工程。
3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于原理和理论,而软件工程侧重于软件系统构造。
4、软件工程有用管理科学的方法和原理进行软件生产的管理。
5、软件工程是用科学知识和技术原理来定义、开发、维护软件的一门科学。
6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。
在软件开发技术方面,主要研究开发方法、开发过程、开发工具。
在软件开发管理技术方面主要研究管理学、经济学、心理学。
7、作为一门交叉学科,软件工程具有很强的综合性,它涉及计算机科学、工程科学、管理科学、数学等领域。
8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
9、开发软件工具的主要目的是为了提高软件生产效率和改善软件的质量。
10、描述软件开发过程中各种活动如何执行的模型称为周期模型。
11、从软件工程诞生以来,已经提出了多种软件开发方法,如结构化方法、面向数据的方法、面向对象的方法,它们对软件工程及软件产业的发展起到了不可估量的作用。
12、结构化方法由结构化分析、结构化设计和结构化程序设计构成。
它是一种面向数据流的开发方法。
13、增量模型是一种非整体开发方法的模型。
软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
14、喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
软件工程-原理、方法及应用(史济民第三版)答案范文
答:以面向对象程序设计为基础。
7.软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
软件开发模型
1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。
2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?
8. DFD和CFD有什么区别?
答:
9.什么是系统的行为模型,如何建立?
答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件---系统的行为模型。
建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。
答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。
3.说明文档和复审对于软件质量的控制的作用。
答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。及时复审是保证软件质量,降低开发成本的重要措施。
-原理、方法及应用课后习题(2)
软件工程——原理、方法与应用绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢5.什么是软件工程环境?谈谈你对环境重要性的认识。
答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。
例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。
程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。
分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。
6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。
答:以面向对象程序设计为基础。
7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。
什么是软件?软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据以及有关描述程序操作和使用的文档,简而言之“软件=程序加文档”。
什么是软件工程?软件工程师一种用科学知识和技术原理来定义开发和维护计算机的一门学科。
目标:能用较低的成本来开发软件且软件的性能。
软件生存周期与软件过程1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。
2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。
软件工程课后习题参考答案
软件工程课后习题参考答案1.简述软件开发的本质答: 软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答: 实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答: 模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答: 软件开发所涉及的两大类技术为: 一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1) 必要的,该需求是用户所要求的。
2) 无歧义的,该需求只能用一种方式解释。
3) 可测的,该需求是可进行测试的。
4) 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5) 可测量的,该需求是可测量的。
需求规约的基本性质:1) 重要性和稳定性程度: 按需求的重要性和稳定性,对需求进行分级。
2) 可修改的: 在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、功能需求7、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。
P248、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件工程--课后答案
软件工程--课后答案第一章:1.1 简述软件的定义、软件的特点和软件危机的表现。
软件的定义:软件是由计算机程序、数据和文档组成的。
软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。
1.2 什么是软件工程和软件工程化?软件工程:软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。
1.3简要说明软件工程三要素与质量关注点之间的关系。
软件工程的三要素:方法、工具和过程。
关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。
1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。
软件生存周期:定义、开发、维护。
1)定义:包括问题定义、可行性研究和需求分析。
2)开发时期包括设计、编码和测试。
3)维护时期包括维护阶段。
1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。
软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。
1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。
1.8软件工程的基本原理:1)按软件生存期分为阶段制定计划并认真实施。
2) 坚持进行阶段评审。
3)坚持严格的产品控制。
4)使用现代程序设计技术。
5)明确责任,使得工作结果能够得到清楚的审查。
软件工程--理论、方法与实践课后习题答案
B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型(
)。(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型(
)。(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
(4) 形式化方法模型 项目举例:某公司开发一个汽车防抱死刹车控制系统。 选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检 验,因此适合采用形式化方法开发该系统。 阶段说明:略。
(5) 基于组件的开发模型 项目举例:某公司开发企业管理 ERP 系统,包括销售、库存、生产、财务、物流、人力资 源等部分,在系统实施过程中不同的企业具有一定的需求差异。 选用分析:企业 ERP 系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件, 因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进 行组件开发和系统集成。 阶段说明:略。
)准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
[练习题]
1.
软件与其他工程学科所产生的制品有什么根本区别?
答案要点: (1) 软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的 复杂性和不确定性导致它本身具有极高的复杂性; (2) 软件具有不可见性,它是抽象的,形式化和逻辑化的。 (3) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的 退化;
【免费下载】软件工程 原理方法及应用史济民第三版答案
软件工程-原理、方法及应用(史济民第三版)答案绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。
所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。
4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。
答:用C++开发一个软件,是校园一卡通的模块。
首先,要在编辑程序支持下在计算机中输入源程序。
然后编译程序,把源程序翻译成目标程序。
如果发现错误,就重新调入编辑程序对源程序进行修改。
编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。
编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。
离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。
软件工程实用教程(2版)-第3章-习题与参考答案-2012-3-15
《软件工程实用教程》部分习题与参考答案第3章结构化需求分析1.如何理解需求分析的任务是确定软件系统“做什么”,而不是“怎么做”?答案要点:需求分析的任务是借助当前系统的逻辑模型导出目标系统的逻辑模型。
在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。
在去掉非本质的因素后,根据用户提出的对目标系统的需求,分析当前系统与目标系统的差别,明确目标系统的范围、功能、处理步骤和数据结构,建立目标系统的逻辑模型。
需求分析阶段研究的对象是软件项目的用户要求,正确地理解需求和准确地表达需求是需求分析的关键,只有经过确切描述的软件需求才能成为软件设计的基础。
2.什么是用户需求?什么是系统需求?答案要点:用户需求是关于软件的一系列想法的集中体现,涉及软件的功能、操作方式、界面风格、用户机构的业务范围、工作流程和用户对软件应用的展望等。
因此,用户需求也就是关于软件的外界特征的规格表述。
系统需求是比用户需求更具有技术特性的需求陈述。
它是提供给开发者或用户方技术人员阅读的,并将作为软件开发人员设计系统的起点与基本依据。
系统需求需要对系统的功能、性能、数据等方面进行规格定义。
3.4.用户需求调查主要有哪些方法?答案要点:用户需求调查主要有研究资料法、问卷调查法、用户访谈和实地观察法等。
5.为什么一个系统的数据流程图一般是一套分层的数据流图?答案要点:分层的数据流图体现了分解和抽象的原则,它使人们不至于一下子陷入细节,而是有控制地逐步地了解更多的细节,这有助于理解问题。
图中顶层抽象地描述了整个系统,底层具体地画出了软件的每一个细部,中间层则是从抽象到具体的逐步过渡。
按照这样的方法,无论问题多么复杂,分析工作都可以有计划、有步骤、有条不紊地进行。
6.数据字典的作用是什么?它有哪些基本条目?答案要点:数据字典是结构化分析的另一个有力的工具。
它是为数据流程图中的每个数据流、数据存储、加工以及组成数据流或文件的数据项做出说明,没有数据字典,数据流程图就不严格。
软件工程4-史济民
--面向对象开发的优点
• 面向对象符合人类习惯的思维方式 • OO开发的优点
• 提高软件系统的可复用性 • 提高软件系统的可扩展性 • 提高软件系统的可维护性
4.2 UML简介
• Unified Modeling Language(统一建模 语言) • 近10多年来OOSE最重要的成果 • 贡献者:Grady Booch, Ivar Jacobson, Jim Rumbaugh • 中文网站
用户模型 模型 元模型 元元模型
• 下一层是上一层的基础,上一层是 下一层的实例。
3. 图和视图 • UML用模型描述系统的结构或静态特征 以及行为或动态特征。 • UML从不同的视角为系统建模,形成不 同的视图,每个视图由一组图构成,图 中包含了强调系统中某一方面的信息, 显示了系统中某一特定的方面。
属性值
书名:数学 价格:21.8
类图表示类间关系
• 关联关系 (Association)
• 类之间存在的语义上的关系 • 普通关联、递归关联、多重关联等
• 关联类
• 两个类之间的关联是多对多时,可以把该关联定义成关联类。 关联类也可以有属性、操作和其他的关联。
• 聚集关系(Aggregation)
• 特殊的关联:整体-部分
• 组合关系(Composition)
• 特殊的聚集:整体强烈拥有部分
• 泛化关系(Generalization)
• 继承
• 依赖关系(Dependency)
• 对一个类/对象的修改会影响另一个类/对象
关联关系
学生 书
姓名:string 学号:string
书名:string 价格:real
面向对象概述
对象的概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软——应 课习题件工程原理、方法与用后答案最完整版绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。
所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。
4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。
答:用C++开发一个软件,是校园一卡通的模块。
首先,要在编辑程序支持下在计算机中输入源程序。
然后编译程序,把源程序翻译成目标程序。
如果发现错误,就重新调入编辑程序对源程序进行修改。
编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。
编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。
离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。
5.什么是软件工程环境?谈谈你对环境重要性的认识。
答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。
例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。
程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。
分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。
6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。
答:以面向对象程序设计为基础。
7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。
8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?答:它是一种基于数学的开发技术,主要采用数学的方法来描述系统的性质(例如程序变换和程序验证等)。
形式化的方法加上自动化的开发环境,可能是解决这一难题的出路。
软件开发模型1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。
2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。
3.说明文档和复审对于软件质量的控制的作用。
答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。
软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。
每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。
愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。
及时复审是保证软件质量,降低开发成本的重要措施。
4.什么是快速原型法?其快速表现在哪里?答:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。
然后将原型改进,最终建立完全符合用户要求的新系统。
它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。
5.实现快速原型法的最终系统可以有几种方法?请说明并加以比较。
答:原型系统仅包括未来系统的主要功能,以及系统的重要接口。
为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。
最终系统的形成可以采用原型废弃不用,另一方法是补充修改模型获得最终系统。
方法一不包括系统的细节。
后一种方法在实际工作中,由于原型系统使用的语言往往存在效率不高等原因,除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型的过程当作帮助定义软件需求的一种手段。
6.比较增量模型和螺旋模型的特点,有什么不同和相似的地方?答:增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。
螺旋模型是一种迭代模型,每迭代一次,螺旋线就前进一周。
增量模型每个增量具有高内聚低耦合,高度的独立性。
而螺旋模型它在结合瀑布模型与快速原型的基础上还增加了风险分析。
7.为什么利用转换模型开发软件有一定难度?什么是净室软件工程?答:从理论上说,一个正确的,满足客户需要的形式化规格说明,经过一系列正确的程序变化后,可以确保得到这样一个形式化规格说明,目前还有较高的难度,同时,软件开发者很少具有实用形式化方法所需的背景知识,况且,转换模型开发软件现在还很费时和昂贵!净室基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。
8.哪些开发模型适用于面向对象的软件开发?答:构件集成模型9.比较螺旋模型和构件集成模型的异同。
答:构件集成模型利用预先对封装好的软件构件来构造应用软件系统,它融合了螺旋模型的很多特征,支持软件开发的迭代方法。
软件需求分析1.需求分析的任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎么做”?答:需求分析主要有两个任务:第一是通过对问题及其环境的理解、分析和综合建立分析模型;第二是在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。
需求分析的任务就是为了明确要开发的是一个什么样的系统,而不是去怎么去实现这个系统。
2.需求分析要经过哪些步骤?答:需求获取、需求提炼、需求描述、需求验证。
3.有哪两种主要的分析模型,它们有什么联系?答:面向对象分析模型、结构化分析模型。
前者是采用面向对象的思想进行软件需求分析的建模过程,而后者模型的核心是DD,它是设计各种数据对象的总和。
他们的模型分别起到了描述数据模型,功能模型与行为模型的作用。
4.什么是结构化分析?它的“结构化”体现在哪里?答:是使用DFD、DD、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。
5.什么是面向对象分析?其主要思想是什么?答: OOA面向对象的分析是采用面向对象的思想进行软件需求分析建模的过程.主要思想是采用面向对象的思想。
6. 需求说明(或需求规格说明书)由哪些部分组成?各部分的主要内容是什么?答:引言、信息描述、功能描述、行为描述、质量描述、接口描述、其他描述。
引言:主要叙述在文体定义阶段确定的关于软件的目标与范围,简要介绍系统背景、盖帽、软件项目约束和按考资料等。
信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等。
功能描述:对软件功能要求的说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。
行为描述:包括对系统状态变化及事件和动作的描述,据此可以检查外部事件和软件内部的控制特征。
质量描述:阐明在软件交付使用前需要进行的共更能测试和性能测试,并且规定源程序和文档应该遵守的各种标准。
接口描述:包括系统的用户界面、硬件接口、软件接口和通信接口等的说明。
其他描述:阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。
7. 为什么DFD要分层?画分层DFD要遵循哪些原则?答:大型复杂的软件系统,其DFD可能含有数百乃至数千个加工,不能设想一次就将它们全部画齐。
正确的做法是:从系统的基本模型(把整个系统看成一个加工)开始,逐层地对系统进行分解。
原则:由顶向下,逐步细化。
8. DFD和CFD有什么区别?答:9. 什么是系统的行为模型,如何建立?答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件---系统的行为模型。
建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。
10.选一个系统(例如工资处理系统、飞机订票系统、图书馆管理系统等),分别用SA方法和OOA方法对它进行分析,并给出分析模型。
答:软件设计概述1.传统软件工程把设计过程分成2步:概要设计与详细设计。
试述这2个阶段个字主要完成的任务。
答:概要设计,包括结构设计和接口设计,并编写设计文档。
详细设计,其任务是确定各个软件组件的数据结构和操作,产生描述个软件组件的详细设计文档。
为什么大型软件设计必须分成两步走?答:概要设计和详细设计是软件设计的两步,概要设计确定模块的划分,模块之间的调用关系,接口等;详细设计细分模块、数据结构等;大型系统中分两步走是必要的,概要设计确定模块划分后,详细设计可把各模块交给不同的人做详细设计,大型系统中这样的分工是比较合理的,能提高效率,做到合理分工。
2.解释下列名词:(1)模块;(2)模块化;(3)模块化设计。
答:模块是一个拥有明确定义的 、输出和特性的程序实体。
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
模块化设计是把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。
但又相互关联的模块。
3.什么是模块独立性?用什么度量?答:模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。