第3章需求工程概论
工程概论智慧树知到答案2024年湘潭大学
工程概论湘潭大学智慧树知到答案2024年第一章测试1.课程将会讲解都江堰、长城、故宫等我国古代大型工程系统提振同学们强烈的家国情怀与文化自信。
()A:对 B:错答案:A2.课程内容不包括以下哪一项()?A:职业道德与工程伦理 B:工程管理与经济核算 C:职业能力与职业素养 D:工程知识与问题分析答案:D3.以下我国现代工程对象会使学生热爱科学并认同习近平新时代中国特色社会主义理论体系()。
A:百度无人车 B:大亚湾核电站 C:中国高铁 D:北斗卫星系统答案:ABCD4.中华文明史凝聚着历朝历代工匠们的智慧和创造。
中国历史上,工匠层出不穷,技艺精湛的鲁班,“游刃有余”的庖丁都是工匠的代表。
()A:对 B:错答案:A5.现代科技发展使得工程项目不需要团队协作。
()A:对 B:错答案:B第二章测试1.工程的历史是我们人类适应自然、改造自然的历史。
()A:对 B:错答案:A2.可持续发展是在充分认识到人类生存和改善生活需要的同时()以获得人类社会的可持续发展。
A:节约资源 B:开采煤矿 C:增长经济 D:保护环境答案:AD3.政府或企业的研究开发水平,通常由()为标志。
A:研发预算 B:专利数 C:百姓认可度 D:同行评议过的发表论文数答案:ABD4.科学思维基于三个核心要素()。
A:质疑主义 B:逻辑推理主义 C:实验主义 D:唯心主义答案:ABC5.我们现在还不能对工程师创造性思维进行透彻分析,因为()是很难用一系列原则进行归纳的。
A:创造力 B:工程判断力 C:实践能力 D:执行力答案:AB第三章测试1.根据工程师的具体的工作,可以把工程师分为()。
A:设计工程师 B:制造工程师 C:研发工程师 D:工程科学家 E:咨询工程师答案:ABCDE2.以下哪些是制造工程师的工作()。
A:将设计转化为实际产品,包括设备选择,参数选择等 B:从事工程相关产品或系统关键技术的研究与开发 C:调研,方案设计,方案分析、测试,样机制作、测试等 D:探索并研究工程实践中尚未被完全理解或掌握的基础科学问题答案:A3.以下()不属于对工匠精神的根本阐述。
《软件工程导论》课后习题详细答案
《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。
这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。
(2)软件产品的质量往往靠不住。
(3)一样软件专门难爱护。
(4)软件生产效率专门低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估量。
(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。
2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。
造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。
(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。
(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。
3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。
在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。
(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。
软件工程第3章需求工程概论
• 质量需求对软件结构的影响力更大,一项功能的
实现方式可能多种多样,但往往只有少数实现方
式才能满足特定的质量要求。
2020/8/20
国防科技大学计算机学院
9
软件需求的概念
• 在质量需求得不到满足的情况下,功能需求的实 现对用户并无价值 • 试想有多少用户愿意为查询一张课表而傻等数十 秒甚至数分钟 • 又有多少用户愿意冒数据丢失的风险而使用“功 能丰富”的信息化系统? • 质量需求具有特殊的重要性,需求工程师必须对 其倾注更多的心力。
2020/8/20
国防科技大学计算机学院
14
(一)组成联合工作组
• 利益相关方代表和需求工程师组成联合工作组 • 在需求工程的初期,需求工程师和用户/客户相 互陌生,知识领域和工作侧重也各不相同,在他 们之间往往横亘着一条泾渭分明的疆界。 • 在疆界的两边,通过问答和文档进行沟通。 • 这种方式抑制了利益相关方在需求工程中的主动 精神,阻碍了良好的协同工作关系,容易导致误 解和遗漏。
• 本节将软件需求的质量要素组织为正确性、完全性和可行性三个方面。 • 软件需求的正确性包含真实性、一致性、精确性、无冗余四个质量指标。 • 真实性指,每个需求项能真实反映利益相关方的需求; • 一致性指,需求项内部、需求项之间没有逻辑冲突; • 精确性指,需求项的表述不至引起二义或多义理解; • 无冗余指,每项需求在软件需求模型中仅出现一次,多项需求之间不存
2020/8/20
国防科技大学计算机学院
15
组成联合工作组
• 建立由利益相关方代表和需求工程师共同组成的联合工作组 • 参加工作组的利益相关方代表也属需求工程人员 • 他们对需求工程的成功负有与软件开发方相同的责任。 • 联合工作组要制定自己的工作制度和计划,确定专门的记录员并
软件工程期末复习资料 华南农业大学版
第二章 系统工程
1.基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。 组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程 2.系统工程的任务: (1)识别用户的要求(2)系统建模和模拟:包括硬件系统模型、软件系统模型、 人机接口模型、数据模型; (3)成本估算及进度安排(4)可行性分析(5)生成系统规格说明 3.可行性分析考虑:成本、效益、货币的时间价值、投资回收期析
第四章 设计工程
1.软件设计开始于软件需求的分析和规约之后,位于软件工程过程中的技术核心位置,是把需求转化 为软件系统的最重要环节 2.软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:软件体系结构设计阶段和部 件级设计,前者也被称为概要设计,后者被称为详细设计。软件体系结构设计将软件需求转化为数据结构 和软件的系统结构。部件级设计将软件体系结构性元素转化为软件部件的过程性描述,得到软件详细的数 据结构和算法。 3.软件设计原则:抽象、逐步求精、模块化、信息隐藏 4.模块的独立性可以由两项指标来衡量:内聚度与耦合度。内聚度衡量一个模块内部各个元素彼此结 合的紧密程度,耦合度衡量不同模块之间相互依赖的紧密程度 5.内聚:是一个模块内部各个元素彼此结合的紧密程度的度量。内聚可以分为以下 7 中类型: 1)巧合内聚(偶然内聚) :将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的 模块称为巧合内聚模块 2)逻辑内聚 :指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制型参数来确定 该模块应执行哪一种功能 3)时间内聚:指一个模块中的所有任务必须在同一时间段内执行。例如初始化模块和终止模块 4)过程内聚 :指一个模块完成多个任务,这些任务必须按指定的过程(procedural)执行 5)通信内聚 :指一个模块内所有处理元素都集中在某个数据结构的一块区域中 6)顺序内聚:指一个模块完成多个功能,这些功能又必须顺序执行 7)功能内聚 :指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的 6.耦合:是模块之间的相对独立性的度量。耦合取决于各个模块之间接口的复杂程度、调用模块的方 式以及通过接口的信息类型。耦合方式有其中类型: 1)内容耦合 :如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另
软件工程(第4版)
成书过程
修订情况
出版工作
《软件工程(第4版)》是在《软件工程(第3版)》的基础上修改而成的,第4版简化了前版中结构化软件 开发方法的相关内容,充实了常用的基于构件的软件开发、持续集成(CI)等方面的内容,对书中部分词汇、疏 漏、错误进行了修订,并且引入持续集成的相关内容。
3、该教材是软件工程的综合性教材,借监软件工程知识体SWEBOK和SEEK的内容,针对中国高校本科软件工 程教育的实际情况对内容进行选择和组织。
4、该教材强调软件中蕴含的领域知识和经验:软件生存周期的阶段划分与软件开发过程分解分开用统一建模 描述语言UML描述RUP过程中的制品;验证与确认贯穿RUP过程的始终,变更管理和配置管理等若干软件工程相关 的重要问题,以实例贯穿始终,强调理论与实践相结合。
《软件工程(第4版)》的第1、15、16章由齐治昌教授编写,第2、3、4、5、7、8、9、14章由谭庆平教授 编写。第6、10、11、12、13章由宁洪教授编写。全部书稿由复旦大学的钱乐秋教授审阅完成。
2019年3月,《软件工程(第4版)》由高等教育出版社出版。
内容简介
ቤተ መጻሕፍቲ ባይዱ
《软件工程(第4版)》阐述了信息时代软件、软件工程及软件工程教育的地位和作用,基于计算机的系统和 业务过程建模,书中分析了传统软件开发过程向统一过程RUP的进化,系统地介绍了RUP、UML和面向对象的软件 开发方法,以及软件开发的需求、设计、实现、测试、交付、维护、软件度量、软件项目管理和软件开发组织的 过程改进等专题,且书中含有丰富的例题、习题和参考文献。
作者简介
齐治昌,国防科技大学教授,曾获2014年度“CCF杰出教育奖”。 谭庆平,男,国防科技大学计算机学院教授、博士生导师。 宁洪,广州大学计算机科学与网络工程学院教授。
《需求工程》知识要点
~ 1 ~
பைடு நூலகம்录
1 引言....................................................................................................................................... 4 2 软件需求............................................................................................................................... 4 2.1 需求的内涵................................................................................................................ 4 2.1.1 什么是需求?................................................................................................. 4 2.1.2“做什么”与“怎么做” ............................................................................... 5 2.2 需求分类.................................................................................................................... 5 2.2.1 广义需求分类.............................
工程建设概论课件ppt课件ppt课件
ABCD
施工粉尘控制
采取洒水、覆盖等措施减少施工粉尘的产生和扩 散,减轻对大气环境的污染。
土壤保护与恢复
合理利用施工场地,减少对周围土壤的扰动和破 坏,施工结束后对受损土地进行恢复。
环境事故处理与预防
建立环境事故应急预案
针对可能发生的突发环境事故,制定应急预案,明确应急 响应程序和措施。
加强环境监测与预警
工程变更与索赔
根据实际情况需要进行工程变更,处理索赔 事宜。
竣工验收阶段
1 2
竣工自检
施工单位完成自检后,向建设单位提交竣工报告 。
竣工验收
建设单位组织相关部门进行竣工验收,确保工程 符合设计要求和使用功能。
3
竣工结算与资料归档
完成竣工结算,整理相关资料并归档保存。
04
工程建设法规与标准
建设法规体系
制定环境保护规章制度
明确环境保护的标准、要求和责任,规范工程建设各方的环保行为 。
加强环保宣传与培训
提高工程建设参与人员的环保意识和技能,确保环保措施得到有效 执行。
环境保护控制方法与技术
施工噪声控制
采用低噪声施工设备,合理安排施工时间,避免 高噪声作业对周围居民的影响。
施工废水处理
建立施工废水处理设施,确保废水达到排放标准 后再进行排放。
工程建设的历史与发展
01
02
03
古代工程建设
古代的工程建设主要依靠 人力和简单工具,如中国 的长城、埃及的金字塔等 。
近代工程建设
随着工业革命的发展,工 程建设开始采用机械化施 工方式,建设规模和技术 水平得到大幅提升。
现代工程建设
现代工程建设采用信息技 术、自动化技术等高科技 手段,工程建设的质量和 效率得到显著提高。
6_Requirement_Elicitation
需求研讨会(Workshop)
6 需求获取
需求研讨会(Workshop)
6 需求获取
需求研讨会(Workshop)
通过让所有相关人员一起参加某个单一会议来定义需求或设计系 统,也称联合应用设计会议(Joint Application Design, JAD)。 系统相关者在短暂而紧凑的时间段内集中在一起,一般为1至2 天,与会者可以在应用需求上达成共识、对操作过程尽快取得统 一意见。 协助建立一支高效团队,围绕一个目的:项目的成功; 所有人员都畅所欲言; 促进用户与开发团队之间达成共识; 能够揭露和解决那些妨碍项目成功的行政问题; 最终很快产生初步的系统定义。
6 需求获取
“看似简单,实际却很难…”
—— “需求获取?不就是问问题吗?这有什么难的?”
第三章 需求工程
6.1 需求获取所面临的挑战
6 需求获取
(1) “Yes, But”综合症
…当你把新开发的系统展示给用户时… —— “Wow,太酷了!这正是我们想要的,你做 了一个了不起的系统!” …五分钟后… —— “Yes, but, 嗯….这个模块是怎么回事?…如 果你把它修改成这样岂不是会变得更好?…如 果那样的话,我觉得我会更喜欢它…”
你希望如何解决这个问题? 你觉得该问题这样解决如何?
6 需求获取
面谈之前
确立面谈目的 确定要包括的相关用户 确定参加会议的项目小组成员 建立要讨论的问题和要点列表 复查有关文档和资料 确立时间和地点 通知所有参加者有关会议的目的、时间和地点
6 需求获取
面谈之中
Step 1:事先准备一系列上下文无关的问题,并将其 记录下来以便面谈时参考; Step 2:面谈前,了解一下要面谈的客户公司的背景 资料,不要选择自己能回答的问题而浪费时间; Step 3:面谈过程中,参考事先准备的面谈模板,以 保证提出的问题是正确的。将答案记录到纸面上,并 指出和记录下未回答条目和未解决问题; Step 4:面谈之后,分析总结面谈记录。
软件工程复习知识点_2
第一章概论1.软件的特点:(1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
(2)软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
(3)软件的使用没有硬件那样的机械磨损和老化问题。
2.软件的分类:系统软件,居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用;支撑软件,支撑软件的开发和维护;应用软件,特定应用领域的专用软件。
3.软件工程定义:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;(2)在(1)中所述方法的研究。
4.软件工程框架:目标、过程和原则。
目标指生产具有正确性、可用性和开销合宜的产品;过程指生产一个最终满足需求且达到工程目标的软件产品所需要的步骤;原则为选择适宜的开发模型、采用合适的设计方法、提供高质量的工程支撑、重视软件工程的管理。
5.软件生存周期:软件产品或软件系统从产生、投入使用到被淘汰的全过程。
大致分为六阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
6.能力成熟度模型CMM五个等级:初始级、可重复级、已定义级、已管理级、优化级。
7.常见模型优缺点:螺旋模型:螺旋模型是将瀑布模型与原型模型结合起来,加入风险分析环节,是一种风险驱动模型。
包括4个工作步骤:1)需求定义、2)风险分析、3)工程实现、4)评审。
瀑布模型:瀑布模型是将软件生存周期各活动规定为以线性顺序连接的若干阶段的模型;强调阶段的严格顺序和每一阶段的严格性。
前一阶段的输出是后一阶段的输入;每阶段要进行文档的复审与确认。
增量模型:融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征,强调每一个增量都发布一个可运行的产品,能有计划地管理技术风险;喷泉模型:一种支持面向对象开发的模型,体现迭代和无间隙特征;基于构件的开发模型:支持复用;形式化方法模型:建立在严格数学基础上;8.Agile方法的价值观:个人和交互高于过程和工具;可运行软件高于详尽的文档;与客户协作高于合同(契约)谈判;对变更及时做出反应高于遵循计划。
软件工程导论习题答案
2.需求分析的基本任务是什么?
准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?
建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出过程如图:
Hale Waihona Puke 4.什么是结构化分析?它的结构化体现在哪里?
结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
4.构成软件项目的最终产品:
应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
6.软件生存周期为什么划分成阶段?
(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。
(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。
(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。
结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。
5.软件需求规格说明书由哪些部分组成?
组成包括:
(1) 引言:编写目的、背景说明、术语定义及参考资料等。
(2) 概述主要功能、约束条件或特殊需求。
(3) 数据流图与数据字典。
(4) 用户接口、硬件接口及软件接口。
工程概论项目案例
工程概论项目案例工程概论项目案例:项目名称:智能家居系统设计与实现项目背景:随着科技的发展和人们生活水平的提高,智能家居系统逐渐成为家庭生活的必备品。
本项目旨在设计和实现一个智能家居系统,以满足用户对智能化、舒适化和节能化的需求。
项目目标:1. 实现对家居环境的智能控制,包括温度、湿度、照明、安防等;2. 实现与用户手机端的实时互动,提供便捷的控制体验;3. 保证系统的稳定性和安全性,防止黑客攻击和数据泄露;4. 降低能源消耗,为用户节省电费。
项目实施:1. 需求分析:通过市场调研和用户访谈,了解用户对智能家居系统的需求和期望;2. 系统设计:根据需求分析结果,设计智能家居系统的整体架构和各模块功能;3. 硬件选型:根据系统设计要求,选择合适的传感器、执行器、网关等硬件设备;4. 软件编程:编写智能家居系统的控制程序,实现各模块之间的通信和控制;5. 测试与优化:对系统进行测试,发现并解决存在的问题,优化系统性能;6. 部署与维护:将智能家居系统部署到用户家中,提供必要的培训和维护服务。
项目成果:1. 完成智能家居系统的设计与实现,满足用户需求;2. 提供手机端控制界面,实现实时互动和控制;3. 系统具备较高的稳定性和安全性,防止黑客攻击和数据泄露;4. 系统能有效降低能源消耗,为用户节省电费。
项目总结:本项目成功设计和实现了一个智能家居系统,具有较高的实用价值和市场前景。
通过本项目的实施,团队成员提升了工程实践能力,掌握了智能家居系统的设计和实现方法。
未来,团队将继续优化系统性能,拓展更多智能化功能,以满足用户不断增长的需求。
软件工程复习资料
第一章概论1.软件工程的主要内容:为了有限的资金、资源和时间条件下开发满足客户要求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等。
2.计算机软件:指的是计算机系统中的程序及其文档,3.程序:指的是计算任务的处理对象和处理规则的描述.4.计算任务:任何以计算机为处理工具的任务都是计算任务。
5.处理对象:是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及相关的含义)。
6.处理规则:一般指处理的动作和步骤.7.文档:是为了便于了解程序所需的阐述性资料.8.软件工程:是应用计算机科学,数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法、以提高质量、降低成本为目的。
其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
9.杨芙清院士指出软件工程的框架可概括为:目标、过程和原则。
10.软件工程目标:只生产具有正确性、可用性和开销合宜的产品。
正确性:指软件产品达到预期功能的程度。
可用性:只软件基本结构、实现及文档为用户可用的程度。
开销合宜:只软件开发,运行的整个开销满足用户要求的程度。
11.软件工程原则包括围绕工程设计、工程支持和工程管理所提出的4条基本原则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑(4)重视软件工程的管理。
12.软件的生存周期:软件孕育、诞生、成长、衰亡的生存过程。
软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。
软件生存周期大致可以分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
13.软件过程:是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。
过程是活动的集合,活动是任务的集合。
14.软件过程有3层含义:(1)、个体含义:指软件产品或系统存在生存周期中的某一类活动的集合,如软件开发过程、软件管理过程等。
软件工程概论课程教学大纲
软件工程概论课程教学大纲一、课程简介《软件工程概论》是软件工程专业中的一门综合性和实践性很强的核心课程。
课程将系统的介绍软件工程的基本概念和基本原理,这些内容覆盖整个软件生命周期,包括软件工程过程、软件工程方法、软件工程模型、软件需求、软件设计、软件实现、软件测试、软件项目管理等内容。
学生通过本课程的学习,了解软件项目生命周期中在不同阶段如何使用不同的软件工程方法进行分析和解决问题,使得学生逐步学会遵循软件工程方法论,以提高软件开发的成功率,显著减少软件开发和维护中的错误,为更深入地学习和今后从事软件工程实践打下良好的基础。
二、课程目标(一)课程具体目标1. 掌握软件工程的基础知识,具有发现问题、分析问题和解决问题的能力;2. 能基于软件工程的专业知识,正确表达一个软件工程问题的解决方案;3. 能客观评价软件工程领域的相关发展对社会、安全以及文化的影响;4. 能及时跟踪软件工程领域及相关行业发展状况,并就当前的热点问题发表自己的见解。
(二)课程目标与专业毕业要求的关系表1 本课程对专业毕业要求及其指标点的支撑(三)课程对解决复杂工程问题能力的培养在课程理论知识讲授环节,注重培养学生对软件工程中方法、过程和技术的深入理解,使学生掌握解决软件工程领域复杂工程问题所需的基本理论和工程原理,并通过适当的课后作业锻炼和检验学生解决复杂工程问题的能力。
在实验教学环节,以培养学生解决复杂工程问题的能力为目标,围绕课程支撑的毕业要求指标点安排实验项目,设计实验内容,明确实验要求,指导实验实施,严格实验成果考核。
在课程考核环节,根据课程支撑的课程目标选择合适的考核方式,考题设置应完全覆盖课程支撑的课程目标,考题设计应充分考虑学生解决复杂工程问题所需知识和能力的考查,考题的难度和深度应能够体现复杂工程问题的特征。
总之,本课程的教学通过在理论讲授、课后作业、课内实验、课程考核等环节充分贯彻培养学生解决复杂工程问题能力的理念和要求,实现本课程支撑课程目标的达成。
软件工程选择+判断1
第一章概论一、单项选择题1、软件是(C )。
A.处理对象和处理规则的描述B.程序C.程序、数据及文档D.计算机系统2、下列选项中(D )是软件开发中存在的不正确的观念、方法。
A.重编程、轻需求B.重开发、轻维护C.重技术、轻管理D.以上三条都是3、下列哪个阶段不属于软件生存周期的三大阶段(C )。
A.计划阶段B.开发阶段C.编码阶段D.维护阶段4、计算机系统就是(C )。
A.主机,显示器,硬盘,软驱,打印机等B.CPU,存储器,控制器,I/O 接口及设备C.计算机硬件系统和软件系统D.计算机及其应用系统5、以下判断正确的是( D )。
A.所谓软件开发就是编写程序B.利用软件工程的思想,已成功的解决了软件危机C.完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释D.一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比6、(D )是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审7、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。
A.软件工程B.软件周期C.软件危机D.软件产生8、以下属于软件危机现象的是( D )。
A.软件开发进度难以预测B.软件产品难以维护C.软件缺少适当的文档资料D.以上三条都是9、产生软件危机的原因主要与两个方面的问题有关(C )。
A.软件在计算机中很难识别,存在磁盘中也看不到B.软件设计对人的智商要求很高,也要求很高的资金投入C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确D.软件很难理解,硬件也很复杂10、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展11、以下哪一项属于项目成功要考虑的因素( D )。
A.工作范围与成本B.进度计划C.客户满意度D.全都属于12、以下对软件工程的解释正确的是(D )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章需求工程概论3.1 软件需求的概念3.2需求工程的预备知识3.3需求工程的过程模型3.1 软件需求的概念●需求的任务:•回答“系统必须做什么?”的问题•What?●软件需求的定义:•是利益相关方(stakeholder,也称“筹码持有者”)对目标软件系统在功能、质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的要求或约束。
3.1.1软件需求的分类•软件需求:①功能需求②质量需求③约束性需求质量需求和约束性需求可统称为非功能需求。
3.1.1 软件需求的分类•功能需求:指利益相关方要求目标软件系统应该具有的功能。
(主体)◆如“制订选课计划”、“接收并处理传感器数据”等。
•功能需求还包括软件系统在业务处理过程中完成这些功能时必须遵守的约定或限制。
•质量需求:利益相关方对目标软件系统的质量要求。
◆性能:所有界面操作的响应时间小于1.5秒”、◆可靠性:任何故障不可导致用户已提交的数据丢失”。
3.1 软件需求的概念3.1.1 软件需求的分类•约束性需求:利益相关方对目标软件系统在项目预算、完成时间、技术选型、遵循的标准与规范等方面提出的要求,以及由预期的开发、运行环境的特征而导致的针对目标软件系统的约束。
◆如家庭保安系统中可供软件使用的内存为1M、◆必须采用特定的操作系统3.1 软件需求的概念3.1.2 软件需求的质量要素•正确性包含真实性、一致性、精确性、无冗余四个质量指标。
•完全性指,所有需求项构成的全集完整地覆盖所有必须在目标软件产品中实现的利益相关方需求,不能遗漏重要或者紧迫的需求。
•可行性是指,在实际资源约束条件下,软件需求能够被完整实现的可能性。
3.2.1与用户交流的技巧•利益相关方代表和需求工程师组成联合工作组•克服沟通障碍•消弥利益冲突3.2.2需求调查的基本方法•访谈和会议系统分析员将提出一些事先准备好的具体问题。
•调查问卷经过仔细考虑写出的书面回答可能比被访者对问题的口头回答更准确。
•业务文档分析•现场观摩3.2.3需求建模的基本方法•抽象•分解•多视点分析3.3.1 需求工程中的活动●一个完整的需求工程过程一般包含以下活动:•需求工程策划•需求获取◆需求获取的结果是软件需求的最初模型。
•需求分析•需求规范化•需求验证•总结图3.1 用UML活动图表示的需求工程过程的工作流图3.2 单次子过程中的缺陷追踪及返工3.3.2迭代式的过程模型•对于大中型软件项目,前述的单次需求工程过程几乎不可能获得完整的、高质量的软件需求。
图3.3迭代式的需求工程过程模型3.3.2迭代式的过程模型•进入每次迭代前,应检查入口条件是否满足、输入文档是否齐备。
•在完成每次迭代前,应检查出口条件是否达到、输出文档是否齐备并符合预定的质量标准。
•首次迭代的输入为有关项目目标、范围的陈述性文档;后续迭代时,输入文档还可以包括缺陷描述、待新增的需求项的概略性描述文档,或者需求变更申请书。
•需求获取活动必须针对前次迭代的工作成果、需求变更或缺陷报告进行理解和分析,由此导出新的需求获取动作。
•在一次迭代完成后进入后续迭代的条件是,所有参与者对新需求的获取或针对已有需求的变更之必要性达成共识。
3.3.3过程模型的裁剪•在实际的软件项目中,针对前述的迭代式过程模型可以进行因地制宜的裁剪或具体化。
(1)应用场景1•对于小型软件项目或软件需求容易确立的项目,迭代仅需进行一次。
3.3.3过程模型的裁剪(2)应用场景2•如果一个软件能够分解成多个子系统,那么,针对各子系统的需求工程活动可以并行地在各自的迭代子过程中进行。
•此前必须通过至少一个迭代子过程给出整个软件的概略性需求并确定分解结构;•最后必须通过至少一个迭代子过程对各部分的需求进行整合并给出完整的软件需求规约。
图3.4系统分解后针对子系统并行迭代的需求工程过程模型示意图3.3.3过程模型的裁剪需求工程各阶段中的某些子活动可以并行开展•如,可以将课程注册管理系统划分为面向学生、面向教师和面向教务管理员的三个子系统,安排三轮迭代分别针对它们进行需求获取和分析,最终整合为完整的需求规约。
3.3.3过程模型的裁剪(3)应用场景3•在本次迭代的需求验证阶段,如果发现了缺陷,或认为某些需求项需要新增或变更,可以形成缺陷分析报告或需求变更申请报告,以此为输入启动下次迭代。
•在迭代式过程模型中,缺陷更正和需求变更可以很自然地在后续迭代过程中实现。
图3.5 通过迭代支持缺陷更正和需求变更的需求工程过程模型3.3 需求工程的过程模型例3.1家庭保安系统需求工程过程•成立由需求工程师和利益相关方代表组成的联合工作组•制定工作制度,如,每次会议开始前必须有确定的议程,参加者必须针对各项议程进行充分的准备,这种准备不仅是思想上的,还应形诸文字。
•经过数次会议讨论,明确待解软件问题的范围、业务背景,并就开发软件产品的必要性达成共识后,工作组负责人要求每位参加者列出应用问题及环境中有关的对象,这些对象所施行的操作以及对象间的相互作用。
这种列举不一定完全,但应尽可能全面地反映用户熟悉的某个问题侧面。
例3.1家庭保安系统需求工程过程•市场营销人员可能列出控制面板、电话机、警报器等对象,以及用户配置、电话拔号、报警等操作;•负责策划该系统的客户可能列举门窗监视器、烟雾传感器、警报器等对象。
•会议上,负责人要求他们对传感器事件接收、异常情形判别、电话报警、用户配置等操作进行更详细的描述,必要时示以业务处理流程图。
•客户可能还会提出一些约束条件,如造价不应超过1,000元,对异常事件必须在1秒内作出响应,事件必须按优先级顺序进行处理,等。
•会后,需求工程师对这些信息加以综合、整理,形成文档•该文档应能反映家庭保安系统中的软件产品的全貌。
例3.1家庭保安系统需求工程过程•该文档的某个局部可能形如:家庭保安系统的软件允许用户在安装时进行系统配置,实施对传感器上报数据的监控并通过控制面板与用户进行信息交互。
用户配置操作包括:(1) 指定每一传感器的种类、编号和安装位置;(2) 设置开、关机密码;(3) 设定报警电话号码;(4) 指定报警延迟和电话重拔延迟时间。
当软件系统接收到传感器发出的数据后判别是否出现异常事件。
如果是,则在指定的延迟时间内拔报警电话号码,拔号操作将按照重拔延迟反复进行,直至电话接通。
然后软件系统负责报告时间、位置和异常事件的性质。
开机后软件系统负责显示当前工作状态,接收并处理用户指令。
例3.1家庭保安系统需求工程过程•联合工作组被分成两个小组,分别处理用户配置和传感器监测子系统。
•分组的目的是对子问题的需求进行获取、分析、规范化等项工作。
•在各子系统的需求已基本明确并形成需求模型后,联合工作组还应就子系统的整合及需求验证标准展开讨论。
•子系统整合包括:子系统接口之间的一致性检查、子系统合成后系统功能和行为的完整性检查。
•需求验证标准应该是可测试的,以便开发人员在代码生成后能够通过测试结果向客户表明软件系统已完整地实现了所有需求。
•软件需求指,利益相关方对目标软件系统在功能、性能、质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的约束。
•软件需求可划分为功能需求、质量需求和约束性需求三种类型。
•质量需求和约束性需求统称为非功能需求。
•软件需求的质量要素包括正确性、完全性和可行性。
•为了获得高质量的需求模型,需求工程师必须掌握与用户/客户交流的技巧。
•与利益相关方代表组成目标一致、荣辱与共的联合工作组,克服开发方与利益相关方之间的沟通障碍、消弥他们之间的利益冲突。
•需求工程师必须熟练运用需求调查和需求建模的基本方法,前者包括访谈和会议、调查问卷、业务文档分析、现场观摩,后者包括抽象、分解和多视点分析。
•为了获得高质量的需求模型,需求工程师还必须遵循系统化的需求工程过程模型,它通常包括策划、需求获取、需求分析、需求规范化、需求验证、总结等活动。
•对大中型软件项目以及初期需求不明朗的软件项目,需求工程过程往往采用迭代方式,经过反复发掘、分析、评审后才能日臻完善。
•除以上基本技能和方法外,需求工程师有必要进一步掌握分别针对需求工程各阶段的行之有效的具体技术和方法。
•第4至5章将依次介绍需求获取、需求分析及需求验证的过程和技术。
•题目(可以参考并自选题目)1、网上购物系统①用户注册、登录、退出;②用户通过浏览器访问网上购物系统,系统以分类的形式显示所有商品;③系统提供关键词检索功能,帮助用户逐步找到所要的商品;④用户在浏览商品目录时可以点击查看商品的具体信息和价格。
如果满意,用户可以将商品暂时放入“购物车”,也可以随时从“购物车”中取出商品。
当用户选定后进行付款处理,用户输入信用卡号,系统连接到对应的银行卡支付系统,开始支付;⑤系统向管理员提供查询界面和各类报表,统计商品的销售情况。
•题目(可以参考并自选题目)2、图书管理系统①管理读者的基本信息:读者姓名、姓别、学号等;②管理书籍的基本信息:图书名称、图书编号、作者、出版社、单价、存在状态(已借出或是库存)、存放地点,若已借出,则归还时间等;③对新进图书进行录入,包括图书的基本信息;④支持读者查询图书的基本信息;⑤对撤销的图书信息进行删除;⑥为读者办理注册,包括读者的基本信息;⑦为读者办理借书手续(非注册者不能借书);⑧若读者借书到期末还,要对读者进行罚款,并记录读者的不良记录。
•题目(可以参考并自选题目)3、在线购/订票(汽车票)系统①用户注册、登录、退出;②在线售票:用户选中要买的车票,输入银行卡号,系统链接到相应的银行支付系统,支付车票费(支付前需登录);③在线订票:用户选中要订的车票,输入银行卡号,系统链接到相应的银行支付系统,支付车票费(支付前需登录);④购票跟踪:跟踪用户的交易过程,记录用户的交易历史,方便用户查询;⑤出行信息:系统向用户展示当前的票务信息,包括去向、票价、车型、发车时间、到达时间、延误的概率等信息。
•题目(可以参考并自选题目)4、教室管理系统①管理本学期要开的课程信息,包括课程的任课老师、上课时间和选课人数,以及是否要求多媒体教学等;全校的教室资源信息,包括教室的编号,最大容量,是否支持多媒体教学等;②根据课程信息和教室资源信息,给每门课安排一个最佳的上课时间和地点,保证同一个老师不在同一个时间段授两门或两门以上的课程(即授课的时间不交叉),同一个教室不在同一个时间段安排两门或两门以上的课程(即授课地点不冲突),安排的教室能够满足选课人数和多媒体的要求(假设学校的教学资源能够满足这些要求);③如果有临时讲座,能够尽量安排一个满足讲座要求的教室,如时间、容纳人数、多媒体等;④如遇意外情况,如老师临时停课,则要实时更新教室的使用情况信息;老师有临时变更上课时间的要求,则能够查询教室的使用情况信息,并尽力为其变更时间并重新安排教室。