需求分析与设计课后答案
软件需求分析与设计考试 选择题 65题
![软件需求分析与设计考试 选择题 65题](https://img.taocdn.com/s3/m/e8f61ad870fe910ef12d2af90242a8956becaaa8.png)
1. 软件需求分析的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 测试软件D. 部署软件2. 需求规格说明书(SRS)的主要内容不包括以下哪一项?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. UMLB. SQLC. HTMLD. Java11. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件12. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计13. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面14. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题15. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则16. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java17. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件18. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计19. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面20. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题21. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则22. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java23. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件24. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计25. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面26. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题27. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则28. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java29. 软件设计的主要目的是什么?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. UMLB. SQLC. HTMLD. Java35. 软件设计的主要目的是什么?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. UMLB. SQLC. HTMLD. Java41. 软件设计的主要目的是什么?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. UMLB. SQLC. HTMLD. Java47. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件48. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计49. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面50. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题51. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则52. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java53. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件54. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计55. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面56. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题57. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则58. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java59. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件60. 以下哪项不是软件设计的输出?A. 设计文档B. 代码C. 数据库设计D. 用户界面设计61. 在软件设计中,以下哪项活动是错误的?A. 设计系统架构B. 编写代码C. 设计数据库D. 设计用户界面62. 设计模式主要用于解决什么问题?A. 需求不明确B. 代码重复C. 性能问题D. 设计问题63. 以下哪项不是软件设计的原则?A. 单一职责原则B. 开闭原则C. 依赖倒置原则D. 快速迭代原则64. 在设计阶段,以下哪项工具最常用于描述系统架构?A. UMLB. SQLC. HTMLD. Java65. 软件设计的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 设计软件的结构和行为D. 测试软件答案:1. A2. D3. B4. A5. D6. B7. B8. D9. D10. A11. C12. B13. B14. D15. D16. A17. C18. B19. B20. D21. D22. A23. C24. B25. B26. D27. D28. A29. C30. B31. B32. D33. D34. A35. C36. B37. B38. D39. D40. A41. C42. B43. B44. D45. D46. A47. C48. B49. B50. D51. D52. A53. C54. B55. B56. D57. D58. A59. C60. B61. B62. D63. D64. A65. C。
第3章 需求分析
![第3章 需求分析](https://img.taocdn.com/s3/m/cad34e89e87101f69f319520.png)
第3章需求分析一、填空题(30小题)1、需求分析的困难主要体现在4个方面:问题的复杂性、( )、( )、需求易变性。
答案:交流障碍、不完备性和不一致性2、由于数据流是流动中的数据,所以必须有( )。
除了与( )之间的数据流不用命名外,数据流应该用名词或名词短语命名。
答案:流向、数据存储3、需求分析是指,开发人员要准确理解( ),进行细致的( ),将用户非形式的需求陈述转化为( ),再由( )转换到相应的形式功能规约(需求规格说明)的过程。
答案:用户的要求、调查分析、完整的需求定义、需求定义4、建立数据字典一般的两种形式是( )和( )。
答案:手工建立、利用计算机辅助建立并维护5、在进行可行性研究和软件计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入( )阶段。
答案:需求分析6、结构化语言是介于自然语言(英语和汉语)和形式化语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述( ),采用( )、( )、( )三种基本结构。
答案:控制结构、顺序、选择、重复7、在SA的需求描述工具中,( )描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。
( )定义了数据流图中每一个图形元素。
结构化语言、判定表和判定树则详细描述数据流图中不能被再分解的( )。
答案:数据流图、数据字典、每一个加工8、IDEF方法分为以下三部分。
IDEF0:用来描述系统的( ),建立系统的( )。
IDEF1:用来描述系统的( ),建立系统的( )。
IDEF2:用来进行系统的( ),建立系统的( )。
答案:功能活动及联系、功能模型、信息及其联系、信息模型、模拟、动态模型9、三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用( )描述。
对于存在多个条件复杂组合的判断问题,用( )和( )。
答案:结构化语言、判定表、判定树10、经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。
软件需求分析与设计考试 选择题 67题
![软件需求分析与设计考试 选择题 67题](https://img.taocdn.com/s3/m/7e7c3308f11dc281e53a580216fc700abb6852af.png)
1. 软件需求分析的主要目的是什么?A. 确定软件的功能和性能B. 编写代码C. 测试软件D. 部署软件2. 需求规格说明书(SRS)的主要内容包括哪些?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. 参与者B. 用例C. 关系D. 代码块12. 需求分析中的“领域模型”主要用于描述什么?A. 系统的功能B. 系统的数据结构C. 系统的用户界面D. 系统的性能13. 需求分析中的“业务规则”主要用于描述什么?A. 系统的操作规则B. 系统的数据规则C. 系统的安全规则D. 以上都是14. 需求分析中的“数据字典”主要用于描述什么?A. 数据的定义B. 数据的关系C. 数据的存储D. 以上都是15. 需求分析中的“接口需求”主要用于描述什么?A. 系统与其他系统的交互B. 系统的用户界面C. 系统的数据接口D. 以上都是16. 需求分析中的“性能需求”主要用于描述什么?A. 系统的响应时间B. 系统的吞吐量C. 系统的并发用户数D. 以上都是17. 需求分析中的“安全需求”主要用于描述什么?A. 系统的访问控制B. 系统的数据加密C. 系统的审计日志D. 以上都是18. 需求分析中的“可用性需求”主要用于描述什么?A. 系统的易用性B. 系统的可靠性C. 系统的可维护性D. 以上都是19. 需求分析中的“可扩展性需求”主要用于描述什么?A. 系统的功能扩展B. 系统的性能扩展C. 系统的架构扩展D. 以上都是20. 需求分析中的“可移植性需求”主要用于描述什么?A. 系统的平台移植B. 系统的数据库移植C. 系统的网络移植D. 以上都是21. 需求分析中的“合规性需求”主要用于描述什么?A. 系统的法律法规遵守B. 系统的行业标准遵守C. 系统的公司政策遵守D. 以上都是22. 需求分析中的“风险需求”主要用于描述什么?A. 系统的潜在风险B. 系统的风险评估C. 系统的风险管理D. 以上都是23. 需求分析中的“约束需求”主要用于描述什么?A. 系统的技术约束B. 系统的资源约束C. 系统的环境约束D. 以上都是24. 需求分析中的“假设需求”主要用于描述什么?A. 系统的假设条件B. 系统的假设场景C. 系统的假设风险D. 以上都是25. 需求分析中的“依赖需求”主要用于描述什么?A. 系统的依赖关系B. 系统的依赖组件C. 系统的依赖环境D. 以上都是26. 需求分析中的“冲突需求”主要用于描述什么?A. 系统的功能冲突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. 系统的功能日志B. 系统的性能日志C. 系统的安全日志D. 以上都是48. 需求分析中的“备份需求”主要用于描述什么?A. 系统的功能备份B. 系统的性能备份C. 系统的安全备份D. 以上都是49. 需求分析中的“恢复需求”主要用于描述什么?A. 系统的功能恢复B. 系统的性能恢复C. 系统的安全恢复D. 以上都是50. 需求分析中的“容灾需求”主要用于描述什么?A. 系统的功能容灾B. 系统的性能容灾C. 系统的安全容灾D. 以上都是51. 需求分析中的“高可用需求”主要用于描述什么?A. 系统的功能高可用B. 系统的性能高可用C. 系统的安全高可用D. 以上都是52. 需求分析中的“负载均衡需求”主要用于描述什么?A. 系统的功能负载均衡B. 系统的性能负载均衡C. 系统的安全负载均衡D. 以上都是53. 需求分析中的“扩展性需求”主要用于描述什么?A. 系统的功能扩展性B. 系统的性能扩展性C. 系统的安全扩展性D. 以上都是54. 需求分析中的“可伸缩性需求”主要用于描述什么?A. 系统的功能可伸缩性B. 系统的性能可伸缩性C. 系统的安全可伸缩性D. 以上都是55. 需求分析中的“可管理性需求”主要用于描述什么?A. 系统的功能可管理性B. 系统的性能可管理性C. 系统的安全可管理性D. 以上都是56. 需求分析中的“可维护性需求”主要用于描述什么?A. 系统的功能可维护性B. 系统的性能可维护性C. 系统的安全可维护性D. 以上都是57. 需求分析中的“可测试性需求”主要用于描述什么?A. 系统的功能可测试性B. 系统的性能可测试性C. 系统的安全可测试性D. 以上都是58. 需求分析中的“可部署性需求”主要用于描述什么?A. 系统的功能可部署性B. 系统的性能可部署性C. 系统的安全可部署性D. 以上都是59. 需求分析中的“可监控性需求”主要用于描述什么?A. 系统的功能可监控性B. 系统的性能可监控性C. 系统的安全可监控性D. 以上都是60. 需求分析中的“可审计性需求”主要用于描述什么?A. 系统的功能可审计性B. 系统的性能可审计性C. 系统的安全可审计性D. 以上都是61. 需求分析中的“可报告性需求”主要用于描述什么?A. 系统的功能可报告性B. 系统的性能可报告性C. 系统的安全可报告性D. 以上都是62. 需求分析中的“可日志性需求”主要用于描述什么?A. 系统的功能可日志性B. 系统的性能可日志性C. 系统的安全可日志性D. 以上都是63. 需求分析中的“可备份性需求”主要用于描述什么?A. 系统的功能可备份性B. 系统的性能可备份性C. 系统的安全可备份性D. 以上都是64. 需求分析中的“可恢复性需求”主要用于描述什么?A. 系统的功能可恢复性B. 系统的性能可恢复性C. 系统的安全可恢复性D. 以上都是65. 需求分析中的“可容灾性需求”主要用于描述什么?A. 系统的功能可容灾性B. 系统的性能可容灾性C. 系统的安全可容灾性D. 以上都是66. 需求分析中的“可高可用性需求”主要用于描述什么?A. 系统的功能可高可用性B. 系统的性能可高可用性C. 系统的安全可高可用性D. 以上都是67. 需求分析中的“可负载均衡性需求”主要用于描述什么?A. 系统的功能可负载均衡性B. 系统的性能可负载均衡性C. 系统的安全可负载均衡性D. 以上都是答案:1. A2. D3. C4. B5. D6. D7. C8. D9. D10. A11. D12. B13. D14. D15. D16. D17. D19. D20. D21. D22. D23. D24. A25. D26. D27. D28. D29. D30. D31. D32. D33. D34. D35. D36. D37. D38. D39. D40. D41. D42. D43. D44. D45. D46. D47. D48. D49. D50. D51. D52. D53. D54. D55. D56. D57. D58. D59. D60. D61. D62. D63. D65. D66. D67. D。
信息系统分析与设计第3版课后答案第7章:需求分析
![信息系统分析与设计第3版课后答案第7章:需求分析](https://img.taocdn.com/s3/m/afb1428d3186bceb19e8bbd5.png)
习题答案一、简答题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.试以一台电视机为例,谈功能与性能的区别。
《软件工程导论》课后习题答案
![《软件工程导论》课后习题答案](https://img.taocdn.com/s3/m/1e28be0e76c66137ee0619d9.png)
作业及解答(第3章)
• 数据结构的描述 符 号
= +
含 义
x = a+b
举
例
被定义为 与 或
[...,...] 或 [...|...] { ... }或 m{...}n (...) “...” ..
23:59:38
x = [a , b],x = [a | b] 重复 x = {a}, x = 3{a}8 可选 x = (a) 基本数据元素 x = “a” 连结符 x = 1..9
P1 记录存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F5存款信息 D1存款信息 F7密码 F2取款单
F5存款信息 P3 核算密码
F4利息 F4利息 F6取款信息 P6 设置利率 P4 计算利息
P5 打印利息清单 F8储蓄利率
E2 业务员
23:59:38
F8储蓄利率
F8储蓄利率
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
• 3-6 复印机的工作过程大致如下:未接到复印 命令时处于闲置状态,一旦接到复印命令则进 入复印状态,完成一个复印命令规定的工作后 又回到闲置状态,等待下一个复印命令;如果 执行复印命令时发现没纸,则进入缺纸状态, 发出警告,等待装纸,装满纸后进入闲置状态, 准备接收复印命令;如果复印时发生卡纸故障, 则进入卡纸状态,发出警告等待维修人员来排 除故障,故障排除后回到闲置状态。 • 请用状态转换图描绘复印机的行为。
uml课后习题答案
![uml课后习题答案](https://img.taocdn.com/s3/m/f3ee9a20591b6bd97f192279168884868762b87f.png)
uml课后习题答案第一章系统建模与分析设计的演变课后习题:1、A2、C3、D4、B5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。
6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。
7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。
9、UML的优点是:唯一性、连续性、维护性、复用性和完善性。
第二章统一建模语言UML1、A2、B3、C4、D5、B6、UML分析和设计模型由三类模型图表示,三类模型图是:用例模型图、静态模型图和动态模型图。
7、UML的软件统一开发过程,即生命周期按时间顺序可以划分为,开始,详细设计,系统构造和移交四个阶段及阶段中一系列的循环重复。
8、UML开发过程是一种二维结构软件开发过程,软件项目开发过程流程包括的核心工作内容是,分析,设计,实现,测试和配置9、UML中的五个不同的视图可以完整地描述出所建造的系统,这五种视图是用例视图、逻辑视图、构件视图、进程视图和配置视图。
10、UML中有10中基本图可以完整地描述出所有建造的系统,这10中视图是用例图、类图、对象图、包图、构件图、配置图、序列图、活动图、状态图和合作图。
第三章需求分析与用例建模习题:1、B2、A3、C4、D5、B6、A7、A8、UML软件开发过程需求分析阶段产生的模型由三类模型图表示。
他们是:用例模型图、静态模型图和动态模型图。
9、CRC卡中的描述由类名、类特征、类类型、责任和协作者共五部分组成10、软件项目的目的的可行性研究分析中,技术可行性研究包括风险分析、资源分析、技术分析三部分组成11、在UML软件开发过程的需求分析阶段,建立用例模型的步骤分为,确定系统的范围和边界,确定系统的执行者和用例,对用例进行描述,定义用例之间的关系和审核用例模型。
(完整版)第三章需求分析习题及答案
![(完整版)第三章需求分析习题及答案](https://img.taocdn.com/s3/m/4b1ce2cea417866fb84a8ee8.png)
第三章需求分析一. 填空题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.系统流程图用于可行性分析中的_____的描述。
需求分析习题答案
![需求分析习题答案](https://img.taocdn.com/s3/m/cf35685ea200a6c30c22590102020740be1ecdf1.png)
需求分析习题答案需求分析习题答案在软件开发过程中,需求分析是非常重要的一环。
它的目的是明确用户的需求,确定软件系统的功能和性能要求,为后续的设计和开发工作提供基础。
本文将针对一些需求分析习题,给出相应的答案和解析,帮助读者更好地理解和掌握需求分析的方法和技巧。
1. 为什么需求分析是软件开发过程中的关键步骤?需求分析是软件开发过程中的关键步骤,其重要性体现在以下几个方面:首先,需求分析是明确用户需求的过程。
只有深入了解用户的真实需求,才能设计出满足用户期望的软件系统。
如果需求分析不充分或存在误解,开发出来的软件可能无法满足用户的实际需求,导致项目失败。
其次,需求分析是确定软件系统功能和性能要求的依据。
通过需求分析,可以明确软件系统需要具备的功能和性能特性,为后续的设计和开发工作提供指导。
如果需求分析不准确或不完整,可能导致系统设计和开发过程中出现问题,增加了后续修复和调整的成本。
最后,需求分析是沟通和协作的过程。
在需求分析过程中,需求分析师需要与用户、开发团队和其他相关人员进行充分的沟通和协作,以确保需求的准确理解和共识。
只有通过有效的沟通和协作,才能保证软件开发过程的顺利进行。
2. 需求分析的方法有哪些?需求分析的方法有多种,常用的方法包括:首先,面谈法。
面谈法是通过与用户进行面对面的交流,了解用户的需求和期望。
面谈可以是个别的,也可以是小组的,通过提问和回答的方式获取信息。
面谈法可以直接获取用户的意见和反馈,有助于深入了解用户的需求。
其次,问卷调查法。
问卷调查法是通过编制问卷,向用户发放并收集用户的意见和反馈。
问卷调查可以覆盖更广泛的用户群体,获取更多的信息。
问卷调查法可以定量地分析用户需求,为需求分析提供数据支持。
再次,观察法。
观察法是通过观察用户的工作环境和行为,了解用户的需求和工作流程。
观察法可以直接观察用户在现实环境中的操作和需求,有助于发现用户的隐性需求和问题。
最后,原型法。
原型法是通过制作软件原型,让用户亲自体验和评估系统的功能和界面。
(完整版)需求分析与设计课后答案
![(完整版)需求分析与设计课后答案](https://img.taocdn.com/s3/m/ac3892d5be23482fb5da4c6a.png)
第一章1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段?需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素?为什么?要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么?需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
软件工程-需求分析-复习答案
![软件工程-需求分析-复习答案](https://img.taocdn.com/s3/m/2a05acdb7d1cfad6195f312b3169a4517623e54b.png)
)1. 以下哪一项不是软件危机的表现A.开辟的软件可维护性差 B.软件极易被盗版C.经费预算时常被突破 D.开辟的软件不能满足用户需求2.下面不属于软件工程的三个要素是) 。
A 过程B 环境C 方法D 工具)。
3. 需求分析阶段的任务是确定A 软件开辟方法B 软件开辟工具C 软件开辟费用D 软件开辟功能4. 下列不属于需求分析工具的是)。
A。
数据流图 B.用例图 C。
状态图D。
程序流程图5.关于软件测试的目的,下面观点错误的是) ArrayA.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。
证明程序是正确、没有错误的D。
一个成功的测试用例是发现了至今尚未发现的错误的测试6。
软件详细设计阶段的任务是)。
A.算法与数据结构设计B.功能设计C.调用关系设计 D。
输入/输出设计)7. 下列属于静态测试方法的是A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试)8.汽车是一种交通工具,汽车类和交通工具类之间的关系是ArrayA.组合会萃关系 B。
共享会萃关系C.普通-具体关系 D。
整体-部份关系) .9.结构化程序设计的风格,主要强调的是ArrayA.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合)。
10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是ArrayA.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11 。
“ 软件工程的概念是为解决软件危机而提出的”这句话的意思是)A。
强调软件工程成功解决了软件危机的问题B。
说明软件危机的存在总是使软件开辟不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。
说明软件工程的概念 ,即:工程的原则、思想、方法可解决当时软件开辟和维护存在的问题12。
在软件工程的需求分析阶段,不属于问题识别内容的是)A。
输入/输出需求 B。
性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开辟人员对软件要做什么的共同理解14.一个成功的测试可以)A.表明程序没有错误B.发现了尚未发现的错误C。
时代光华 采购需求分析方法与计划编制 课后测试
![时代光华 采购需求分析方法与计划编制 课后测试](https://img.taocdn.com/s3/m/3fea914b76c66137ee061958.png)
课后测试测试成绩:70.0分。
恭喜您顺利通过考试!•1、以下哪项不属于采购需求的特征?(10 分)A趋势性B周期性C随机性目的性正确答案:D•2、影响采购计划的因素有销售计划、物流清单、准确库存量、物料标准成本设定、__________、价格预期。
(10 分)A采购人员的心情供应商生产效率C专业对口产品质量正确答案:B•1、采购预测的正确流程顺序是?(10 分)A微调B预测报表C采集数据D历史数据汇总E分析处理数据正确答案:A B C D E•2、确定采购数量的依据有?(10 分)A需求计划B用料清单库存量正确答案:A B C•3、采购需求分析方法有哪些?(10 分)A统计分析法BMRP系统推导法C物资消耗定额分析法D需求预测分析法正确答案:A B C D•4、采购计划编制的流程依次是?(10 分)A使用部门提出采购需求B物控部门统筹编写物料、项目需求计划C采购部门将公司物料进行分类D采购计算各类物料采购数量正确答案:A B C D•5、企业的库存量一般有哪几种设置?(10 分)A安全库存量B最低库存量C最大库存量D适中库存量正确答案:A B C•6、企业不同库存量的设置是由产品的______和______来决定的。
(10 分)A产品的性质B产品的需求C采购的需求D采购的性质正确答案:A C•1、采购计划落实需要注意换位、专业对口和前期跟进。
(10 分)正确B错误正确答案:正确•2、一般在企业里面采购清单是由工程技术部门来制定。
(10分)A正确错误正确答案:正确。
需求分析与设计课后答案
![需求分析与设计课后答案](https://img.taocdn.com/s3/m/4901b396ad51f01dc281f1b2.png)
第一章1.需求分析与系统设计之间的界限是什么何时从分析阶段进入设计阶段需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素为什么要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
《软件需求分析、设计与建模》简答题样题2(含答案)
![《软件需求分析、设计与建模》简答题样题2(含答案)](https://img.taocdn.com/s3/m/77771edef5335a8103d22015.png)
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.。
软件需求分析与设计复习题-软件工程
![软件需求分析与设计复习题-软件工程](https://img.taocdn.com/s3/m/465490b9647d27284a73516a.png)
软件需求分析与设计复习题一.判断1、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。
2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。
4.( x ) 好的测试用例应能证明软件是正确的。
5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。
6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。
7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。
8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。
9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。
10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。
11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。
12、( x )软件运行正确,可见软件中没有缺陷(fault)。
13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。
14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。
15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。
16、( x )开发人员和客户对软件质量因素的认可是完全一致的。
17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。
18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。
19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
需求分析习题一、二(答案)
![需求分析习题一、二(答案)](https://img.taocdn.com/s3/m/9d0e7a02ba1aa8114431d9ef.png)
习题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、简述需求工程的主要任务。
答:需求工程有以下三个主要任务:①需求工程必须说明软件系统将被应用的环境及其目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用方式、方法所施加的限制和约束,也即要同时说明软件需要“做什么”和“为什么”需要做。
②需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
需求规格说明是需求工程最为重要的成果,是项目规划、设计、测试、用户手册编写等很多后继软件开发阶段的工作基础。
③现实世界是不断变化的世界,因此需求工程还需要妥善处理目标、功能和约束随着时间的演化情况。
同时,为了节省开支和进行需求规格说明的重用,需求工程还需要对目标、功能和约束在软件产品族中的演化和分布情况进行综合考虑与处理。
软件需求分析(带答案).doc
![软件需求分析(带答案).doc](https://img.taocdn.com/s3/m/cb2aab8848d7c1c709a14539.png)
3、Explain the following terms in English. (Each 4 marks, total 20 marks)1) Management information system P5Ans: An information system that provides for management-oriented (以…为方向的)reporting based on transaction (交易;务)processing and operations of the organization.2) CMM P35Ans: A standardized framework for assessing the maturity (成景卜度)level of an organization's information system development and management processes and products. It consists of five levels of maturity.3) System model P48Ans: A picture of a system that represents reality or a desired reality. System models facilitate (帮助)improved communication between system users, system analysts, system designers, and system builders.4) Critical path P97Ans: The sequence (序列)of dependent tasks that determines the earliest completion date for a project.5) Agile method P123Ans: The integration (整合;结合)of various approaches of systems analysis and design for application as deemed (被视为)appropriate (适当的)to the problem being solved and the system being developed.4、Answer the questions briefly. ( Each 4 marks, total 20 marks)1) What is the common system development process ? P35Ans: First, using a consistent (连续的)process for system development creates efficiencies (效率)that allow management to shift resources between projects.Second, a consistent methodology produces consistent documentation that reduces lifetime costs to maintain the system.Finally, the government has mandated (授权的)that any organization seeking to develop software for the government must adhere (坚持)to certain quality management requirements. A consistent process promotes quality.2) On decision analysis phase, what kinds of feasibilities (可行性)that candidate solutions evaluated (评价)in terms of need to be considered ?Ans: Technical feasibility- Is the solution technically practical? Does our staff have the technical expertise (专业矢口识)to design and build the solution?Operational feasibility- Will the solution fulfill the users' requirements? To what degree? How will the solution change the users' work environment ? How do users feel about such a solution?Economic feasibility- Is the solution cost-effective?Schedule feasibility- Can the solution be designed and implemented (实现)within an acceptable time period?3) What the difference between functional requirements and nonfunctional requirements?Ans: Functional requirements: These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. In some case, the functional requirements may also explicitly (明确土也)state what the system should not do. Functional requirements set out services the system should provide. Describe functionality or system services. Depend on the type of software, expected users and the type of system where the software is used. Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.Non-functional requirements: These are constraints (n.约束;限制)on the services or functions offered by the system. They include timing constraints, constraints on the developments process and standards. Non-functional requirements often apply to the system as a whole. They do not usually just apply to individual system features or services. Non-functional requirements constrain the system being developed or the development process. These define system properties (性能)and constraints e.g. reliability, response time and storage requirements. Constraints are T/O device capability, system representations, etc. Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless.4)What are the four types of actors ? Please try to give the examples of each one. P186Ans: Primary business actor. For example, in the business event of an employee receiving a paycheck (薪)(something of measurable value)from the payroll system each Friday, the employee does not initiate (发起)the event but is the primary recipient of the something of the value.Primary system actor. For example, a person reserving a rental car via a Web site.External server actor. For example, a credit bureau (办事处)authorizing (授权)the charging by a credit card.External receiver actor. For example, a warehouse (仓库)receiving a packing order to prepare a shipment (装运)after a customer has placed an order.5) What the process of requirements of use-case model ? P190Ans: Step I:Identify business actors.Step 2:Identify business requirements use cases.Step 3:Construct use-case model diagram.Step 4:Document business requirements use-case narratives (叙述)•(只简略回答)。
产品市场调研与需求分析---课后测试及答案
![产品市场调研与需求分析---课后测试及答案](https://img.taocdn.com/s3/m/2c84680af011f18583d049649b6648d7c1c7082b.png)
产品市场调研与需求分析课后测试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、使用训练有素的评测组方法做调研,能够反映目标市场的态度、信念、看法和行为。
需求工程课后重点答案
![需求工程课后重点答案](https://img.taocdn.com/s3/m/40dc2d6c59fb770bf78a6529647d27284b73378a.png)
需求工程课后重点答案在需求工程课程中,我们学习了许多与软件需求相关的内容,包括需求的定义、分类、获取、分析、规格等方面。
这里汇总了一些课后重点答案,帮助大家更好地掌握课程内容。
需求的定义1. 什么是需求?需求是用户和系统之间的桥梁,其本质是对用户需求描述的标准化表示。
需求对于软件系统的开发、测试、部署和维护都至关重要。
2. 需求的分类有哪些?需求可以分为以下几类:•功能性需求:系统需要完成的任务和功能。
•非功能性需求:系统需要满足的性能、安全、可用性等方面的要求。
•业务需求:与特定业务领域相关的需求。
•约束性需求:来自系统外部的限制条件。
需求的获取1. 需求获取的方法有哪些?•面试、访问和问卷调查等人际交流方式;•观察、现场调研、用户追踪等观察获取方式;•归纳分析、数据挖掘、机器学习等数据分析方法;•技术原型、模拟、实验等实践方式。
2. 为什么需求获取是关键的一步?需求获取是软件开发过程中最关键、最困难的一步,如果获取不足或不准确,将会导致系统无法满足用户需求,甚至出现安全漏洞等隐患。
需求的分析1. 什么是需求分析?需求分析是识别、梳理和综合用户需求,并将之转化为软件能够实现的具体要求的过程。
2. 需求分析的目的是什么?需求分析的目的是保证系统需求的准确性和完整性,从而确保软件能够满足用户和利益相关者的需求。
需求的规格1. 为什么需要对需求进行规格化?规格化可以将不准确或不一致的需求变成可以明确验证的具体描述,同时,规格化可以让需求的修改和追踪更加容易。
2. 需求规格的形式有哪些?需求规格的形式有以下几种:•自然语言描述;•面向对象的UML图形描述;•简要说明书或用户手册;•数据流图、时序图等其他模型。
需求的验证1. 需求验证的目的是什么?需求验证的目的是检查和确认需求是否正确、完整和一致,以及系统是否满足了用户需求。
2. 需求验证的方法有哪些?•代码审查;•模拟和测试;•用户使用评估;•评审或验收会议。
系统分析与设计课后习题答案
![系统分析与设计课后习题答案](https://img.taocdn.com/s3/m/9019318503d276a20029bd64783e0912a2167c7f.png)
系统分析与设计课后习题答案1.软件工程的概念是在()年被首次提出的。
A.1949B.1968(正确答案)C.1972D.19892.下列不属于软件工程的目标的一项是()。
A.提高软件产品的质量B.提高软件产品的可靠性与C.减少软件产品的需求(正确答案)D.控制软件产品的开发成本3.软件危机产生的主要原因是()。
A.软件工具落后B.软件生产能力不足C.对软件认识不够D.软件本身的特点及开发方法(正确答案)4.人们公认的第一门面向对象编程语言是()。
A.Simula(正确答案)B.SmalltalkC.C++D.Java5.下列编程语言中不支持面向对象的特性的是()。
A.C++B.ANSIC(正确答案)C.JavaD.ObjectiveC6.下列选项中不是面向对象方法的相关原则的是()。
A.封装B.继承C.多态D.结构(正确答案)7.()是面向对象方法中用来描述“对客户隐藏对象的属性和实现细节”的概念。
A.封装(正确答案)B.继承C.多态D.抽象8.下列选项中不属于面向对象方法的优势之一的是()。
A.复用性强B.改善了软件结构C.软件的执行效率更高(正确答案)D.抽象更符合人类的思维习惯1.下列关于模型的表述,不正确的一项是()。
A.建模语言只能是图形表示的(正确答案)B.模型所描绘的系统蓝图既可以包括详细的计划,也可以包括系统的总体计划C.模型可以帮助开发组生成有用的工作产品D.最好的模型总是与现实世界联系密切2.UML的全称是()。
A.UnifyModelingLanguageB.UnifiedModelingLanguage(正确答案)C.UnifiedModemLanguageD.UnifiedMakingLanguage3.UML主要应用于()。
A.基于螺旋模型的结构化开发方法B.基于需求动态定义的原型化方法C.基于数据的数据流开发方法D.基于对象的面向对象的方法(正确答案)4.下列面向对象方法中不是UML所融合的方法的一项是()。
网络需求分析与系统设计考试
![网络需求分析与系统设计考试](https://img.taocdn.com/s3/m/093794b2846a561252d380eb6294dd88d0d23d3a.png)
网络需求分析与系统设计考试(答案见尾页)一、选择题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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1.需求分析与系统设计之间的界限是什么何时从分析阶段进入设计阶段需求分析关注系统“做什么”,系统设计关注“如何做”。
当分析阶段完成后才能进入到设计阶段2.需求处理要注意哪些非技术因素为什么要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。
因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素3.需求分析与需求工程之间的关系那就是需求工程含义更广,包括需求获取、需求分析、需求定义第二章1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的问题域:现实的状况与人们期望的状况产生差异就产生问题。
解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统通过共存现象仅仅是问题域和姐系统的一个部分。
而不是他们的全部。
软件系统仅仅是现实世界的一种抽象。
所以问题除了共享现象之外。
还有很多在进行模型抽象时忽略的其他现实因素。
2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么需求是用户对问题域中的实体状态或事件的期望描述规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。
问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。
需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。
2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。
3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。
4.需求有哪些常见的类别功能需求和非功能需求有什么差异严格意义上的软件需求的分类:功能需求(Functional Requirement):和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。
功能需求主要表现为系统和环境之间的行为交互。
Performance Requirement):系统整体或系统组成部分应该CPU使用率、内存使用率等。
Quality Attribute):系统完成工作的质量,即系统需要在“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等。
External Interface):系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。
约束:进行系统构造时需要遵守的约束,例如编程语言、硬件设施等。
广泛意义上的需求分类:系统级需求(System):针对系统工程的需求,包括与硬件相关的需求被称之为硬件需求(Hardware)、与软件相关的需求被称之为软件需求(Software)、与人力资源相关的需求以及软件、硬件、人力之间协同的需求被称之为其他需求。
功能需求和非功能需求的差异:除功能需求之外的其他四种类别需求又被统称为非功能需求。
在非功能需求当中,质量属性对系统成败的影响极大,因此在某些情况下,非功能需求又被用来特指质量属性。
而且通常一个软件系统的绝大部分需求都是功能需求,在比例上功能需求有可能占所有需求的90%以上。
5.描述业务需求、用户需求和系统(级)需求的区别与联系。
业务需求:业务需求是抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,它描述了组织为什么要开发系统。
用户需求:执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够助用户做些什么。
系统需求:用户对系统行为的期望,一系列的系统行为联系在一起可以帮助用户完成任务,满足业务需求;系统需求可以直接映射为系统行为,定义了系统中需要实现的功能,描述了开发人员需要实现什么。
业务需求、用户需求和系统(级)需求的区别与联系如右图所示:用户需求---->系统需求的过程:首先需要分析问题领域及其特性,从中发现问题域和计算机系统的共享知识,建立系统的知识模型;然后将用户需求部署到系统模型当中,即定义系列的系统行为,让它们联合起来实现用户需求,每一个系统行为即为一个系统需求。
该过程就是需求工程当中最为重要的需求分析活动,又称建模与分析活动。
6.优秀的需求哪些特性试为每一个特性都举出一个不符合的示例。
优秀的需求特性:1)完备性:不需要做更多的扩展就可以充分的说明用户所需要的系统功能。
每一个需求的描述都应该包含开发人员设计和实现这项功能需要的所有信息。
R6(不完整):系统应该允许被扩展R7(完整、较R8精确):系统的调度算法应该允许被扩展2)正确性:真实的反映用户的意图;必须请需求的提出者予以确认。
3)可行性:在检查的过程中,由开发人员进行检查可能需要进行一定的分析和研究,而不是单纯的凭借经验和直觉。
对于难以判断的需求,必要的时候要通过开发原型来加以验证。
示例:保证系统核心功能可以7×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垃圾,直接为一切设计原型。
我们的项目会进展的更快,还可以节省时间和金钱,并且所有的用户会感到我们似乎很在意他们,而不是连续几个月不与他们交谈。