软件工程答案

合集下载

软件工程(期末试题及答案)

软件工程(期末试题及答案)

软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。

A. 软件需求B. 软件设计C. 软件开发D. 软件维护答案: D2. 软件需求分析的目的是()。

A. 理解用户需求B. 设计软件架构C. 编写用户手册D. 测试软件功能答案: A3. 软件开发过程中的迭代模型,不存在的是()。

A. 瀑布模型B. 敏捷开发模型C. 螺旋模型D. 喷泉模型答案: D4. 以下哪个不是软件测试的目的()。

A. 发现错误和缺陷B. 验证软件是否满足需求C. 评估软件的可靠性和质量D. 优化软件的性能答案: D5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。

A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案: D6. 软件开发生命周期中,以下哪个过程不属于()。

A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案: D7. 在软件工程中,什么是软件测试()。

A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案: C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。

A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案: D9. 软件开发中,以下哪个活动不属于软件配置管理()。

A. 版本控制B. 配置变更控制C. 缺陷管理D. 代码评审答案: D10. 以下哪个是敏捷开发的基本原则()。

A. 面对面交流胜过文档B. 完全按照计划进行C. 精确的需求分析是关键D. 严格的变更控制是必要的答案: A11. 下列哪个不属于软件配置管理的内容()。

A. 变更控制B. 版本控制C. 缺陷管理D. 运维管理12. 软件的可靠性是指()。

A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案: C13. 下列哪个不属于软件开发的7大原则()。

软件工程考试试卷答案

软件工程考试试卷答案

软件工程考试试卷答案一.选择题1、TURBO C是(D)软件·A、系统软件B、人工智能C、事务软件D、应用软件.2、计算机辅助软件工程,简称(D)A、SAB、SDC、SCD、CASE'3、在数据流图中,O(椭圆)代表(C)A、源点B、终点C、处理D、模块、4、模块聚度越高,说明模块各成分彼此结合的程度越(B)A、松散B、紧密C、无法判断D、相等、5、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以( C)维护所占维护量最小。

A、纠错性维护B、代码维护C、预防性维护D、文档维护、6、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)A、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段.7、软件测试方法,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)A、结构合理性B、软件外部功能C、程序正确性D、程序部逻輯.8、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要(D)A、软件结构B、软件过程C、软件模型D、软件模块、9、软件文档不仅是软件开发各阶段的重要依据,而且与影响软件的(B)A、可理解性B、可维护性C、可扩展性D、可移植性.10、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)A、维护时期B、计划时期C、运行时期D、开发时期,11、系统定义明确之后,应对系统的可行性进行研究。

可行性研究应包括(A)A. 软件环境可行性、技术可行性、经济可行性、社会可行性B. 经济可行性、技术可行性、操作可行性C. 经济可行性、社会可行性、系统可行性D. 经济可行性、实用性、社会可行性12、(C),则说明模块的独立性越强A、耦合越强B、扇入数越高C、耦合越弱D、扇入数越低13、面向数据结构的设计方法(JACKSON方法)是进行(B )的形式化的方法A.系统设计B、详细设计C、软件设计D、编码14、模块聚度越高,说明模块各成分彼此结合的程度越(B)。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程学试题及答案

软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。

A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。

A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。

A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。

A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。

A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。

A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。

A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。

答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。

2. 描述软件需求分析的重要性。

答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案1.简述软件开发的本质。

答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P192.简述实施软件开发的基本途径。

答:实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P193.简述何谓模型以及软件开发中所涉及的模型。

答:模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

4.简述软件开发所涉及的两大类技术。

答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。

5、简述需求与需求规约的基本性质。

答:需求的基本性质:1)必要的,该需求是用户所要求的。

2)无歧义的,该需求只能用一种方式解释。

3)可测的,该需求是可进行测试的。

4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。

5)可测量的,该需求是可测量的。

需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。

2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。

3)完整的:没有被遗漏的需求。

