软件工程课后习题答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第一章

什么是计算机软件?软件的特点是什么?

计算机软件是指计算机系统中的程序及其文档软件的特点:

软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

软件的使用没有硬件那样的机械磨损和老化问题。

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

系统软件

系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。例如:编译软件、操作系统。

支撑软件

支撑软件是支撑软件的开发和维护的软件。例如:数据库管理系统、网络软件、软件工具、软件开发环境。

应用软件

应用软件是特定应用领域专用的软件。例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

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

需求定义语言

是用于书写软件需求定义的语言。例如:PSL/PSA。

功能性语言

是用于书写软件功能规约的语言,通常又称为功能规约语言。例如:广谱语言、Z

语言。

设计性语言

是用于书写软件设计规约的语言。例如:PDL。

实现性语言

也称为程序设计语言,是用于书写计算机程序的语言。例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

文档语言

是用于书写软件文档的语言。通常用自然语言或半形式化语言书写。

什么是软件工程?

软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

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

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

选取适宜的开发模型

必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

采用合适的设计方法

合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

提供高质量的工程支撑

软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

重视软件工程的管理

仅当软件过程予以有效管理时,才能实现有效的软件工程。

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

计算机系统工程

计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,作出进度安排,并进行可行性分析。

需求分析

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

设计

系统设计的任务是设计软件系统的体系结构,详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法。

编码

编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代

码。

测试

测试阶段的任务是发现并纠正软件中的错误和缺陷。

简述CMM的5个等级。

初始级

可重复级

已定义级

已管理级

优化级

简述CMMI的连续式模型和阶段式模型。

阶段式模型的结构类同于软件CMM,它关注组织的成熟度,CMMI-SE/SW/IPPD1.1版中有5个成熟度等级:初始的、已管理的、已定义的、定量管理的、优化的。

连续式模型关注每个过程域的能力,CMMI中包括6个过程域能力等级:未完成的、已执行的、已管理的、已定义的、定量管理的、优化的。

简述各类软件过程模型的特点。

2. 演化模型:从结构初始的原型出发,逐步将其演化成最终软件产品的过程。演化模1.瀑布模型:上一阶段的活动完成并经过评审才能开始下一阶段的活动,接受上一阶段活动的结果作为本阶段活动的输入,依据上一阶段活动的结果实施本阶段应完成的活

2. 演化模型:从结构初始的原型出发,逐步将其演化成最终软件产品的过程。演化模

型特别适用于对软件需求缺乏准确认识的情况。

3.增量模型:将软件的开发过程分为若干个日程时间交错的线性序列,融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征,特别适用于需求经常发生变化的软件开发。

原型模型:开发人员和用户在

原型模型:开发人员和用户在“原型”上达成一致,缩短了开发周期,加快了工程进度,降低成本。

螺旋模型:将原型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点,而且增加了风险分析。

喷泉模型:各个阶段没有明显的界限,开发人员可以同步进行开发,可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

基于构件的开发模型:利用预先包装的构件来构造应用系统。

形式化方法模型:易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。

个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档

个体和交互胜过过程和工具

可以工作的软件胜过

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档