工学软件项目计划讲课讲稿.ppt
《工学软件项目计划讲课讲稿.ppt》由会员分享,可在线阅读,更多相关《工学软件项目计划讲课讲稿.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、工学软件项目计划前情回顾前情回顾l项目立项阶段项目立项阶段甲方:招标书、乙方选择、签署合同乙方:项目分析、竞标、签署合同l项目章程项目章程:确认项目存在的文件,包括对项目的确认、对项目经理的授权和项目目标的概述等。l生存期模型生存期模型:瀑布、V、增量、原型、螺旋、渐近模型。11/12/20221第二篇第二篇软件项目计划2RoadMap 合合同同 计计划划 风风险险 计计划划 沟沟通通 计计划划 人人力力 计计划划 质质量量 计计划划 成成本本 计计划划 时时间间 计计划划 集集成成 计计划划范范围围计计划划 项项目目 结结束束 项项目目执执 行行控控制制 项项目目 计计划划 项项目目 初初始
2、始11/12/20223第第2章章范围计划4为什么进行范围计划?为什么进行范围计划?做过项目的人可能会有这样的经历:一个项目做了很久,感觉总是做不完,就像是一个无底洞。用户总是有新需求要项目开发来做,就像用户在“漫天要价”,而开发方在“就地还钱”。实际上,这里涉及一个“范围管理”的概念。项目哪些该做,做到什么程度,哪些不该做,都是由“范围管理”来决定的。缺乏正确的项目范围界定是导致项目失败的主要原因之一。项目管理中最重要也是最难做的就是确定项目范围。11/12/20225 开发软件系统最为困难的部分就是准确说明开发什么。弗雷德里克布鲁克斯11/12/20226什么是范围管理什么是范围管理1.1
3、.什么是范围?什么是范围?产生项目产品所包括的所有工作及产生这些产品所用的过程。l 产品范围界定产品或服务范围的特征和功能。l 工作范围界定项目工作的完成,为的是能交付一个有特殊特征和功能的产品。2.2.范围管理范围管理l对项目包括什么和不包括什么的定义与控制过程。l 用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程,有一个共同的理解。11/12/20227本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析11/12/20228软件需求的重要性软件需求的重要性q40%60%的问题
4、是在需求分析阶段埋下的隐患。q40%的开发总费用是返工开销。q70%80%的返工是需求方面的错误导致的。q80%的失败项目是需求分析不明确造成的。总之,好的需求管理是项目成功的第一位因素。采用需求管理可以给项目组带来很多的好处,直至项目取得成功。11/12/20229项目项目失败的原因分析失败的原因分析No.Top 10 Factors 平均值平均值 1 Inadequate requirements specification 4.5 2 Changes in requirements 4.3 3 Shortage of systems engineers 4.2 4 Shortage of
5、 software managers 4.1 5 Shortage of qualified project managers 4.1 6 Shortage of software engineers 3.9 7 Fixed-price contract 3.8 8 Inadequate communications for system integration 3.8 9 Insufficient experience as team 3.6 10 Shortage of application domain experts 3.6 Scale:5=Very Serious 3=Seriou
6、s 1=No Serious Source:Carnegie-Mellon University,Software Engineering Institute11/12/202210什么是软件需求什么是软件需求q需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。q正在构建的系统必须符合的条件或具备的功能。Rationalq用户解决某一问题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。MerlinDorfman、RichardH.Thayer11/12/202211软件需求的层
7、次软件需求的层次业务需求业务需求表示组织或客户高层次的目标表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统为什么要开发一个系统,即组织希望达到的目标。使用前景和范围文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求文档。11/12/202212软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求描述的是用户的目标,或用户要求系统必须能完成的任描述的是用户的目标,或用户要求系统必须能完成的任务务。用例、场景描述和事件响应表都是表达用户需求的有效途径。也就是说用户需求描述了
8、用户能使用系统用户能使用系统来做些什么来做些什么。11/12/202213软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求功能来完成任务,满足业务需求。功能需求有时也被称作行为需求,因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么开发人员需要实现什么。三个层次三个层次11/12/202214软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求
9、系统需求系统需求用于描述包含多个子系统的产品(即系统)的用于描述包含多个子系统的产品(即系统)的顶级需求顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。11/12/202215软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求非功能性需求非功能性需求系统需求系统需求对产品的功能描述作了补充,它从不同方面描述了对产品的功能描述作了补充,它从不同方面描述了产品的各种特性产品的各种特性。这些特性包括可用性、可移植性、可用性、可移植性、完整性、效率和健壮性完整性、效率和健壮性,它们对用户或开发人员都
10、很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。11/12/202216软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求非功能性需求非功能性需求约束和假设约束和假设系统需求系统需求限制了开发人员设计和构建系统时的选择范围限制了开发人员设计和构建系统时的选择范围。11/12/202217软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求软件需求规格软件需求规格Software requirement specification非功能性需求非功能性需求约束和假设约束和假设系统需求系统需求11/12/202218软件
11、需求的层次软件需求的层次编号编号功能需求功能需求1提供病历信息录入提供病历信息录入2提供病历信息的条件查询提供病历信息的条件查询3提供统计、月统计、年统计,并提供打印功能提供统计、月统计、年统计,并提供打印功能编号编号性能需求性能需求1 1必须支持必须支持100100个客户的同时访问个客户的同时访问2 2应该在应该在1010秒内必须从秒内必须从1000010000条记录中检索出需要的患者信息条记录中检索出需要的患者信息3 3应该在应该在2 2分钟之内给出季度统计报告分钟之内给出季度统计报告11/12/202219本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解
12、定义五、任务分解方法六、任务分解结果的检验七、案例分析11/12/202220需求工程需求工程需求工程是应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求工程需求工程需求管理需求管理需求开发需求开发需求获取需求获取需求分析需求分析需求规格编写需求规格编写需求验证需求验证变更管理变更管理11/12/202221 需求获取是通过各种途径获取用户的需求信息(原始需求获取是通过各种途径获取用户的需求信息(原始材料),产生用户需求说明书。材料),产生用户需求说明书。需求获取需求获取依依 据据工具与技术工具与技术成成 果果1.项目章程项目
13、章程2.干系人登记册干系人登记册1.访谈访谈2.焦点小组会议焦点小组会议3.引导式研讨会引导式研讨会4.群体创新技术群体创新技术5.群体决策技术群体决策技术6.问卷调查问卷调查7.观察观察8.原型法原型法1.需求文件需求文件2.需求管理计划需求管理计划3.需求跟踪矩阵需求跟踪矩阵11/12/202222需求获取需求获取用户要求用户要求基线需求基线需求扩展需求扩展需求软件需求软件需求主要任务:是和用户方的领导层、业务层主要任务:是和用户方的领导层、业务层人员访谈把握用户的具体需求方向和趋势,人员访谈把握用户的具体需求方向和趋势,了解现有的了解现有的组织架构、业务流程、硬件环组织架构、业务流程、硬
14、件环境、软件环境、现有系统的运行状况境、软件环境、现有系统的运行状况等信等信息。息。11/12/202223需求获取方法需求获取方法开始前:做好准备,写出访谈提纲进行中:要注意聆听和引导结束后:要写感谢信旁敲侧击的方式复述,复述,复述聆听不要指导两个人去访谈让被访者上司安排不要问太多11/12/202224需求获取方法需求获取方法头脑风暴法(集思广头脑风暴法(集思广益会)益会)德尔菲技术德尔菲技术(1)根据问题的特点,选择和邀请相关专家。(2)将与问题有关的信息提供给专家,请他们各自独立发表自己的意见,并写成书面材料。(3)管理者收集并综合专家们的意见后,将综合意见反馈给各位专家,请他们再次发
15、表意见。如果分歧很大,可以开会集中讨论;否则,管理者分头与专家联络。(4)如此反复多次,最后形成代表专家组意见的方案。11/12/202225需求获取方法需求获取方法其他方法:l需求研讨会l用例模型l角色扮演l原型法lQ&A邮件提问l电视电话会议访谈11/12/202226需求的分析、整理和确认需求的分析、整理和确认 目标:要知道每个需求的目标:要知道每个需求的“为什么为什么”;从;从“如何实现如何实现”“实现什么实现什么”;分析隐含需求。分析隐含需求。ID需求描述理由所有者优先级状态需求跟踪矩阵需求跟踪矩阵11/12/202227需求获取注意问题需求获取注意问题1、识别真正的客户、识别真正的
16、客户2、正确理解客户的需求、正确理解客户的需求3、具备较强的忍耐力和清晰的思维、具备较强的忍耐力和清晰的思维4、使用符合客户语言习惯的表达、使用符合客户语言习惯的表达5、提供需求开发评估报告、提供需求开发评估报告6、尊重开发人员和客户的意见,妥善解决矛盾、尊重开发人员和客户的意见,妥善解决矛盾7、划分需求的优先级、划分需求的优先级8、说服和教育客户、说服和教育客户11/12/202228需求分析需求分析需求阶段需求阶段设计阶段设计阶段 编码阶段编码阶段开发测试开发测试验收阶段验收阶段运行阶段运行阶段11/12/202229需求分析模型需求分析模型当前系统当前系统逻辑模型逻辑模型物理模型物理模型
17、目标系统目标系统模型化物理模型物理模型怎么做具体化抽象化实例化逻辑模型逻辑模型做什么导出理解需求理解需求表达需求表达需求11/12/202230需求分析活动需求分析活动1 1、以图形表示的方式描述系统的整体结构,包、以图形表示的方式描述系统的整体结构,包括系统的边界与接口。括系统的边界与接口。2 2、向用户提供可视化的界面,用户可以对需求、向用户提供可视化的界面,用户可以对需求做出自己的评价。做出自己的评价。3 3、以模型描述系统的功能项、数据实体、外部、以模型描述系统的功能项、数据实体、外部实体、实体间的关系、实体之间的状态转换。实体、实体间的关系、实体之间的状态转换。11/12/20223
18、1处理需求不明确问题的方法处理需求不明确问题的方法1 1、让用户参与开发。、让用户参与开发。2 2、开发用户原型界面。、开发用户原型界面。3 3、需求讨论会议。、需求讨论会议。4 4、强化需求分析与评审。、强化需求分析与评审。11/12/202232需求规格需求规格q需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书。q需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。11/12/202233软件需求规格说明的原则软件需求规格说明的原则q从现实中分离功能,即描述要从现实中分离功能,即描述要“做什么做什么”而不是而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 软件 项目 计划 讲课 讲稿
限制150内