求知 文章 文库 LIb 视频 iProcess 课程 角色 咨询 工具 讲座 Modeler   Code  
会员   
 
 
 
|
 
追随技术信仰 
随时听讲座
每天看新闻
 
 
 

位置: iProcess -> Requirement -> 需求驱动的开发过程
需求驱动的开发过程动态视图


 

  • 客户愿景:客户对系统的整体期望和条件约束,涉及:产品定位,潜在用户,功能要求,关键特性,涉及约束,实施的条件和约定,设计约束,法律约束,社会条件。
  • 需求工程 :需求是一个自始至终普遍存在于项目各个环节的工作,因为满足客户期望的软件才是好的软件,符合客户要求的工作才是能够带来收益的工作。
    1. 需求获取:从客户那里进行需求收集,例如:需求调查,现场访谈,需求研讨会,文档调查,竞争分析。
    2. 需求分析:对获得的原始用户需求进行分析,以便给出需求的准确、详细的定义。
    3. 需求规格:编写需求有关的文档,从读者的角度,用无二义、完整、一致的方式描述需求。
    4. 需求跟踪:对需求的后续工作:设计、实现、测试、发布进行跟踪,保证需求的最终交付质量。
    5. 变更控制:对需求的变化进行控制,一方面开放变化入口,一方面控制变化的出口,保持系统的发展中的稳定性。
    6. 需求验证:对规格化为文档的需求进行技术评审,对于最终交付的系统进行确认,以及2者的过渡中的各种客户和开发方的需求确认工作。
  • 分析设计 :对需求和客户愿景从实现角度进行分析,对问题进行定位,针对问题给出设计方案。
    1. 架构分析:对客户关键愿景和关键需求进行分析,识别各个部分的关系,发现必须的软件基本逻辑,而不是实现的技术问题。
    2. 架构设计:对架构分析结果:问题和初始解决方案进行实现技术的具体化,以便为开发提供约束,形成最终的系统级别的解决方案。
    3. 详细设计:在架构中的关键设计的基础上进行每个需求的细化设计,以便对所有的开发提供支持和约束。
  • 系统实现: 通过高效率的团队开发,构造满足需求、符合设计的高质量产品。
    1. 编码:根据详细设计对所有需求单元编写程序代码,并进行程序调试,以便能够正常运行。
    2. 单元测试:对重要的程序单元,例如函数、类,组件接口设计单元测试用例,进行开发单元测试程序,执行单元测试,对发现的问题进行设计重构。
    3. 持续集成:在团队开发过程中,无论是并行开发还是串行开发,对于不断构建出来的程序单元及时集成,并进行集成测试,通过重构解决集成问题。
  • 系统测试:
    1. 功能测试:根据功能需求对系统进行测试,确认系统满足功能需求,同时进行功能需求差异测试,避免功能需求缺失引起的盲目乐观。
    2. 性能测试:根据性能需求和性能设计对系统进行测试,确认系统满足性能续期,同时进行性能架构分析,识别性能潜在问题并进行测试,避免性能需求缺失引起的盲目乐观。
    3. 可靠性测试:根据可靠性需求对系统进行测试,确认系统的可靠性,同时结合开发实情进行可靠性分析,补充可靠性测试用例,避免可靠性需求缺失引起的盲目乐观。
    4. 安全测试:根据安全性需求对系统进行测试,确认系统的安全性,同时结合安全架构进行分析,补充安全性测试用例,避免安全性需求缺失引起的盲目乐观。