4)一致的:不存在互斥的需求。

6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。

P237、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

软件工程答案

软件工程答案

软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。

软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以精确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的运用没有硬件那样的机械磨损和老化问题。

1.2 简述软件的分类,并举例说明。

答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。

A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。

系统软件和详细的应用领域无关。

例如:编译程序、操作系统等。

B 支撑软件:支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境等。

C 应用软件:应用软件是特定应用领域专用的软件。

例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

1.5 简述软件工程的基本原则。

答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;其次条:接受合适的设计方法;第三条:供应高质量的工程支撑;第四条:重视软件工程的管理。

1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。

答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。

A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件和其他计算机系统元素之间的关系,进行成本估算,做出进度支配,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。

B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。

软件工程答案

软件工程答案

1. “软件危机”是指( )A. 计算机病毒的浮现B. 利用计算机进行经济犯罪活动C. 软件开辟和维护中浮现的一系列问题D. 人们过分迷恋计算机系统2. DFD 中的每一个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或者输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于 PDL 语言不正确的说法是( )A. PDL 是描述处理过程怎么做B. PDL 是只描述加工做什么C. PDL 也称为伪码D. PDL 的外层语法应符合普通程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD 图B. 程序图C. PAD 图D. SC 图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )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. 快速原型是利用原型辅助软件开辟的一种新思想,它是在研究( )的方法和技术中产生的。

软件工程基础考试题目和答案

软件工程基础考试题目和答案

软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。

答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。

答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。

答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。

答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。

答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。

需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。

2. 请简要介绍敏捷开发方法的主要特点和实践原则。

答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。

实践原则包括短迭代周期、持续反馈、自我组织和协作等。

敏捷开发方法强调快速响应变化,提高软件质量和开发效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一次作业1.什么是软件?答:计算机程序和相关文档。

2.什么是软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

3.什么是软件工程?答:软件工程是关于软件生产的各个方面的工程学科。

或者说:采用工程的概念、原理、技术和方法来开发与维护软件,或者说把经过时间考验而证明是正确的管理技术和当前能够得到的合适的开发工具结合起来开发与维护软件,这就是“软件工程”。

第二次作业说明:以下题目在考试时,可能变成填空题、也可能变成选择题、还有可能变成名词解释。

1.软件工程方法学包括了几个关键要素?答:包括了3个关键要素,即方法、工具和过程。

2.软件过程包含了那几项基本活动?答:软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;例如:填空题软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;(4) 软件维护或进化。

例如:选择题软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;(4) 软件维护或进化。

A.验证B.检查C. 软件有效性验证D. 软件有效性检查3.什么是模型?答:模型是人们认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。

第三次作业1.可行性研究包含哪几个方面?答:(1)技术可行性、(2)经济可行性、(3)操作可行性。

2.软件维护分为哪几类?答:根据软件维护的任务与性质不同,通常可将软件维护分为纠错性维护、适应性维护、完善性维护、预防性维护四类活动。

3.软件可维护性的定义是什么?答:指维护人员理解、改正软件的难易程度。

决定软件可维护性的因素有:指整个软件文档和程序的可理解性、可测试性、可修改性。

第四次作业1.原型法的基本概念是什么?答:原型法的基本概念有如下三点:(1)原型法不仅可以帮助系统分析员尽早获得更完整更准确的需求,还可以帮助设计人员验证设计方案或演进目标系统。

(2)原型法适用于需求非常不明确的系统开发。

(3)快速原型法如果使用得当,可以减少软件的总成本。

2.快速原型模型的主要优点是什么?答:快速原型的本质是用原型系统获取用户的真正需求,开发人员便可依据原型系统书写规格说明文档,根据这份文档开发出的软件可以满足用户的真实需求。

3.什么是面向数据结构方法?答:面向数据结构方法是结构化方法的变形,它着重数据结构而不是数据流。

根据需求基本上都采用顺序、选择和重复构造成分表示数据结构。

