1.软件开发三要素
三要素是方法、工具、过程。
方法是完成软件开发的各项任务的技术方法,为软件开发提供“如何做”的技术。工具为运用方法而提供的自动的或半自动的软件工程的支撑环境。
过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤,如何将软件工程方法与软件工具相结合,合理、及时地进行软件开发。
2.
1.4.1 迭代式开发 (主体是时间周期)
项目按照时间周期进行迭代,比如A功能优先级比较高,则在第一个迭代周期
内优先开发A功能,并上线。第二个迭代周期开发B功能。
1.4.2 增量交付 (主体是功能模块)
瀑布式开发模型:需求评审、概要设计、详细设计、开发、单元测试、
集成测试、上线。如微软的Vista系统,从1997年立项到2005年才问世,但是用
户反馈并不好,Vista操作系统的开发就是采用瀑布模型。
增量式开发:则代表产品是在每个周期结束时被逐步交付使用的。如微软在吸取Vista操作系统采用传统的瀑布式开发流程之后,发现操作系统并不能完全覆盖用户的需求。在2005-2007两年时间内 通过内部推行的敏捷开发原则,上线了win7,获得市场的一致好评。
1.4.3 开发团队和用户反馈推动产品开发
敏捷开发提倡用户参与到产品或项目开发的整个流程当中,通过用户反馈使得
产品更加符合用户频繁变动的需求。
1.4.4 持续集成
采用敏捷开发的产品在产品初期会上线基本功能,之后的功能是根据收集到的
用户反馈进行开发的,实现功能模块的持续集成。
1.4.5 开发团队自我管理
传统的开发模式,注重文档约束,而敏捷开发原则的推行原则要求团队内部交
流便利、文化相对开发,除去必要的文档约束,如Api接口文档,最注重的是团
队成员的高效交流,以此来提高产品、项目的开发效率、开发质量。