2023年-软件工程课后答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2023年-软件工程课后答案.docx》由会员分享,可在线阅读,更多相关《2023年-软件工程课后答案.docx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程第一章作业1.1 什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。软件的特点是:A软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进 度难以准确得估算;B软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功, 只需复制即可,但其维护的工作量大;C软件的使用没有硬件那样的机械磨损和老化问题。1.2 简述软件的分类,并举例说明。答:在计算机科学技术百科全书中,将软件分为系统软件、支撑 软件和应用软件3类。A系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他 软件一般都通过系统软件发挥作用。系统软件与具体的应用领域无 关。例如:编译程序、操作
2、系统等。B支撑软件:支撑软件是支撑软件的开发和维护的软件。例如:数据 库管理系统、网络软件、软件工具、软件开发环境等。C应用软件:应用软件是特定应用领域专用的软件。例如:工程/科 学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能 软件。系统分析师由于必须保证分析的准确性,尤其是需求,所以责任 更为重大。一般来说,不应以用户表述不明确,无法得到需求,或者 用户需求变化太多太快作为借口,更不能因为下面的研发技术人员技 术水平不如自己而责备研发技术人员,同时也需要能够为保证企业利益而说服公司领导做出正确的决策;(2 )钻研精神IT行业不同于其他行业,新理念新技术新方法层出不穷,系统分析师
3、 需要能够适时适当地引进新理念新技术新方法,为企业提高生产效 率,为员工降低劳动强度,为客户提供更具竞争力和更加实用的产品 和服务;(3)优秀的协商谈判能力复杂的系统有许多项目相关的人员,他们之间的需求必定会出现 冲突,协商的过程就是讨论需求,找出每个人都满意的折衷方案。分 析人员是参与这之中的重要一份子,需要协调这之中的各方利益,这 就要求分析员必须要有优秀的协商谈判能力。(4)广泛的知识面:除了具备基本的IT技能、知识外,需要广泛涉猎其他行业其他学科的知识方法以系统工程的理念借鉴和利用其他行业的为IT行 业所用,也可以把IT行业的理念应用到其他行业;(5)精湛的技术能力:系统分析员往往需要
4、分析可行性和解决研发人员的技术问题,因此必须具备广泛的技术涉猎面和较强的技术能力;(6)财务能力:系统分析员往往需要参与项目的招投标分析,为了保证企业的利 润和客户的利益,必须进行财务核算,需要具备会计、财务,成本计 算等方面的能力;(7 )司法能力:与其他大部分行业一样T行业也受到法律的约束,任何活动必 须合情合理合法,任何违背法律的项目最终都会失败,违背伦理道德 的事和人最终都将失去人心。(8)超强超快的学习能力:IT行业新技术层出不穷,同时其他相关必备知识、业务知识也 是瞬息万变,系统分析师要能够快速学习并快速掌握和灵活应用;(9)敏锐的观察力:由于IT行业项目的特殊性,项目复杂多变,系
5、统分析师要能够 先于其他人员发现问题、发现隐患,并提前做出规避风险的策略。3.4 列出在制定需求获取策略时的3种主要考虑因素。答:(1 )能否建立起顺畅的通讯途径;(2)是否能够获取用户对系 统的功能需求和非功能需求;(3 )是否利于在可运行系统时的管理要 求。3.6 举例说明一个系统的3个不同类型的非功能需求答:非功能性需求是指软件产品为满足用户业务需求而必须具有且除 功能需求以外的特性。软件产品的非功能性需求包括系统的性能、可 靠性、可维护性、可扩充性和对技术和对业务的适应性等。例如在银 行管理系统中,由于银行数据量的庞大以及对银行账户的管理需求, 用户对系统的性能、可靠性、可维护性要求很
6、高。安全性是对银行用 户个人信息保密的基本要求;在使用系统时,由于用户庞大,要求能 快速安全的执行要求,这就对系统的性能有高需求;银行的用户的变 动比较大,需求高要求的系统维护。3.8 软件需求分析的操作性原则和需求工程的指导性原则是什么?答:(1)必须能够表示和理解问题的信息域;(2)必须能够定义软件将完成的功能;(3 )必须划分描述数据、功能和行为的模型,从而可以分层次 地揭示细节;(4)分析过程应该从要素信息移向细节信息3.9 软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一 个需求规约。答:软件需求规约包括:引言、信息描述、功能描述、行为描述、检验标准、参考书目、附录。3.10
7、 需求验证应该有哪些人参加?画出一个过程模型,说明需求评 审应该如何组织。答:参与人员:分析人员,用户,开发部门的管理者,软件设计、实 现、测试的人员。需求分析系统需求4.1 简述软件设计阶段的基本任务软件设计的输入是软件分析模型。使用一种设计方法,软件分析模型中通过数据、功能和行为模型所展示的软件需求的信息被传送给 设计阶段,产生数据/类设计、体系结构设计、接口设计、部件及设 计。令数据/类设计将分析类模型变换成类的实现和软件实现所需要的数据结构。令体系结构设计定义了软件的整体结构,由软件部件、外部可见的 属性和他们之间的关系组成。令接口设计描述了软件内部、软件和协作系统之间以及软件同人之
8、间的通信方式。部件级设计将软件体系结构的结构性元素变换为对软件部件的过 程性描述。4.2 软件设计与质量的关系是怎么样的?设计是在软件开发中形成质量的阶段,设计提供了可以用于质量 评估的软件表示,是将用户需求准确的转化为完整的软件产品或系统 的主要途径。4.4 简述模块、模块化及模块化设计的概念。在软件工程中模块是数据说明、可执行语句等程序对象的集合, 具有名字、参数、功能等外部特征以及完成模块功能的程序代码和模 块内部数据等内部特征。模块化,即把软件按照规定原则,划分为一个个较小的,相互独 立的但又相互关联的部件,实际上是系统分解和抽象的过程。模块化设计,简单地说就是程序的编写不是开始就逐条
9、录入计算 机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的 主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输 出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描 述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块 化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护 等操作简单化。4.6 耦合和软件可移植性的概念有何关系?举例说明自己的结论。所谓耦合性是指模块之间联系的紧密程度的一种度量,而软件的“可移植性是指将一个软件系统从一个计算机系统或环境移 植到另一个计算机系统或环境中运行时所需工作量的大小。可移植性 是用一组子特性,包括简明性、模块
10、独立性、通用性、可扩充性、硬 件独立性和软件系统独立性等,来衡量的。如果一个软件具有可移植 性,它必然耦合性低,这样模块独立性要强。例如,有一个图形处理 软件,它应具有二维几何图形处理、三维几何图形处理、图形显示、外设控制、数据库管理、用户界面控制、设计分析等模块。如果这些 模块之间都是通过参数表来传递信息,那么它们之间的的耦合就是数 据耦合或标记耦合等,都是低耦合。将来如果想要把它们移植到另一 个外部环境中,这些模块容易修改(功能内聚),且接口清晰,修改 可局部化。反言之,如果这些模块都是功能内聚或信息内聚的模块, 模块之间的耦合都是低耦合,也对可移植性有促进。但不能讲具有低 耦合性模块结构
11、的软件一定具有可移植性,因为是否具有可移植性还 有其它因素的影响。4.7 用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是透明的。隐藏的意思是,有效的模块化通过定义一组相互独立的模块来实 现,这些独立的模块彼此之间仅仅交换那些为了完成系统功能所必需 的信息,而将那些自身的实现细节与数据”隐藏起来。信息隐蔽为 软件系统的修改、测试及以后的维护都带来好处。通过抽象,可以 确定组成软件的过程实体。通过信息隐藏,可以定义和实施对模块的 过程细节和局部数据结构的存取限制。模
12、块独立的概念是模块化、抽 象、信息隐藏和局部化概念的直接结果。开发具有独立功能而且和其 他模块之间没有过多的相互作用的模块,就可以做到模块独立。4.8 什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点?(1)模块的独立性是模块化、信息隐藏和局部化等概念的直接 结果。(2 )模块的独立性是很重要的:第一,功能被划分,并且接口被简 化,所以具有有效模块化的软件易于开发。第二,由于因设计 和编码修改引起的副作用受到局限,错误传播被减小,并且模 块复用成为可能,所以独立的模块更易于维护和测试。总的来 说,模块独立是良好设计的关键,从而又是保证软件质量的关 键。(3 )用内
13、聚度与耦合度来度量独立性。内聚度度量同一个模块内部 各个元素彼此结合的紧密程度,耦合度度量不同模块彼此间相 互以来的紧密程度。(4 )模块功能独立的优点:系统容易开发,系统可靠性高,系统易 于维护,软件结构清晰。4.9软件设计规约主要包括哪些内容?1 .工作范围2 .体系结构设计3 .数据设计4 .接口设计5 .各部件的过程设计6 .运行设计7 .出错处理设计8 .安全保密设计9 .需求/设计交叉索引10 .测试部分11 .特殊注解12 .附录第5章结构化分析与设计5.1 简述数据流图的主要思想,概述使用数据流图迸行需求分析的过程。数据流图(DFD苗述输入数据流到输出数据流的变换(即加工),用
14、于对系统的功能建模。数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角 度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可 以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细 节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模 的机制,从而可以建立起系统或软件的功能模型。数据流图进行需求分析的过程:1 )画出系统的输入和输出2 )画出系统内部3 )画出加工内部4)重复第三步,直至每个尚未分解的加工都足够简单(即不 必再分解)5.2 分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。1)父图和子图平衡2)数据守恒3)局部文件4)一
15、个加工的输入数据流不能与该加工的输入数据流同名5)每个加工至少有一个输入数据流和一个输出数据流。6)在整套分层数据流中,每个文件应至少有一个加工读该文件, 有另一个加工写该文件。7 )分层数据流图中得每个数据流和文件都必须命名(除了流入或 流出文件的数据流),并且与数据字典一致。8 )分层DFD中的每个基本加工(即不再分解子图的加工)都应 有一个加工规约。5.4在数据流中,可否将两个加工用一个数据流相连?可否将两个源用一个数据流相连?为什么?两个加工可以直接用数据流相连,两个源不能直接用数据流相 连。因为数据流由一组固定成分的数据组成。在DFD中,数据流的 流向可以有以下几种:从一个加工流向另
16、一个加工,从加工流向文件 (写文件),从文件流向加工(读文件),从源流向加工,从加工流向 宿。5.7采用结构化分析方法写出书店管理系统的需求文档,包括数据1.4 什么是软件工程?答:在计算机科学技术百科全书中软件工程是应用计算机科学、 数学及管理科学等原理,开发软件的工程。1.5 简述软件工程的基本原则。答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;第二条:采用合适的设计方法;第三条:提供高质量的工程支撑;第四条:重视软件工程的管理。1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。答:软件生存周期有计算机系统工程、需求分析、设
17、计、编码、测试、 运行和维护6个阶段。A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及 该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度 安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发 的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选 择。B需求分析主要解决待开发软件要做什么的问题,确定软件的功 流图及数据字典。看到这个题目,我想起了以前自己也在手机端 Android平台写了一个书店的管理系统,不过那个时候根本没有什么 需求分析,只是自己一厢情愿的模拟了一个简单的流程。也没有采用 什么结构化分析方法,就仅仅描述了几个对象及其功能。所以我觉得 可
18、以对照着新学的软件工程的知识运用到自己的实际项目中去, 同时也可以完成这道相识的题目。下图就是以前的功能结构图:还有一些程序运行的界面:混08:31(3 08:38返回注册2011年8月30日账号请输入账号|I收入总额:40001200密码请输入密码姓名I 支出总额: 预算余额:2800请输入姓名0 备注请输入备注管理员账号,需要权限密码今天销售利润清空注册国本月销售利润本季度销售利润购买的商品:返回清单9 15:03138扫描收银找零实收As wS汉不129787115139238数据结构9787111291954ANDROID应用开发揭秘69 9787111291954ANDROID应用开
19、发揭秘20 69 58 3 6787542194384建模语言,9787111291954ANDROID应用开发揭秘4895103600303飞鹿活络油6922014508119画规利用结构化方法分析:1、数据流程图第一,存书分数据流存书情况进货信息已售信息图书销售登记表存书销售信息销售信息会员信息会员信息管理员会员信息第四,会员分数据流图:会员 信息 登记 表会员信息登记 销售已售信息图书销售登记表进货信息进销售il查询进货信息进货信息新书列不2、数据字典存书数据字典:属性名类型长度备注书号char10书的编号书名char30书的名称作者char20书的写作者类型char20书的类型简述ch
20、ar150书的简单介绍单价smallmoney4书的价格现存数量int4店内的现有存书数量店内位置char20书在店内的具体位置出版社号char10出版社的编号特价书char2是否为特价书(缺省值是否)出版社数据字典:属性名类型长度备注出版社号char10出版社的编号出版社名称char20出版社的名称所在城市char10出版社所在的城市电话char15出版社的联系电话进货数据字典:属性名类型长度备注书号char10书的编号进价smallmoney4书的进价进货数量int4每本书的进货数量日期datetime8进货的日期销售数据字典:属性名类型长度备注日期datetime8售货的日期书号char
21、10书的编号销售量int4售出的书本数量销售金额money8销售金额=(单价* 销售量)会员信息数据字典:属性名类型长度备注客服号char8会员卡的卡号姓名char20会员的姓名地址char50会员的家庭住址电话char15会员的电话号码购买书号char10书的编号店内收出数据字典:属性名长度备注月份6水电支出4水电费用能、性能、数据、界面等要求,生成软件需求规约。C软件设计只要解决待开发软件怎么做的问题。软件设计通常可 分为系统设计和详细设计。系统设计的任务是设计软件系统的体系结 构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接 和通信,同时设计全局数据结构。详细设计的任务是设计
22、各个组成成 分的实现细节,包括局部数据结构和算法等。D编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执 行的程序代码。E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括 单元测试、集成测试、确认测试和系统测试。F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运 行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功 能或使软件适应外界环境的变化等情况出现时,对软件进行修改。1.9简述各类软件过程模型的特点。答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型 模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型 等。A瀑布模型中,上一阶段的活
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件工程 课后 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内