第五次作业1.面向对象分析模型的五个层次是什么?答:面向对象分析模型的五个层次是主题层、类及对象层、结构层、属性层和服务层,因此其分析步骤也是按五个层次逐步展开。

2.对象的五个特点是什么?答:对象的五个特点是:自治性;封装性;通信性;被动性(除主动对象外);暂存性。

3.为什么说对象是动态的?答:面向对象的程序由一组相关类组成,所以类是静态的,程序的执行体现为一组相互通信的对象的活动,所以对象是动态的。

第六次作业1.需求分析阶段的工作成果是产生大量的系统文档,那么文档的作用有哪些?答:文档的作用有(1)提高软件的可理解性,便于开发人员之间的沟通与交流;(2)变可见性的软件为部分可见性的文档资料,阶段性的工作成果,便于实施工程管理;(3)阶段性的审查依据;(4)便于用户或其他非开发人员熟悉该软件。

2.需求分析有哪三种方法?答:需求分析有面向功能分析、面向数据分析、面向对象分析方法。

3.需求分析阶段主要综合考虑的因素有哪些?答:需求分析阶段主要综合考虑的因素有(1)功能、(2)性能、(3)运行、(4)将来可能提出的要求。

第七次作业1.软件系统的非功能需求是什么?答:非功能需求是指那些不直接与系统具体业务功能相关的一类需求。

它们与系统的总体特性相关,如可靠性、信息安全性、响应时间和存储空间等。

2.为什么对系统来说非功能需求比功能需求更关键?答:许多非功能需求关心的是系统整体特性而不是个别的系统特性,因此,非功能需求比功能需求对系统来说更关键。

一个功能需求没有满足可能降低系统的能力,而一个非功能系统需求没有满足则可能使整个系统无法使用或者说系统的灵活性、应变能力达不到要求。

3.数据流图的作用是什么?答:数据流图的作用是用来描述系统的逻辑模型,表示信息在系统中的流动和处理情况。

4.画数据流图可采用的步骤是什么?答:画数据流图时:首先考虑数据的源点和终点(人或者作为输入/输出对象);接下来考虑处理(动词);最后考虑数据流和数据存储(名词)。

第八次作业1.什么是执行者?答:执行者是与系统交互的人或物,它代表外部实体,是一个群体概念,代表的是一类能够使用某个功能的人或物,而不是某个个体。

2.数据字典的定义是什么?答:数据字典的定义是指对数据流、数据流分量即数据元素、数据存储和处理四类元素进行定义。

3.数据字典的作用是什么?答:数据字典的作用是:(1)与数据流图配合、描述软件系统的逻辑模型;(2)阶段性文档;(3)对数据流图中除源、终点外的其余成分均进行严格的无二义的、详尽的定义。

第九次作业1.软件设计阶段的任务是什么?答:软件设计阶段的任务是对软件需求有了完整、准确、具体的理解之后,接下来的工作任务就是用软件正确地实现这些需求。

这个阶段的工作目标是产生概要设计和详细设计文档。

2.结构程序设计常见的三种结构是什么?答:结构程序设计常见的三种基本结构:顺序、循环、选择。

3.面向对象建模有哪几种?答:面向对象建模有3种:(1) 描述系统功能的功能模型;(2)描述系统数据结构的对象模型;(3)描述系统控制结构的动态模型。

即功能模型;对象模型、动态模型。

第十次作业1.对象的定义是什么?答:对象的定义是(1)从面向对象程序设计角度看对象定义:对象是具有相同状态的一组操作的集合;(2)从信息的模拟角度看对象定义:对象是对问题域某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。

也就是说,对象是对属性值和操作的封装。

(3)形式化定义:对象::=<ID,MS,DS,MI>,其中:ID是对象的标识或名字;MS是对象中的操作集合;DS是对象的数据结构;MI 是对象受理的消息名集合(即对外接口)2.面向对象方法学的主要优点是什么?答:1.与人类习惯的思维方法一致;2.稳定性好;3.可重用性好;4.较易开发大型软件产品;5.可维护性好。

