软件工程课后答案41853.docx





《软件工程课后答案41853.docx》由会员分享,可在线阅读,更多相关《软件工程课后答案41853.docx(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件件指计算机系系统中的程序序及其文档。软件的特点是:A 软件是一种种逻辑实体,而而不是有形的的系统元件,其其开发成本和和进度难以准准确得估算;B 软件是被开开发的或被设设计的,没有有明显的制造造过程,一旦旦开发成功,只只需复制即可可,但其维护护的工作量大大;C 软件的使用用没有硬件那那样的机械磨磨损和老化问问题。1.2 简述软软件的分类,并并举例说明。答:在计算机机科学技术百百科全书中中,将软件分分为系统软件件、支撑软件件和应用软件件3类。A 系统软件:系统软件居居于计算机系系统中最靠近近硬件的一层层,其他软件件一般都通过
2、过系统软件发发挥作用。系系统软件与具具体的应用领领域无关。例例如:编译程程序、操作系系统等。B 支撑软件:支撑软件是是支撑软件的的开发和维护护的软件。例例如:数据库库管理系统、网网络软件、软软件工具、软软件开发环境境等。C 应用软件:应用软件是是特定应用领领域专用的软软件。例如:工程/科学学计算软件、嵌嵌入式软件、产产品线软件、WWeb应用软软件、人工智智能软件。1.4 什么是是软件工程?答:在计算机机科学技术百百科全书中中软件工程是是应用计算机机科学、数学学及管理科学学等原理,开开发软件的工工程。1.5 简述软软件工程的基基本原则。答:软件工程原原则包括围绕绕工程设计、工工程支持和工工程管理
3、提出出的以下4条条基本原则:第一条:围绕适适宜的开发模模型;第二条:采用合合适的设计方方法;第三条:提供高高质量的工程程支撑;第四条:重视软软件工程的管管理。1.6 软件生生存周期分哪哪几个阶段?分别简述各各个阶段的任任务。答:软件生存周周期有计算机机系统工程、需需求分析、设设计、编码、测测试、运行和和维护6个阶阶段。A计算机系统工工程的任务是是确定待开发发软件的总体体要求和范围围,以及该软软件与其他计计算机系统元元素之间的关关系,进行成成本估算,做做出进度安排排,并进行可可行性分析,即即从经济、技技术、法律等等方面分析待待开发的软件件是否有可行行的解决方案案,并在若干干个可行的解解决方案中做
4、做出选择。B需求分析主要要解决待开发发软件要“做什么”的问题,确确定软件的功功能、性能、数数据、界面等等要求,生成成软件需求规规约。C软件设计只要要解决待开发发软件“怎么做”的问题。软软件设计通常常可分为系统统设计和详细细设计。系统统设计的任务务是设计软件件系统的体系系结构,包括括软件系统的的组成成分、各各成分的功能能和接口、成成分间的连接接和通信,同同时设计全局局数据结构。详详细设计的任任务是设计各各个组成成分分的实现细节节,包括局部部数据结构和和算法等。D编码阶段的任任务是用某种种程序设计语语言,将设计计的结果转换换为可执行的的程序代码。E测试阶段的任任务是发现并并纠正软件中中的错误和缺缺
5、陷。测试主主要包括单元元测试、集成成测试、确认认测试和系统统测试。F软件完成各种种测试后就可可交付使用,在在软件运行期期间,需对投投入运行的软软件进行维护护,即可发现现了软件中潜潜藏的错误或或需要增加新新的功能或使使软件适应外外界环境的变变化等情况出出现时,对软软件进行修改改。1.9 简述各各类软件过程程模型的特点点。答:典型的软件件过程模型有有:瀑布模型型、演化模型型(增量模型型、原型模型型、螺旋模型型)、喷泉模模型、基于构构件的开发模模型和形式方方法模型等。A瀑布模型中,上上一阶段的活活动完成并经经过评审后才才能开始下一一阶段的活动动,其特征是是:接受上一阶段活活动的结果作作为本阶段活活动
6、的输入;依据上一阶段活活动的结果实实施本阶段应应完成的活动动;对本阶段的活动动进行评审;将本阶段活动的的结果作为输输出。B增量模型将软软件的开发过过程分成若干干个日程时间间交错的线性性序列,每个个线性序列产产生软件的一一个可发布的的增量版本,后后一个版本是是对前一个版版本的修改和和补充,重复复增量发布的的过程,直至至产生最终的的完善产品。C原型模型从软软件工程师与与客户的交流流开始,其目目的是定义软软件的总体目目标,标识需需求。然后快快速制定原型型开发的计划划,确定原型型的目标和范范围,采用快快速设计的方方式对其建模模,并构建模模型。被开发发的原型应交交付给客户使使用,并收集集客户的反馈馈意见
7、,这些些反馈意见可可在下一轮迭迭代中对原型型进行改进。在在前一个原型型需要改进,或或者需要扩展展其范围的时时候,进入下下一轮原型的的迭代开发。D螺旋模型将原原型模型实现现的迭代特征征与瀑布模型型中控制的和和系统化的方方面结合起来来,不仅体现现了这两种模模型的优点而而且还增加了了风险分析。E喷泉模型是一一种支持面向向对象开发的的过程模型。类类及对象是面面向对象方法法中的基本成成分。在分析析阶段,标识识类及对象,定定义类之间的的关系,建立立对象-关系系模型和对象象-行为模型型。在设计阶阶段,从实现现的角度对分分析模型进行行调整和扩充充。在编码阶阶段,用面向向对象语言实实现类及对象象,通过消息息机制
8、实现对对象之间的通通信,完成软软件的功能。在在面向对象方方法中,分析析模型和设计计模型采用相相同的符号表表示体系,开开发的各个活活动没有明显显的边界,各各个活动经常常重复,迭代代地交替进行行。F基于构件的开开发模型,基基于构件的开开发是指利用用预先包装的的构建来构造造应用系统。构构件可以是组组织内部开发发的构建,也也可以是商业业化的、现存存的软件构件件。G形式化方法是是建立在严格格数学基础上上的一种软件件开发方法。软软件开发的全全过程中,从从需求分析、规规约、设计、编编程、系统集集成、测试、文文档生成,直直至维护等各各个阶段,凡凡是采用严格格的数学语言言,具有精确确的数学语义义的方法,都都称为
9、形式化化方法。形式式化方法用严严格的数学语语言和语义描描述功能和设设计规约,通通过数学的分分析和推导,易易于发现需求求的歧义性、不不完整性和不不一致性,易易于对分析模模型、设计模模型和程序进进行验证。通通过数学的演演算,使得从从形式化功能能规约到形式式化设计规约约,以及从形形式化设计规规约到程序代代码转换成为为可能。1.10 敏捷捷软件开发的的特点是什么么?答:敏捷软件开开发的特点有有4个:A个人和交互高高于过程和工工具;B可运行软件高高于详尽的文文档;C与客户协作高高于合同谈判判;D对变更及时做做出反应高于于遵循计划。1.12 简述述敏捷软件开开发的原则。答:敏捷软件开开发必须遵循循的12条
10、原原则如下;A最优先的是通通过尽早地和和不断地提交交有价值的软软件来使客户户满意;B欢迎变化的需需求,即使该该变化出现在在开发的后期期,为了提升升对客户的竞竞争优势,AAgile过过程利用变化化作为动力;C以几周到几个个月为周期,尽尽快、不断地地发布可运行行软件;D在整个项目过过程中,业务务人员和开发发人员必须天天天一起工作作;E以积极向上的的员工为中心心建立项目组组,给予他们们所需要的环环境和支持,对对他们的工作作予以充分的的信任;F项目组内效率率最高、最有有效的信息传传递方式是面面对面的交流流;G测量项目进展展的首要依据据是可运行的的软件;H敏捷过程提倡倡可持续的开开发,项目发发起者、开发
11、发者和用户应应能长期保持持恒定的速度度;I应该时刻关注注技术上的精精益求精和好好的设计,以以增强敏捷性性;J简单化是必不不可少的,这这是尽可能减减少不必要工工作的艺术;K最好的构架、需需求和设计出出自于自我组组织的团队;L团队要定期反反思怎样才能能更加有效,并并据此调整自自己的行为。第2、3章2.1简述系统统工程的任务务。答:系统工程是是一个问题求求解的活动,其其目的是分析析基于计算机机的系统的功功能、性能等等要求,并把把它们分配到到基于计算机机系统的各个个系统元素中中,确定它们们的约束条件件和接口。主主要任务包括括:(1)识识别用户要求求;(2)系系统建模与模模拟;(3)成成本估算及进进度安
12、排;(44)可行性分分析;(5)生生成系统规格格说明。2.2基于计算算机的系统由由哪些元素组组成?答:组成基于计计算机系统的的元素主要有有:软件、硬硬件、人员、数数据库、文档档和规程。2.3简述可行行性分析的任任务。答:可行性分析析主要从经济济、技术、法法律等方面分分析所给出的的解决方案是是否可行,能能否在规定的的资源和时间间的约束下完完成。(1)经济可行行性主要进行行成本效益分分析,从经济济角度,确定定系统是否值值得开发。包包括成本、效效益、货币的的时间价值、投投资回收期和和纯收入。(2)技术可行行性主要根据据系统的功能能、性能、约约束条件等,分分析在现有资资源和技术条条件下系统能能否实现。
13、技技术可行性分分析通常包括括风险分析、资资源分析和技技术分析。(3)法律可行行性主要研究究系统开发过过程中可能涉涉及到的合同同、侵权、责责任以及各种种与法律相抵抵触的问题。3.1需求工程程的重要性是是什么?举出出身边由于需需求分析失败败而造成整个个项目失败的的例子。答:重要性是应应用已证实有有效的技术、方方法进行需求求分析,确定定客户需求、帮帮助分析人员员理解问题,评评估可行性,协协商合理的解解决方案,无无歧视地规约约方案,确认认规约以及将将规约转换到到可行性的系系统时的管理理要求,通过过合理的工具具和符号系统统地描述待开开发系统以及及其行为特征征和相关约束束,形成需求求文档,并对对用户不断变
14、变化的需求演演进给予支持持。因需求分分析失败而造造成项目失败败例子如下:项目名称:邮政政资信管理系系统项目功能:管理理邮政方面业业务的监督和和管理,提高高邮政的服务务效率。失败原因:需求求分析不足,需需求内容不明明确,把握不不充分。3.2需求工程程具体包括哪哪些步骤?每每个步骤的具具体任务是什什么?答:需求工程具具体步骤包括括:需求获取取、需求分析析与协商、系系统建模、需需求规约、需需求验证以及及需求管理六六个步骤。(1) 需求获取在需求获取阶段段系统分析人人员通过与用用户的交流、对对现有系统的的观察以及对对任务进行分分析,确定系系统或产品范范围的限制性性描述、与系系统或产品有有关的人员及及特
15、征列表、系系统的技术环环境的描述、系系统功能的列列表以及应用用于每个需求求的领域限制制、一组描述述不同运行条条件下系统或或产品使用状状况的应用场场景以及为更更好地定义需需求而开发的的原型。需求求获取的工作作产品为进行行需求分析提提供了基础。(2) 需求分析与协商商此阶段的任务是是对需求进行行分类组织,分分析每个需求求与其他需求求的关系以检检查需求的一一致性、重叠叠和遗漏的情情况,并根据据用户的需要要对需求进行行排序。(3)系统建模模系统建模是为了了在用户和系系统分析人员员之间建立统统一的语言和和理解的桥梁梁,系统分析析人员借助建建模技术对获获取的需求信信息进行分析析,排除错误误和弥补不足足,确
16、保需求求分析文档正正确反映用户户的真实意图图。(4)需求规约约软件需求规约是是分析任务的的最终产物,通通过建立完整整的信息描述述、详细的功功能和行为描描述、性能和和设计约束的的说明、合适适的验收标准准,给出对目目标软件的各各种需求。需需求规约作为为用户和开发发者之间的一一个协议,在在之后的软件件工程各个阶阶段发挥重要要作用。(5)需求验证证此阶段的任务是是对功能的正正确性、完整整性和清晰性性,以及其他他需求给予评评价,保证软软件需求定义义的质量。(6)需求管理理软件需求管理是是对需求工程程所有相关活活动的规划和和控制。换句句话说,需求求管理就是:一种获取、组组织并记录系系统需求的系系统化方案,
17、以以及一个使用用户与项目团团队对不断变变更的系统需需求达成并保保持一致的过过程。3.3一个系统统分析员应该该具备哪些思思想素质和基基础知识?请请说明理由。答:(1)强烈烈的责任心和和事业心系统分析师由于于必须保证分分析的准确性性,尤其是需需求,所以责责任更为重大大。一般来说说,不应以用用户表述不明明确,无法得得到需求,或或者用户需求求变化太多太太快作为借口口,更不能因因为下面的研研发技术人员员技术水平不不如自己而责责备研发技术术人员,同时时也需要能够够为保证企业业利益而说服服公司领导做做出正确的决决策;(2)钻研精神神IT行业不同于于其他行业,新新理念新技术术新方法层出出不穷,系统统分析师需要
18、要能够适时适适当地引进新新理念新技术术新方法,为为企业提高生生产效率,为为员工降低劳劳动强度,为为客户提供更更具竞争力和和更加实用的的产品和服务务;(3) 优秀的协商谈判判能力复杂的系统有许许多项目相关关的人员,他他们之间的需需求必定会出出现冲突,协协商的过程就就是讨论需求求,找出每个个人都满意的的折衷方案。分分析人员是参参与这之中的的重要一份子子,需要协调调这之中的各各方利益,这这就要求分析析员必须要有有优秀的协商商谈判能力。(4)广泛的知知识面:除了具备基本的的IT技能、知知识外,需要要广泛涉猎其其他行业其他他学科的知识识方法,以系系统工程的理理念,借鉴和和利用其他行行业的为ITT 行业所
19、用用,也可以把把IT行业的的理念应用到到其他行业;(5)精湛的技技术能力:系统分析员往往往需要分析可可行性和解决决研发人员的的技术问题,因因此必须具备备广泛的技术术涉猎面和较较强的技术能能力;(6)财务能力力:系统分析员往往往需要参与项项目的招投标标分析,为了了保证企业的的利润和客户户的利益,必必须进行财务务核算,需要要具备会计、财财务,成本计计算等方面的的能力;(7)司法能力力:与其他大部分行行业一样,IIT行业也受受到法律的约约束,任何活活动必须合情情合理合法,任任何违背法律律的项目最终终都会失败,违违背伦理道德德的事和人最最终都将失去去人心。(8)超强超快快的学习能力力:IT行业新技术术
20、层出不穷,同同时其他相关关必备知识、业业务知识也是是瞬息万变,系系统分析师要要能够快速学学习并快速掌掌握和灵活应应用;(9)敏锐的观观察力:由于IT行业项项目的特殊性性,项目复杂杂多变,系统统分析师要能能够先于其他他人员发现问问题、发现隐隐患,并提前前做出规避风风险的策略。3.4列出在制制定需求获取取策略时的33种主要考虑虑因素。答:(1)能否否建立起顺畅畅的通讯途径径;(2)是是否能够获取取用户对系统统的功能需求求和非功能需需求;(3)是是否利于在可可运行系统时时的管理要求求。3.6举例说明明一个系统的的3个不同类类型的非功能能需求答:非功能性需需求是指软件件产品为满足足用户业务需需求而必须
21、具具有且除功能能需求以外的的特性。软件件产品的非功功能性需求包包括系统的性性能、可靠性性、可维护性性、可扩充性性和对技术和和对业务的适适应性等。例例如在银行管管理系统中,由由于银行数据据量的庞大以以及对银行账账户的管理需需求,用户对对系统的性能能、可靠性、可可维护性要求求很高。安全全性是对银行行用户个人信信息保密的基基本要求;在在使用系统时时,由于用户户庞大,要求求能快速安全全的执行要求求,这就对系系统的性能有有高需求;银银行的用户的的变动比较大大,需求高要要求的系统维维护。3.8软件需求求分析的操作作性原则和需需求工程的指指导性原则是是什么?答:(1)必须须能够表示和和理解问题的的信息域;(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课后 答案 41853

限制150内