需求分析与设计课后答案
信息系统分析与设计第3版课后答案第7章:需求分析
习题答案一、简答题1.需求分析的任务是什么?答:需求分析的任务是正确获取用户需求,并对需求进行深入分析,以确定合理的信息系统需求。
具体包括需求获取,需求分析,需求描述,需求验证和需求管理等工作。
2.需求分析中的目标分析与领域分析中的目标分析有什么区别?两者之间存在什么联系?答:领域分析中的目标是企业系统的目标,需求分析中的目标是信息系统的目标,企业系统的目标是信息系统目标的依据。
3.什么叫需求结构?需求结构用什么来表示?答:信息系统需求结构是根据信息系统目标、职能域和需求的相关性,从总体上把信息系统需求划分成为多个部分,每一个部分称为一个需求单元,由这些需求单元构成的信息系统的需求框架。
需求结构用UML中的包图来表示。
4.什么叫用例说明?它有什么作用?答:用例说明是对功能用例图中的用例做出的说明。
在用例说明中,需要给出描述用例的编号、名称、使用者和用例的功能和交互过程给出说明。
5.信息系统性能都包括那些因素?答:信息系统性能是信息系统功能实现的方式、效率和保障,它包括信息系统的效率、处理方式、可靠性、安全性、适应性等内容。
6.为什么要对需求变更实施管理?答:由于信息系统的环境会发生变化、用户会发生变化、分析人员和用户对信息系统的认识也会逐步深入,因此在需求开发完成后需求出现一定程度的变更是合理的。
为了避免因需求变更引起开发过程的混乱和开发成本的提高,需要对需求变更实施有效管理。
二、填空题1.需求分析包括目标分析、需求结构分析、(功能分析)、(性能分析)和(需求建模)等内容。
2.需求调查的方法除了采用一般调查方法之外,还需要采用( 启发法)、( 观摩法)和(原型法)等辅助方法。
3.一般从(技术)、(工程)和(社会)等方面,对信息系统性能进行分析。
三、选择题1.下面哪项工作不属于需求分析的工作?(A)A:数据库分析 B:功能分析C:性能分析 D:风险分析2.下面说法不正确的是( D )A:需求调查也被称为需求获取B:信息系统核心功能属于总体需求的范围C:需求调查还需要调查用户的投资能力、开发时间等非技术性需求D:需求调查可以采用启发法、观摩法和原型法等一般调查方法3.下面说法正确的是(C)A:信息系统目标等同与企业系统目标B:信息系统目标包括企业系统目标C:信息系统目标是企业系统目标的构成部分D:信息系统目标与企业系统目标没有关系答:1:A; 2:D; 3:C四、思考题1.试以一台电视机为例,谈功能与性能的区别。
(完整版)第三章需求分析习题及答案
第三章需求分析一. 填空题1.需求分析的步骤 , , , 。
2.需求分析阶段需编写的文档有,,。
3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。
4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。
5.对于计算机程序处理的数据,其数据域应包括 , , 和数据结构。
6.数据内容即是。
7.把一个功能分解成几个子功能,并确定 , 就属于横向分解。
8.软件需求的逻辑视图给出 , 而不是实现的细节。
9. 功能一般用 , 来表示。
10.结构化分析方法是 , 进行需求分析的方法.11.描述结构化分析方法的工具有,,,判定表,判定树。
12. SA方法中自顶向下的分析策略主要是和。
13.数据流图的基本组成部分有,,,。
14.数据流图的特性,,,。
15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。
16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。
17.需求分析阶段研究的对象是软件项目的。
18.数据流图的基本符号包括,,,。
19.在需求分析阶段常用的图形工具有,,。
20.需求分析应交付的主要文档是。
二. 选择题1. 需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模2. 需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能3. 需求分析阶段最重要的技术文档之一是非曲直()。
A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告4.需求分析阶段建立原型的目的是()。
A.确定系统的功能和性能的需求 B.确定系统的运行要求C.确定系统是否满足用户需求 D.确定系统是否满足开发人员需要5.需求分析阶段研究的对象是()A.用户需求 B.分析员要求 C.系统要求 D.软硬件要求6.系统流程图用于可行性分析中的_____的描述。
需求分析习题答案
需求分析习题答案需求分析习题答案在软件开发过程中,需求分析是非常重要的一环。
它的目的是明确用户的需求,确定软件系统的功能和性能要求,为后续的设计和开发工作提供基础。
本文将针对一些需求分析习题,给出相应的答案和解析,帮助读者更好地理解和掌握需求分析的方法和技巧。
1. 为什么需求分析是软件开发过程中的关键步骤?需求分析是软件开发过程中的关键步骤,其重要性体现在以下几个方面:首先,需求分析是明确用户需求的过程。
只有深入了解用户的真实需求,才能设计出满足用户期望的软件系统。
如果需求分析不充分或存在误解,开发出来的软件可能无法满足用户的实际需求,导致项目失败。
其次,需求分析是确定软件系统功能和性能要求的依据。
通过需求分析,可以明确软件系统需要具备的功能和性能特性,为后续的设计和开发工作提供指导。
如果需求分析不准确或不完整,可能导致系统设计和开发过程中出现问题,增加了后续修复和调整的成本。
最后,需求分析是沟通和协作的过程。
在需求分析过程中,需求分析师需要与用户、开发团队和其他相关人员进行充分的沟通和协作,以确保需求的准确理解和共识。
只有通过有效的沟通和协作,才能保证软件开发过程的顺利进行。
2. 需求分析的方法有哪些?需求分析的方法有多种,常用的方法包括:首先,面谈法。
面谈法是通过与用户进行面对面的交流,了解用户的需求和期望。
面谈可以是个别的,也可以是小组的,通过提问和回答的方式获取信息。
面谈法可以直接获取用户的意见和反馈,有助于深入了解用户的需求。
其次,问卷调查法。
问卷调查法是通过编制问卷,向用户发放并收集用户的意见和反馈。
问卷调查可以覆盖更广泛的用户群体,获取更多的信息。
问卷调查法可以定量地分析用户需求,为需求分析提供数据支持。
再次,观察法。
观察法是通过观察用户的工作环境和行为,了解用户的需求和工作流程。
观察法可以直接观察用户在现实环境中的操作和需求,有助于发现用户的隐性需求和问题。
最后,原型法。
原型法是通过制作软件原型,让用户亲自体验和评估系统的功能和界面。
需求分析考试题型及答案
需求分析考试题型及答案一、单项选择题(每题2分,共20分)1. 需求分析的主要目的是()。
A. 确定项目的范围和目标B. 识别项目的风险C. 制定项目的预算D. 设计项目的架构答案:A2. 以下哪项不是需求分析阶段的主要活动?()。
A. 收集用户需求B. 确定系统功能C. 编写测试计划D. 制定需求规格说明书答案:C3. 需求分析阶段不包括以下哪项内容?()。
A. 功能性需求B. 非功能性需求C. 系统架构设计D. 用户界面设计答案:C4. 需求分析中,以下哪项不是需求的来源?()。
A. 用户访谈B. 市场调研C. 竞争对手分析D. 项目预算答案:D5. 在需求分析过程中,以下哪项不是需求验证的方法?()。
A. 原型法B. 用例分析C. 需求审查D. 代码审查答案:D6. 需求变更控制的目的是()。
A. 减少需求变更B. 确保需求的完整性C. 降低项目成本D. 加快项目进度答案:B7. 以下哪项不是需求分析阶段的输出物?()。
A. 需求规格说明书B. 项目计划C. 用例模型D. 数据字典答案:B8. 需求分析阶段,以下哪项不是需求分析工具?()。
A. 用例图B. 活动图C. 数据流图D. 甘特图答案:D9. 以下哪项不是需求分析阶段的非功能性需求?()。
A. 性能需求B. 安全需求C. 界面需求D. 可维护性需求答案:C10. 需求分析阶段,以下哪项不是需求分析的原则?()。
A. 明确性B. 完整性C. 可测试性D. 可扩展性答案:D二、多项选择题(每题3分,共15分)11. 需求分析阶段的主要任务包括()。
A. 确定项目目标B. 收集用户需求C. 制定项目计划D. 编写需求规格说明书答案:ABD12. 需求分析中,以下哪些是需求分析的方法?()A. 访谈B. 问卷调查C. 竞品分析D. 原型法答案:ABCD13. 需求分析阶段,以下哪些是需求分析的输出物?()A. 需求规格说明书B. 用例图C. 活动图D. 项目计划答案:ABC14. 需求分析阶段,以下哪些是需求分析的原则?()A. 明确性B. 完整性C. 可测试性D. 可扩展性答案:ABC15. 需求分析阶段,以下哪些是需求分析的工具?()A. 用例图B. 数据流图C. 甘特图D. 活动图答案:ABD16. 需求分析是软件开发过程中的第一步。
网络需求分析与系统设计考试
网络需求分析与系统设计考试(答案见尾页)一、选择题1. 在进行网络需求分析时,以下哪个不是需要考虑的因素?A. 业务需求B. 用户需求C. 技术可行性D. 成本效益2. 网络系统设计的基本原则不包括以下哪一项?A. 可靠性B. 高可用性C. 性能优化D. 安全性3. 在规划网络拓扑结构时,以下哪种拓扑结构通常被认为是高度可靠的?A. 星型拓扑B. 环型拓扑C. 树型拓扑D. 网状拓扑4. 在网络设计中,以下哪个是负载均衡技术的目的是?A. 提高网络性能B. 增加网络带宽C. 提高网络安全性D. 降低网络延迟5. 在进行网络需求分析时,以下哪个不是需求分析的目的?A. 了解用户需求B. 确定系统目标C. 编写需求规格说明书D. 进行系统设计6. 在网络设计中,以下哪个因素通常不是影响网络性能的主要因素?A. 网络设备性能B. 网络协议选择C. 网络管理员技能D. 网络带宽7. 在规划网络安全策略时,以下哪个因素通常不是首要考虑的?A. 数据保密性B. 数据完整性C. 数据可用性D. 数据可见性8. 在进行网络需求分析时,以下哪个不是需求分析的方法?A. 问卷调查B. 访谈C. 分析现有系统D. 实验和测试9. 在网络系统设计中,以下哪个是冗余技术的作用?A. 提高网络可靠性B. 节省网络成本C. 增强网络安全性D. 提高网络性能10. 在进行网络需求分析时,以下哪个步骤不是必须的?A. 分析用户需求B. 确定系统目标C. 编写需求规格说明书D. 进行系统设计11. 网络需求分析中,以下哪个因素不是需要考虑的主要因素?A. 服务质量(QoS)B. 系统可靠性C. 用户数量D. 成本效益12. 在进行网络系统设计时,以下哪种拓扑结构通常用于大型企业网络?A. 星型拓扑B. 环型拓扑C. 网状拓扑D. 树型拓扑13. 网络需求分析的目的是什么?A. 了解网络性能B. 设计网络拓扑C. 制定网络标准D. 评估网络安全性14. 在网络设计中,以下哪个因素通常决定网络设备的类型和数量?A. 网络速度B. 用户数量C. 数据流量D. 网络拓扑15. 网络安全措施中,以下哪个不是常见的安全策略?A. 防火墙B. 入侵检测系统(IDS)C. 加密技术D. 身份验证16. 在设计网络时,以下哪个因素通常与带宽有关?A. 数据传输速率B. 用户满意度C. 网络延迟17. 以下哪个选项是网络需求分析中不需要考虑的因素?A. 可扩展性B. 可靠性C. 可用性D. 安全性18. 在网络设计中,以下哪个因素通常与网络延迟有关?A. 网络设备性能B. 数据传输速率C. 网络拓扑D. 用户数量19. 以下哪个因素通常影响网络的可扩展性?A. 网络设备性能B. 网络带宽C. 网络协议D. 网络管理策略20. 在网络安全设计中,以下哪个策略通常是最有效的?A. 最小权限原则B. 防御深度C. 安全审计D. 定期更新和打补丁21. 网络需求分析中,以下哪个因素不是需要考虑的主要因素?A. 服务质量(QoS)B. 可扩展性C. 成本效益D. 技术可行性22. 在进行网络系统设计时,以下哪个选项不是优化性能的关键指标?B. 带宽C. 负载均衡D. 系统可靠性23. 网络安全设计中,以下哪个措施不能有效防止拒绝服务攻击(DoS)?A. 实施访问控制列表(ACLs)B. 应用层防火墙C. 使用加密技术D. 限制端口使用24. 在规划网络拓扑时,以下哪个选项不是考虑的因素?A. 硬件资源B. 技术要求C. 管理需求D. 文化差异25. 在网络设计中,以下哪个选项不是冗余策略的例子?A. 部署备份服务器B. 使用负载均衡器C. 实现环形拓扑结构D. 设置故障切换机制26. 在网络安全设计中,以下哪个措施不是预防措施?A. 实施入侵检测系统(IDS)B. 定期进行安全审计C. 制定灾难恢复计划D. 加密敏感数据27. 在进行网络需求分析时,以下哪个工具不是常用的?A. 问卷调查B. 系统性能测试工具C. 专家咨询D. 数据收集和分析工具28. 在网络系统设计中,以下哪个选项不是提高可靠性的措施?A. 部署备份系统B. 实现冗余硬件C. 实施容错技术D. 采用分层设计29. 在规划网络拓扑时,以下哪个选项不是物理设计的一部分?A. 位置选择B. 设备选型C. 线缆布局D. 网络协议选择30. 在进行网络需求分析时,以下哪个不是需要考虑的因素?A. 用户需求B. 技术可行性C. 成本效益D. 系统可靠性31. 在系统设计阶段,以下哪个不是主要的考虑因素?A. 硬件选型B. 软件架构C. 数据库设计D. 系统安全性32. 在网络需求分析中,以下哪个是用来评估系统性能的指标?A. 可靠性B. 可用性C. 响应时间D. 扩展性33. 在系统设计中,以下哪个是用来保证数据安全性的措施?A. 加密技术B. 访问控制列表C. 防火墙D. 安全审计34. 在进行网络需求分析时,以下哪个不是用户需求的直接体现?A. 功能需求B. 性能需求C. 外部接口需求D. 系统流程需求35. 在系统设计中,以下哪个是用来实现系统可扩展性的方法?A. 模块化设计B. 内存保护C. 文件系统设计D. 数据库优化36. 在网络需求分析中,以下哪个是用来评估系统的可靠性的?A. 错误恢复能力B. 容错能力C. 系统稳定性D. 网络带宽37. 在系统设计中,以下哪个是用来保证系统安全性的技术?A. 防火墙B. 入侵检测系统C. 加密技术D. 身份认证机制38. 在网络需求分析中,以下哪个是用来描述系统性能的参数?A. 响应时间B. 传输速率C. 吞吐量D. 资源利用率39. 在系统设计中,以下哪个是用来实现系统高可用性的措施?A. 负载均衡B. 故障切换C. 数据备份D. 系统监控40. 在进行网络需求分析时,以下哪个不是需要考虑的因素?A. 用户需求B. 技术可行性C. 成本效益D. 系统可靠性41. 网络系统设计的基本原则不包括以下哪一项?A. 可靠性B. 可用性C. 高效性D. 安全性42. 在规划网络拓扑结构时,以下哪种拓扑结构通常被认为是高度可靠和可扩展的?A. 星型拓扑B. 环型拓扑C. 网状拓扑D. 树状拓扑43. 在网络设计中,以下哪个是用来评估带宽需求的关键参数?A. 数据传输速率B. 信号强度C. 误码率D. 错误检测率44. 在制定网络预算时,以下哪个因素通常不会被考虑在内?A. 设备成本B. 运营成本C. 维护成本D. 人员成本45. 在网络协议中,以下哪个是用于确保数据在发送方和接收方之间准确无误地传输的机制?A. 序列号B. 错误检测C. 流量控制D. 多路复用46. 在设计网络安全策略时,以下哪个不是主要关注的方面?A. 数据加密B. 访问控制列表C. 入侵检测系统D. 身份验证47. 在选择网络设备时,以下哪个特性通常不是基于性能来衡量的?A. CPU处理能力B. 内存容量C. 网络接口卡速度D. 设备功耗48. 在网络需求分析中,以下哪个是确定网络性能指标的关键步骤?A. 分析用户行为B. 与管理层沟通C. 进行需求分析D. 制定测试计划49. 在设计网络方案时,以下哪个是确保网络安全的关键措施?A. 使用强密码策略B. 定期更新软件补丁C. 实施访问控制列表D. 建立紧急响应计划二、问答题1. 什么是网络需求分析?请简要描述其目的。
需求分析与设计课后答案
第一章1.需求分析与系统设计之间的界限是什么何时从分析阶段进入设计阶段需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素为什么要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
软件工程课后习题参考答案
软件工程课后习题参考答案一、概述软件工程作为一门跨学科的学科,涉及到软件开发的各个方面,对培养软件工程师的能力具有重要意义。
课后习题是巩固和深化学生对课程知识的理解和应用的重要途径。
本文将为软件工程课后习题提供一些参考答案,供学生参考和自我评估。
二、需求分析与规格说明1. 什么是软件需求?软件需求分析的目的是什么?软件需求是对问题域中用户对软件所期望的功能和性能的描述。
软件需求分析的目的是识别、理解、规范和管理软件系统开发的需求。
2. 软件需求分析的基本步骤是什么?软件需求分析的基本步骤包括需求获取、需求建模、需求验证和需求管理。
3. 什么是功能需求?什么是非功能需求?功能需求描述的是软件系统应具备的具体功能和行为。
非功能需求则描述了软件系统的其他属性,例如性能、安全性、可靠性等。
4. 举例说明一些常见的软件需求验证方法。
常见的软件需求验证方法包括需求审查、原型验证、测试和模型检查等。
三、软件设计与架构1. 什么是软件架构?软件架构的重要性是什么?软件架构是软件系统的基础结构和组织方式,决定了软件系统的可扩展性、可维护性和可演化性。
软件架构的合理设计能够降低开发和维护的难度。
2. 请简要介绍常见的软件架构模式。
常见的软件架构模式包括分层架构、客户-服务器架构、面向对象架构和微服务架构等。
3. 什么是设计模式?列举几个常见的设计模式。
设计模式是针对软件设计中的常见问题所提出的解决方案。
常见的设计模式包括单例模式、观察者模式、工厂模式和策略模式等。
4. 请简要介绍面向对象设计的原则。
面向对象设计的原则包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则等。
四、软件测试与质量保证1. 软件测试的目的是什么?请简要介绍测试驱动开发(TDD)。
软件测试的目的是发现软件产品中的错误和缺陷。
测试驱动开发是先编写测试用例,再根据用例编写代码的开发模式。
2. 请简要介绍黑盒测试和白盒测试。
黑盒测试是基于软件外部行为和需求的测试,不考虑软件的内部实现。
需求分析sre试题及部分答案
1.在项目初始阶段,开发任务最先需要明确的是____d_____A.理解基本问题B.确定所需解决方案C.确定需要的解决方案的人选D.以上都不是2.需求规格说明描述了____a_______A.解决方案系统的功能、性能及约束B.解决方案系统的实现C.软件系统体系结构的元素D.系统仿真所需要的时间3.组织需求评审的最好方法是___________d__A.检查系统模型的错误B.让客户检查需求C.将需求发放给设计团队去征求意见D.使用审查清单检查每一个需求4.在需求开发过程中,软件工程师应与客户共同定义____d______A.客户可见的使用场景B.重要的软件特性C.系统的输入输出D.A、B和C都包括5.风险管理中不包括____a______A.风险预测B.风险评价C.风险控制D.风险避免6.前景文档不应包括___b______A.业务需求B.重要的质量属性C.高层次解决方案D.系统范围7.某公司欲开发一个在线交易系统,为了能够精确表达用户与系统间的复杂交互过程,应当采用UML中的_____d_____进行交互过程建模。
A.类图B.时序图C.对象图D.状态图8.下列关于质量属性中健壮性的描述正确的是______a_____A.健壮的软件可以从发生问题的环境中完好恢复并可容忍用户的错误。
B.产品运行过程中,由于软件失效而引起实验失败的概率不应超过1%。
C.健壮性可以使用软件无故障运行的时间来衡量。
D.健壮性高的软件修复一次缺陷比较容易,对于那些需要快速开发的产品很重要。
9.下列关于产品代表者的描述错误的是_______b________A.每一个产品代表者代表了一个特定的用户类。
B.一个特定用户类只能由一个产品代表者代表。
C.产品代表者在他所代表的用户类和开发者之间充当主要的接口。
D.产品代表者可以对所在用户类中的不一致的需求作出决策。
10.__c_______决定是否采纳建议的变更请求。
A.变更修改者B.变更评估者C.变更控制委员会D.变更验证者11.需求分析阶段结束后,应交出的文档中,不包括(D)A. 数据流图B.数据字典C.简明的算法描述D.项目的经费预算12. 系统开发过程通常被分为若干个阶段,每个阶段的开始和结束都有明确的规定,人们常将开发过程中,完成某项关键工作得时刻称为里程碑,完成(B)时最适合称为里程碑。
《软件需求分析、设计与建模》简答题样题2(含答案)
1.What is object technology? What do you perceive as object technology’s strength? It’s weakness?OOT is such a technology that facing the objective world and the question realm and using the generally thinking way of human-beings to acknowledge the nature world to describe some things.OOT fit the thinking way of human-beings and easy to protect and functions’ addition and decrease are also become more convenient. And OOT’s reusing is more strengthen.weakness2. What is UML? List at least three benefits of developing with UML.UML(Unified Modeling Language)is used to proceeding the visual model of software dense system.(1)UML can help to express things exactly.(2)UML can help programmer to write a better code.(3)UML can accelerate the procedure’s development.3.What process characteristic best fit the UML? Describe each characteristic.4.What is a use-case driven process? What is use-case? What are the benefits of use case?It is the use-case become a guidance of program.Use-case is a description of system functions.Use-case can help us to get a general impression of the determined system.5.What is system’s architecture? What is an architecture-centric Process?System’s architecture is an overall construction of a system, it include the concept, the requirements and all of the detail in implementing the project. The architecture-centric process is a process that exploit a software use the system’s architecture.6.What is iteration? What are the benefits of Iterative Development?Iteration is a way of exploiting the software that finishing the software in several steps, and it need the customer present his advices after every step in order to ensure the product can fit to the requirements of the customer’s. Iteration can ensure a lower risk in a large project.7.What are the basic principles of OO technology? Describe each in detail.Abstraction, it report those important properties connect to the applications.Encapsulation, it can cover details of implementation and is the basis of the modularity.Modularity, it break complex part into simple piecesHierarchy, it provides a method that can let the son class to get data from father class.8.What is use case model? Which artifacts can be included in a use case model?9.List three types of relationships existed between different use cases and give examples.Generalization, Include, Extend.Generalization, apples and bananas can be generalized as fruit.Include, the banana peel is included in the banana.Extend, we can eat the banana, but we can also smash it and mixed it with yogurt and drink it, drinking is an extension.10.Explain the following diagram and their elements with examples.1) Use case diagram 2) Activity diagram 3) Sequence diagram 4) Collaboration diagram5) Class diagram 6) state chart diagram 7) Deployment diagram1)2)3)4)5)6)7)11.Describe the similarities and differences between the sequence diagram and collaborationdiagram.They are both interactive diagram, but collaboration diagram don’t care about when the information be transferred.12.Define the different relationships in class diagram: dependency, association, aggregation,composition, generalization.Dependency, is a connection during two classes, one class depend another class.Association, it let a class acquire another class’s functions and attributes.Aggregation, it is the association but those two classes are in different levels, one is entity but the other one is part.Composition, it is a kind of aggregation, it demands the object that represent the entity in responsible of the life cycle of the object that represent the part.Generalization, it represents the hierarchy between two classes.13.What is a node in deployment diagram? List two different types of nodes.Node in deployment diagram always represent a device .14.Describe the extensibility mechanisms of UML.15.What is the function of Stereotypes?Give two examples of stereotypes.16.Explain the six best practices of software engineering.1)Iteration 2)Manage requirements 3)Module-basis architecture 4)visualization modeling5) software quality’s confirmation 6)Control the changes of software.17.What is RUP? How many phases are there in RUP? Describe each phase’s purpose andmilestone.It is a programming exploitation methodology which is OOT and web-basis.Inception, Elaboration, Construction, TransitionInception: Constructing the business cases of system and confirm the edge of the project.Lifecycle objective.Elaboration: Analysis the problem domain.Lifecycle architecture.Construction: Product’s exploitation.Initial operation.Transition: Ensuring the software is usable to the customer.Product release. and briefly describe the “4+1”views of architecture.Ans:Which of the four views are:Logical View which is the logical relationship around the objects,Process View which is the view that show the actions of the objects or software actions,Deployment View which is to show the relatonship between the module of the objects and Implementation View which is the software implementations.And the one view can be Use-Case View.19.What is the difference between analysis and design?The analysis focus on understanding of de problem,but the design focus on the understanding of the solution.20.Please describe the whole process of OO analysis and design with UML.Ans:1.Build the requirement model-the plan for the reqiurement2.Build the basic model-Class diagram3.Build the assistant diagram4.Design the protocol of the model5.Prototype Development21.What is a layered architecture? Give examples of typical layers.Ans:A layered architecture can be descript as the “separation of responsibility which is to say that each layer is responsible for a finite amount of work.For instance,a company may has its enterprise architecture.The layers of the manager and the layers of the employees.They have the responsibilities themselves and they have their own layers.22.What are analysis mechanisms? What are design mechanisms? Give examples.Ans:Analysis mechanisms can be a process which may run through the whole analysis.And so does the design mechanisms.For instance,a analysis mechanisms may contains Auditing, Communication and so on.23.What is an analysis class? Name and describe the three analysis stereotypes. Give examples. Boundary Classes: Behavior that involves communication with an actorEntity Classes: Behavior that involves the data encapsulated within the abstractionControl Classes: Behavior specific to a use case or part of a very important flow of events24.What is Use-case realization? What‘s your understandings about the benefit of the use-caserealization structure.Ans:The Use-case realization is a method to realize the problem that we should analyse.The use-case realization structure helps to organize the model elements needed to realize the use cases in the design model.25.Describe the steps occurred in the use-case analysis.Ans:It may contain five steps: (1)Identify Use Cases,(2)Indentify Domain Class and relationships,(3)Define the System Sequence Diagram for each use case,(4)Produce an operation,(5)Draw a sequence diagram for each use case.26.What’s the package, and why we need package?Ans:Package is a universal mechanism that organize other elements of the models together.Why we need?If a system has a lot of structures and we have to know more about the structures,then we should point to the so many elements that the systems or the structureshave.And at that time we can find that this may big a complex and hard work.So the package has been developed for this. Package is a universal mechanism that organize other elements of the models together.So we can analyse the system from the bigger layers instead of the great number of the element.27.What is a subsystem? What is an interface? How does a subsystem differ from a package? Ans: A subsystem is a coherent and somewhat independent component of a larger system.It is an element of the model,and it contains the semantics of the packages and the classes.An interface can be an operation about the subsystem.A subsystem realizes one or more interfaces that define its behavior.28.What is the purpose of describing the run-time architecture? How to model the process view? Ans:Describing the run-time architecture’s purpose is:Analyze concurrency requirements,Identify processes and threads,Identify process lifecycles, Map processes onto the implementation and Distribute model elements amongProcesses.The Process View is an “architecturally significant” slice of theprocesses and threads of the Design Model.Processes can be modeled using:1. Active classes (Class Diagrams) and Objects(Interaction Diagrams)ponents (Component Diagrams)29.What is the purpose of describing the distribution? How to model the deployment view? Ans:The purpose is to Reduce processor load.For the Special processing requirements,Scaling concerns,Economic concerns and Distributed access to the system.The Deployment View is an “architecturally significant” slice of the Deployment Model.The deployment view will contain nodes and connections.Connection lines are used to connect the nodes that will be Physical run-time computational resource,Processor node and Device node.And connections may contain Communication mechanism,Physical medium and Software protocol30.Describe the 3 typical distribution patterns, C/S , B/Sand P2P.Ans:C/S:Client/Server, in network connections pattern, besides coordinated net, but also has another form network, namely client/server net, Client/Server. In the client/server network, the server is the network core, but the client is the network foundation, the client dependence server obtains the network resource which needs, but the server provides the network for the client to resources.B/S: Browser/Server,is called as Browser/Server patterns.It is developing as the development of Internet,it is improved from the C/S.P2P: Peer-to-peer network. According to the network in the shared resource way's difference, the local area network has two kind of configurations of organization: One kind is the peer-to-peer network (), another kind is the workstation/server structure. Between peer-to-peer network's computer may correspond mutually and the shared resource (document, peripheral device and so on); But in the workstation/server structure's network may the shared resource place on special purpose computer - server (server), between workstation not mutually direct shared resource. 31.What is the difference between the process models of agile and RUP?Ans: Rational Unified Process is a whole software process,but the process models of agile may bea process in an Architecture or in part of a software.That is to say the RUP may contain the process models of agile.。
需求分析习题一、二(答案)
习题1一、单项选择题1、软件生产中产生需求问题的最大原因在于对应用软件的(C)理解不透彻或应用不坚决。
(A)复杂性(B)目的性(C)模拟性(D)正确性2、需求分析的目的是保证需求的(B)。
(A)目的性和一致性(B)完整性和一致性(C)正确性和目的性(D)完整性和目的性3\现实世界中的(B)构成了问题解决的基本范围,称为该问题的问题域。
(A)属性和状态(B)实体和状态(C)实体和操作(D)状态和操作4、比较容易发现的涉众称为初始涉众,又称为(B),通常包括客户、管理者和相关的投资者。
(A)关键涉众(B)涉众基线(C)普通涉众(D)一般涉众5、按照使用方式进行分类,原型可分为:演示原型、(D)、试验原型和引示系统原型。
(A)非操作原型(B)系列首发原型(C)选定特征原型(D)严格意义上的原型二、填空题1、传统的需求分析方法都是从设计领域转入分析领域的。
2、需求工程是所有需求处理活动的总和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。
3、软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。
三、简答题1、简述需求工程的主要任务。
答:需求工程有以下三个主要任务:①需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,也即要同时说明软件需要“做什么”和“为什么”需要做。
②需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后继软件开发阶段的工作基础。
③现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。
同时,为了节省开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。
完整版需求分析与设计课后答案
第一章1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
.解释下列名词,需求,规格说明,问题域特性和约束,并结合他2. 们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明是解系统为满足用户需求而提供的解决方案,规格说明: 规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,而且这些规律不会因解系统的引入而发生改变,它有自己的运行规律,当这些特性非常明确时称之为约这种自治的规律性称为问题域特性,束。
需求工程必须说明软件系统将应用的环境及1.需求工程的主要任务:还要说明在设计和实现这说明用来达成这些目标的软件功能,目标,方法所施加的限制些功能时上下文环境对软件完成任务所用的方式、需求工程必须将目标、功能和约束反映到软件系统中,映和约束。
2需求工射为可行的软件行为,并对软件行为进行准确的规格说明。
3 程还要妥善处理目标、功能和约束随着时间的演化情况。
软件工程教程课后参考答案
软件工程教程课后参考答案软件工程是一个涉及软件开发生命周期的综合性学科,它包含了软件需求、设计、开发、测试和维护等多个环节。
本文将为大家提供软件工程教程的课后参考答案,帮助读者更好地理解和掌握软件工程的相关知识。
一、软件需求分析在软件开发过程中,需求分析是非常关键的一步。
它的目的是明确用户的需求,为后续的软件设计和开发提供依据。
需求分析主要包括以下几个步骤:1.1 需求搜集:通过与用户沟通、调研等方式收集用户需求,可以采用面谈、问卷调查等方法。
1.2 需求分析:对搜集到的需求进行整理和分析,明确用户的具体需求和优先级。
1.3 需求规格说明:将需求以文档形式进行规格化,包括用例图、用例描述、功能需求等。
1.4 验证需求:通过与用户的确认、需求评审等方式,确保需求的正确性和完整性。
二、软件设计软件设计是指根据需求分析的结果,对软件进行整体架构、模块划分等设计工作。
下面是软件设计的一般过程:2.1 系统架构设计:确定系统的整体结构,包括模块划分、模块之间的关系等。
2.2 模块设计:对系统中的每个模块进行详细设计,包括定义模块接口、数据结构等。
2.3 数据库设计:设计系统所需的数据库结构,包括数据表的设计、关系建立等。
2.4 用户界面设计:设计软件的用户界面,包括界面布局、交互方式等。
2.5 验证设计:对设计进行评审和验证,确保设计的合理性和可行性。
三、软件开发软件开发是指根据需求和设计的结果,进行编码、调试和测试等开发工作。
下面是软件开发的一般过程:3.1 编码实现:根据设计文档进行编码工作,将设计的结果转化为可执行的程序。
3.2 单元测试:对每个模块进行独立测试,确保模块的功能和接口正确。
3.3 组件测试:将多个模块组装在一起进行测试,确保各个模块之间的协同工作正常。
3.4 系统测试:对整个软件系统进行测试,包括功能测试、性能测试等。
3.5 调试和修复:在测试过程中发现问题,进行调试和修复,确保软件的稳定性和可靠性。
需求分析试题及答案
需求分析试题及答案1. 需求分析的定义是什么?答案:需求分析是指在软件开发过程中,对用户需求进行详细研究和分析的过程,目的是明确软件系统必须完成哪些功能,以及这些功能的具体要求。
2. 需求分析的重要性体现在哪些方面?答案:需求分析的重要性体现在以下几个方面:- 确保软件满足用户的实际需求。
- 为软件设计和开发提供明确的指导。
- 减少后期修改和维护的成本。
- 提高软件项目的成功率。
3. 需求分析的常见方法有哪些?答案:需求分析的常见方法包括:- 访谈:与用户进行面对面的交流,了解他们的需求。
- 问卷调查:通过设计问卷来收集用户的需求信息。
- 观察:直接观察用户在使用类似系统时的行为。
- 原型法:创建一个初步的软件原型,让用户试用并提出反馈。
4. 如何进行有效的需求分析?答案:进行有效的需求分析可以遵循以下步骤:- 确定需求分析的目标和范围。
- 收集和整理需求信息。
- 分析和评估需求的可行性。
- 编写需求规格说明书。
- 与用户进行沟通和确认需求。
- 进行需求变更管理。
5. 需求规格说明书的作用是什么?答案:需求规格说明书的作用包括:- 作为软件开发的基线文档。
- 帮助开发团队理解用户需求。
- 作为用户验收测试的依据。
- 用于项目管理和进度跟踪。
6. 需求变更管理的目的是什么?答案:需求变更管理的目的是确保需求的变更得到适当的控制和记录,以避免项目目标的偏离和成本的增加。
7. 需求分析中如何识别和处理冲突的需求?答案:在需求分析中,识别和处理冲突的需求可以通过以下方法:- 优先级排序:确定需求的优先级,优先满足最重要的需求。
- 需求协商:与用户进行沟通,寻求折中方案。
- 需求分解:将复杂需求分解为更小的、可管理的部分。
8. 需求分析完成后,如何验证需求的正确性?答案:需求分析完成后,可以通过以下方式验证需求的正确性:- 用户评审:邀请用户评审需求规格说明书。
- 原型测试:创建原型并让用户进行测试。
- 需求跟踪:确保需求在后续开发过程中得到实现。
需求分析习题及答案
第三章需求分析一.填空题1. 需求分析的步骤_____________ , _____________ , _____________ , ____________ 。
2. 需求分析阶段需编写的文档有_________________ , ____________ , ______________ 。
3. 系统规格说明,数据要求,______________ ,____________ ,这四份文档资料是在书写文档阶段必需完成的。
4. 在书写文档阶段,数据要求主要包括通过需求分析建立起来的__________________ ,以及描绘数据结构的层次方框图。
5. 对于计算机程序处理的数据,其数据域应包括___________________ , _____________ ,和数据结构。
6. 数据内容即是_______________ 。
7. 把一个功能分解成几个子功能,并确定_________________________ ,就属于横向分解。
8. 软件需求的逻辑视图给出___________________________ ,而不是实现的细节。
9. 功能一般用_____________________ ,来表示。
10. 结构化分析方法是______________________ ,进行需求分析的方法.11.描述结构化分析方法的工具有,判定表,判定赵寸。
12. SA方法中自顶向下的分析策略主要是和。
13. 数据流图的基本组成部分有_________________ ,_________________ ,________________ ,______________ 。
14. 数据流图的特性________________ , ______________ , ________________ ,___________ 。
15. 数据流图和数据字典共同构成了系统的_________________ 模型,是需求规格说明书的主要组成部分。
需求习题集及解答
需求习题集及解答【例1】软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
供选择的答案:A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确答案: C.分析:作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。
一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。
【例2】各种需求方法都有它们共同适用的( )。
供选择的答案:A.说明方法B.描述方式 C. 准则D.基本原则答案: D.分析:虽然各种分析方法都有独特的描述方法,但所有的分析方法还是有它们共同适用的基本原则。
这些基本原则包括:▪需要能够表达和理解问题的信息域和功能域;▪要能以层次化的方式对问题进行分解和不断细化;▪要分别给出系统的逻辑视图和物理视图。
【例3】在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
供选择的答案:A. 数据流图B. 数据词典C. 结构化英语D. 判定表与判定树答案: A.分析:数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,所以,它不是描述数据的静态结构,而是描述数据流的传递和变换。
数据词典主要用于定义数据和控制对象的细节,结构化英语、判定表和判定树主要用于描述加工规格说明,都不是表达数据在系统内运动情况的工具。
【例4】在结构化分析方法中用状态―迁移图表达系统或对象的行为。
在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。
供选择的答案:A. 1B. 2C. 多个D. 不确定答案: C.分析:在状态―迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。
实际会迁移到哪一个状态,是由更详细的内部状态和更详细的事件信息来决定的,此时在状态―迁移图中可能需要使用加进判断框和处理框的记法。
状态―迁移图的优点:第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态等。
产品市场调研与需求分析---课后测试及答案
产品市场调研与需求分析课后测试1、以下对市场调研的六个关键步骤的正确排序是()(10分)A定义问题>定义结果的准确度>收集数据>分析与解读数据>得出结论>实施B定义结果的准确度>定义问题>收集数据>分析与解读数据>得出结论>实施C收集数据>分析与解读数据>定义问题>定义结果的准确度>得出结论>实施D收集数据>分析与解读数据>定义结果的准确度>定义问题>得出结论>实施正确答案:A2、以下对次级市场调研的描述,错误的是()(10分)A次级市场调研是在其他个人、群体或机构已经开展的研究和公布的信息基础上,进行的市场调研B整个产品创新流程中,次级市场调研的价值主要体现在项目早期阶段C为一级市场调研奠定基础D为高风险或低成本决策提供信息正确答案:D3、进行贝塔测试的主要目的是什么?(10分)A在开发者内部完成对软件进行测试,为下一版本产品更新提供参考B获得不同用户群体的反馈,并检查产品对不同类型网络和硬件的兼容性C为通过伽马测试做准备D该阶段不再开发新特性,通过测试改进现有特性,对错误进行修复正确答案:B4、根据卡诺模型,一个产品具备魅力属性时,就是对应了客户的哪项需求?(10分)A基本需求B必要需求C期望需求D兴奋需求正确答案:D1、以下哪些调研方法属于一级市场调研中的定性方法?(10分)A人种学B深度访谈C问卷调查D社交媒体正确答案:ABD2、焦点小组调查法有哪些优点?(10分)A为探讨的每个主题提供更多细节、背景、语言、情感和关系B直接获得来自市场代表的意见(未经调查问卷或分析筛选)C可以观察参与者的行为,尤其在对参与者进行产品使用调研时D人员间的互动可引发讨论,也可以提供新的洞察并促进深度了解正确答案:BCD3、以下用户研究方法中,属于用户思维的是()(10分)A后台数据分析B A/B测试C需求挖掘D用户反馈意见分析正确答案:AB4、在使用头脑风暴发时,都有哪些基本原则?(10分)A鼓励大胆的想法B专注于一个话题C一次只进行一次对话D激发大量想法而非质量正确答案:ABCD1、使用训练有素的评测组方法做调研,能够反映目标市场的态度、信念、看法和行为。
需求工程课后重点答案
需求工程课后重点答案在需求工程课程中,我们学习了许多与软件需求相关的内容,包括需求的定义、分类、获取、分析、规格等方面。
这里汇总了一些课后重点答案,帮助大家更好地掌握课程内容。
需求的定义1. 什么是需求?需求是用户和系统之间的桥梁,其本质是对用户需求描述的标准化表示。
需求对于软件系统的开发、测试、部署和维护都至关重要。
2. 需求的分类有哪些?需求可以分为以下几类:•功能性需求:系统需要完成的任务和功能。
•非功能性需求:系统需要满足的性能、安全、可用性等方面的要求。
•业务需求:与特定业务领域相关的需求。
•约束性需求:来自系统外部的限制条件。
需求的获取1. 需求获取的方法有哪些?•面试、访问和问卷调查等人际交流方式;•观察、现场调研、用户追踪等观察获取方式;•归纳分析、数据挖掘、机器学习等数据分析方法;•技术原型、模拟、实验等实践方式。
2. 为什么需求获取是关键的一步?需求获取是软件开发过程中最关键、最困难的一步,如果获取不足或不准确,将会导致系统无法满足用户需求,甚至出现安全漏洞等隐患。
需求的分析1. 什么是需求分析?需求分析是识别、梳理和综合用户需求,并将之转化为软件能够实现的具体要求的过程。
2. 需求分析的目的是什么?需求分析的目的是保证系统需求的准确性和完整性,从而确保软件能够满足用户和利益相关者的需求。
需求的规格1. 为什么需要对需求进行规格化?规格化可以将不准确或不一致的需求变成可以明确验证的具体描述,同时,规格化可以让需求的修改和追踪更加容易。
2. 需求规格的形式有哪些?需求规格的形式有以下几种:•自然语言描述;•面向对象的UML图形描述;•简要说明书或用户手册;•数据流图、时序图等其他模型。
需求的验证1. 需求验证的目的是什么?需求验证的目的是检查和确认需求是否正确、完整和一致,以及系统是否满足了用户需求。
2. 需求验证的方法有哪些?•代码审查;•模拟和测试;•用户使用评估;•评审或验收会议。
《软件工程学》第3章 需求分析-答案
3.1 需求分析的任务和步骤1.需求分析阶段产生的文档是软件需求规格说明书。
2.需求分析的任务是要建立软件的逻辑模型。
3.分析系统的数据要求是软件需求分析阶段的一个重要的任务。
4.需求分析的任务不包括(B)。
A.问题分析B.系统设计C.需求描述D.需求评审5.需求规格说明书是在计划时期可行性研究阶段产生的文档。
(×)6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。
(×)7.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
(√ )8.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。
(√ )3.2 需求分析获取的常用方法3.3 需求分析的方法3.4 结构化分析技术1.要将一个复杂的系统分析清楚,常用方法的结构化分析方法就是( A )A.面向数据流自顶向下逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法2.结构化程序设计的一种基本方法是( D )。
A.筛选法B.递归法C.归纳法D.逐步求精法3.结构化程序设计主要强调的是( A )。
A.程序易读性B.程序的效率C.程序的规模D.程序设计语言的先进性4.下列各种叙述中,哪一个不是结构化方法的特征?( C )A.严格定义需求B.划分开发阶段C.提供运行模型D.制定规范文档5.通常所说的结构化设计(SD)是属于基于( B )的设计方法。
A.数据结构B.数据流C.对象D.以上均可6.通常所说的结构化设计方法就是基于数据流的设计方法。
7.结构化程序设计强调模块采用自上而下逐步求精设计方法,单入口、单出口。
(√ )3.5 需求分析图形工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1•需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统做什么”系统设计关注如何做”当分析阶段完成后才能进入到设计阶段2•需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3•需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1•需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
4.需求有哪些常见的类别?功能需求和非功能需求有什么差异?严格意义上的软件需求的分类:功能需求(Functional Requirement):和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
「性能需求(Performanee Requirement ):系统整体或系统组成部分应该拥有的性能特征,例如 CPU 使用率、内存使用率等。
质量属性(Quality Attribute ):系统完成工作的质量,即系统 需要在一个“好的程度”上实现功能需求,例如可靠性程度、可 维护性程度等。
对外接口( External In terface ):系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
约束:进行系统构造时需要遵守的约束,例如编程语言、硬件设 施等。
广泛意义上的需求分类:系统级需求(System ):针对系统工程的需求,包括与硬件相关的需 求被称之为硬件需求(Hardware )、与软件相关的需求被称之为软件 需求(Software )、与人力资源相关的需求以及软件、硬件、人力之 间协同的需求被称之为其他需求。
功能需求和非功能需求的差异:除功能需求之外的其他四种类别需求 又被统称为非功能需求。
在非功能需求当中,质量属性对系统成败的 影响极大,因此在某些情况下,非功能需求又被用来特指质量属性。
而且通常一个软件系统的绝大部分需求都是功能需求,在比例上功能 需求有可能占所有需求的90%以上。
5. 描述业务需求、用户需求和系统(级)需求的区别与联系。
业务需求:业务需求是抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,它描述了组织为什么要开发系统 。
非功能需求用户需求:执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够助用户做些什么。
系统需求:用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求;系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么。
业务需求、用户需求和系统(级)需求的区别与联系如右图所示:用户需求----> 系统需求的过程:首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。
该过程就是需求工程当中最为重要的需求分析活动,又称建模与分析活动。
6.优秀的需求哪些特性?试为每一个特性都举出一个不符合的示例。
优秀的需求特性:1)完备性:不需要做更多的扩展就可以充分的说明用户所需要的系统功能。
每一个需求的描述都应该包含开发人员设计和实现这项功能需要的所有信息。
R6 (不完整):系统应该允许被扩展R7 (完整、较R8精确):系统的调度算法应该允许被扩展2)正确性:真实的反映用户的意图;必须请需求的提出者予以确认。
3)可行性:在检查的过程中,由开发人员进行检查可能需要进行一定的分析和研究,而不是单纯的凭借经验和直觉。
对于难以判断的需求,必要的时候要通过开发原型来加以验证。
示例:保证系统核心功能可以7X 24小时连续运行。
4)必要性:满足用户的业务需求所必需的。
5)无歧义:每一项需求都应该有而且只能有一种解释。
定义一个可以共同理解的词汇表(Glossary )6)可验证:通过分析、检查、模拟或者测试等方法能够判断需求是否被满足。
示例:实现各部门的公文流转无纸化、文档一体化、业务管理的规范化、自动化和网络化;统一办公流程、规范公文格式,加强信息交流和共享,提高工作效率;不可验证的需求往往是因为描述模糊或者过于抽象,所以在进行需求的描述时要让需求具体化、小心形容词和副词的使用、避免程度词的使用。
第三章1•需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些?答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。
2.描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果1•需求获取:工作基础:1.收集背景资料2•定义项目前景和范围3•选择信息的来源4•选择获取方法,执行获取5.记录获取结果工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征2•需求分析:工作基础:1背景分析2.确定系统边界3.需求建模4.需求细化5.确定优先权6.需求协商工作目标:1.通过建模整合各种信息,是人们更好地理解问题2.定义一个需求集合,能够为问题界定一个游戏的解决方案工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务3.需求规格说明:工作基础1.定制文档模板2.编写文档工作目标:为了系统涉众之间交流需求信息工作成果:需求规格文档说明4.需求验证工作基础1.执行验证2问题修改工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。
需求规格说明文档定义必须正确准确地反映用户的意图工作成果:验证之后,问题得以修正需求管理:工作基础:1.建立和维护需求基线集2.建立需求跟踪信息3进行变更控制工作目标:保证需求作用的持续稳定和有效发挥工作成果:需求管理会进变更控制和实现合理的变更请求拒绝不合理的变更请求,控制变更的成本和影响范围4•需求工程师需求具备的技能专业技能,分析技能,交流技能,观察技能,建模技能,写作技能,创新技能,协调技能第五章1.为什么要定义项目的前景和范围?答、业务需求、高层解决方案和系统特性都应该被记录下来,定义为项目的前景与范围文档,前景描述了产品的作用和最终的功能,它将所有的涉众都统一到一个方向上范围指出了当前项目是要解决产品长远规划的那一部分,它为项目规定了需求的界限案例题:1.你被任命为替换学生财务资助项目的项目经理。
你想开发一个工作陈述来定义范围并降低范围蔓延的风险。
财务资助部门的主管坚持要你15个月、600 000美元的预算内替换他现有的系统就可以了。
他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。
省略工作陈述的风险是什么?你将如何说服主管?解答:省略工作陈述的风险是不能明确项目的前景和范围。
如果省略了工作陈述的话,我们就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!第六章1•什么是涉众?涉众分析?软件系统中常见的涉众?涉众是与要建设的业务系统相关的一切人和事.涉众分析就是为软件系统寻找并理解关键涉众的过程常见的涉众:管理着:用户、客户、开发人员、管理者、领域专家、政府力量和市场力量等领域专家:在问题域中具有丰富知识的专家*关注软件中的知识政府力量:法律法规、长远规划、政策意向*起约束和指导作用市场力量:组织中的市场部门人员,关注用户的想法*关注用户想法用户:最终使用和操作产品的人关注软件功能客户:为软件系统开发付费的人*关注经济的成本、收益开发者:负责实现软件系统的人*关注技术上的成本和利益第七章2.列出面谈的5个步骤面谈准备的主要工作包括:1、阅读背景资料2、确定面谈的主题和目标3、选择被会见者4、准备会见被会见者5、确定问题和类型第8章1.原型的定义原型是一个系统,他内化了一个更迟系统的本质特征。
2.说明原型在需求获取中的作用和试用情景因为原型是在最终系统产生之前的一个局部真实表现,所以原型方法可以让人们在系统的开发过程中,就能对一些具体问题进行基于事物有效沟通,从而帮助人们今早解决软件开发过程中存在的各种不确定性。
场景:产品以前从未存在过,而且难以可视化,这些产品属于创新产品,他们的基本需求是潜在的,有很大的不确定性产品的用户对相关类别的产品没有经验,而且对将要采用的技术也没有经验。
此时用户无法明确工作的具体细节,产品的细节需求存在着不确定性用户进行自己的工作已经有一段时间了,但在完成工作的方式上依然存在障碍。
用户清晰说明他们的需求方面存在困难。
在澄清和理解之前,这些需求存在着不确定性需求的可行性值的怀疑,即具体需求的可满足性存在着不确定性三、案例题我有一个绝妙的主意!” Bea Kwicke宣布,他是系统团队的一位新来的需求工程师,让我们跳过所有的SDLC垃圾,直接为一切设计原型。