3.什么是类(Class)?答:类就是对相同数据和相同操作的一组相似对象的定义,或者说,类是对具有相同属性和行为的一个或多个相似对象的描述。

第十一次作业1.提高软件可重用性的主要准则是什么?答:提高软件可重用性的主要准则是:(1)提高方法内聚;(2)减小方法的规模;(3)保持方法的一致性;(4)把策略与实现分开;(5)全面覆盖;(6)尽量不使用全局信息;(7)利用继承机制2.为什么说在软件开发工作临近结束时才补写有关的一系列文档是不符合软件工程思想的?答:文档作为软件产品的有形部分,既可作为各开发阶段的成果,又可作为评价、审查工作的主要对象,还可作为前后阶段交接的重要文字资料,这样有助于软件工程管理工作的开展,对于规范化的工作有助于保证软件各阶段的工作质量。

若最后才补文档就失去了上述的价值。

3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注释)。

你将选取哪两份文档?为什么这样选取?答:选择(a)和(b)重大修改可能追加到改动系统的需求约定和设计方案,而源程序的改动,甚至程序编制,在详细设计完成后才可进行,比起修改需求或设计方案而言要容易得多。

第十二次作业1.测试的正确定义是什么?答:测试的正确定义是“为了发现程序中的错误而执行程序的过程”。

这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试’等是完全相反的。

2.什么是黑盒测试?答:黑盒测试把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。

即只测试程序的接口信息。

适用于黑盒测试方法有:边界值分析、等价划分、错误推理。

3.计算环形复杂度。

答:流图中的区域数等于环形复杂度;流图G的环形复杂度V(G)=E-N+2,其中E是流图中边的条数,N是流图中节点数;流图G的环形复杂度V(G)=P + 1,其中P是流图中判定节点的数目。

4.调试的目标是什么?它有几种途径?答:无论采用什么方法,调试的根本目标都是寻找软件错误的原因并改正之。

这个目标是通过把系统地评估、直觉和运气组合起来实现的。

一般来说,有下列三种调试途径可以采用:·蛮干法;·回溯法;·原因排除法。

第十三次1.主程序员组的核心有几个人?其角色名称与分工是什么?答:主程序员:全面负责系统定义、设计、编码、调试、安装。

辅助程序员:协助主程序员,必要时替代主程序员(平时侧重于测试方案,分析测试结果)。

程序管理员:全部事务性工作(提交上机程序、保存运行语言、进行软件配置)。

2.什么是基线?答:在软件工程范围内,基线是软件开发的里程碑,它的标志是交付一个或多个软件配置项,这些软件配置项已经通过正式的技术复审而获得认可。

或者说,基线是软件生存期中各开发阶段的一个特定点,它标志着一个阶段的结束。

3.能力成熟度模型的组成成分是什么?答:能力成熟度模型的组成包括以下成分。

·成熟度等级(Maturity levels);·过程能力(Process Capability);·关键过程域(Key Process Areas,KPA);·目标(Goals);·公共特性(Common Features);·关键实践(Key Practices)。

4.能力成熟度的五个等级是什么?答:能力成熟度的五个等级从低到高是:初始级、可重复级、已定义级、已管理级和优化级。

第十四次1.软件重用的基本要求是什么?答:为使软构件也像硬件集成电路那样,能在构造各种各样的软件系统时方便地重复使用,就必须使它们满足下列要求。

(l)模块独立性强;(2)具有高度可塑性;(3)接口清晰、简明、可靠。

2.类构件的重用方式有哪些?答:类构件的重用方式有:(1) 实例重用;(2) 继承重用;(3) 多态重用。

3.什么是3C模型?答:描述可重用的软件构件一种理想的方式是3C模型——概念(concept)、内容(content)和语境(context)。

相关文档
最新文档