软件项目的生命周期:

项目计划

需求分析

设计(概要设计和详细设计)

编码

测试

发布

维护

项目计划阶段:走访客户,进行交流沟通,获得客户原始需求。

对客户的需求和市场等进行调研,分析,编写可行性分析报告。

通过不断的与客户沟通,找客户不同环节的用户进行交流来获取需求。召开评审会议,报告可行性分析,报告用户原始需求,报告项目远景规化。

需求分析阶段:

在客户原始需求的基础上不断与客户沟通,充分的熟悉和深入客户业务,获得充分的业务需求,完善用户需求和功能性需求,了解客户的相关约束而获得非功能性需求。最终编写《需求规格说明书》;召开需求评审会议,客户确定需求,并签定合同;编写项目计划说明书;编写测试计划;召开项目启动会议,项目正式启动。

概要设计阶段:根据《需求分析说明书》,进行用例分析,获得充分而有效的用例。编写界面原型,编写编码规范和界面风格规范,数据库设计规范。用uml工具画用例图,编写有效的用例规约文档。划分项目功能模块.评审用例及用例规约文档。

详细设计阶段:根据完整的用例及需求进行分析,获得数据库所需的相关信息,画数据库E-R图,编写数据设计说明书.进行数据库建模。进行详细的分析,用uml工具画类图,确定每个功能模块的子功能,抽取项目的公共部分成为一个公共模块。确定项目的架构基础。确定需要用到的类及类成员和方法。确定一些辅助类及方法。对每一个用例都用uml工具画出顺序图。编写详细设计说明书,评审详细设计说明书, 进行基础框架搭建。列出任务清单,进行任务分配。

编码阶段:以小组的形式进行代码编写,编写单元测试用例,每完成一个类都要进行单元测试。每完成一个功能点和模块都要进行集成测试。确保每一个功能点和模块完成后都是一个可以看得见、摸得着的产品。而不是等到最后才进行统一的调试和搭配。每天都要对代码进行检查和优化,也就是所谓的重构。

测试阶段:根据测试计划对项目进行系统测试,以及用户的验收测试

产品发布:交付完整的产品和设计文档。把产品布署到客户的计算机上,确保产品的正常运行。客户签收。

维护阶段:为客户提供技术保障,对产品进行相应的维护和升级工作

软件常见开发模型

瀑布模型:最经典的过程模型,适用于需求明确,规模较小的项目

喷泉模型:迭代,无间隙特点,适用于面向对象的软件开发过程

螺旋模型:

MSF模型:微软解决方案过程模型

什么是极限(XP)编程:极限编程是对敏捷软件开发方法的一种实现。它强调测试先行,也就是在编写代码的时候先编写测试用例;循环迭代,每一次迭代都是一个可用的产品;重构,不断的对代码进行优化;结对编程,两个人为一对共同进行代码编写;它强调团队之间的知识传播,让团队的每个人都能熟悉软件开发的各种技术。如:支持熟悉数据库的人去做界面,做界面的人去做数据库等,通过不定期的角色转换来增强团队的能力。要求客户参与到软件开发中来,开发出最适合客户需求的产品。

单元测试一般是在编码的时候同步进行的,一般是以类为单位进行测试,当一个类完成了编码,并编译正确后才进行的测试,测试这个类是否已经能够实现指定的功能。一个类能够正常的编译成功并不意味着这个类就已经完成了,还要通过测试,设置断言来确定他是否已经达到了预期的效果,实现了特定的功能。调试,编译通过只能证明代码的语法没有错误。

单元测试由程序员自己来进行,也可以在项目小组内交互进行。单元测试是采用白盒测试

集成测试一般指实现了一个功能点或一个模块后,为了测试这个模块是否已经实现了需求要求的功能。集成测试可能需要对多个类进行组装,也可能需要与以前已经测试通过的模块进行组装,是对产品组件的系统整合和执行。集成测试可以根据模块的大小分不同的级别,在现行的软件开发中,每完成一个功能模块都必须要进行一次集成测试,使得你完成的模块是一个可以运行的产品。集成测试一般可以由项目小组的负责人(或指定一个小组成员)来完成。集成测试采用白盒式测试和黑盒测试

系统测试一般指项完代码已经全部完成,交给测试小组来进行测试。进行系统测试的人员独立于开发小组,系统测试人员把完成的产品布署在相应的计算机环境中,按照测试计划进行测试,验证系统是否满足了指定的需求。系统测试除了测试产品应满足基本的功能需求外,还要对产品的性能,用户界面,安全性,压力,可靠性,安装和反安装等几个方面进行测试

系统测试采用黑盒测试

验收测试一般指产品交付给客户,负责把产品布署在指定的计算机环境中。由用户根据需求文档,进行的总体测试。验收测试的内容和系统测试一样,只是执行者不同。都是除了测试系统完成基本功能外还要对性能,安全性,可靠性等进行测试。验收测试也是采用黑盒测试

阅读(0)| 评论(0) | 编辑 |删除 |推送 |置顶

转载于:https://www.cnblogs.com/hui1107464497/p/4502174.html

软件开发的生命周期描述相关推荐

  1. 第一章:第1章 CRM核心业务介绍--概述,crm架构,公司组织结构,软件开发的生命周期,crm项目的核心业务介绍。...

    第一章:第1章 CRM核心业务介绍 1. 什么是crm项目: 1,CRM(Customer Relationship Management)客户关系管理是管理企业与客户之间关系的新型管理机制.终极目标 ...

  2. 简单了解软件开发的生命周期和流程、思想

    所有知识体系文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual 既然我们以后从事的 ...

  3. 软件的基于生命周期开发方法

    软件的基于生命周期开发方法 ​ 早期软件开发处于一种无序状态,经历软件危机之后,开始采用系统工程方法论指导开发,根据软件开发的的生命周期将整个开发划为5个阶段(规划阶段.分析阶段.设计阶段.实施阶段. ...

  4. 小程序开发.uniapp.生命周期

    小程序开发.uniapp.生命周期 [内容介绍]: uniapp中生命周期相关内容 相关文章推荐: 标题 链接 <小程序开发.概述与环境搭建> https://blog.csdn.net/ ...

  5. 嵌入式系统设计与开发的生命周期简析

    在实际开发产品的过程中,我们往往都会遵循一定的规则去进行开发,就如工人在砌墙之前,先画好图纸,然后评审,修改,再去建立整个楼房的框架,等整个框架都建立好了,那么就开始砌墙了,这个时候,工人只需要按照框 ...

  6. [转]ASP.NET页面生命周期描述

    ASP.NET页面生命周期描述 vigorID:Vigorcsdn 在以前写个一篇关于ASP.NET页面生命周期的草稿,最近又看了看ASP.NET,做个补充,看看页面初始过程到底是怎么样的 下面是AS ...

  7. 鸿蒙应用开发--应用生命周期

    鸿蒙应用开发–应用生命周期 应用构成 Ability 界面 AbilitySlice 子界面 Component 组件 状态 初始状态 闲置状态 活跃状态 隐藏状态 切换方法 onStart()开始方 ...

  8. 用SVN进行团队开发协作生命周期详解

    目录 前言 面向人群 背景 解决方案 团队开发生命周期 创建新项目 创建分支 切换分支 合并代码 正式版本发布 bug修复 结束语 前言 查找了SVN的相关知识无论是园子里还是百度都只有一些理论,而有 ...

  9. ASP.NET页面生命周期描述

    附一篇文章:http://blog.csdn.net/Vigorcsdn/article/details/572552 在以前写个一篇关于ASP.NET页面生命周期的草稿,最近又看了看ASP.NET, ...

最新文章

  1. 学习XHTML的强烈欲望、!
  2. php 下 html5 XHR2 + FormData + File API 上传文件
  3. LeetCode-字符串-反转字符串中的单词 II
  4. 杂项题的基本解题思路——2、图片隐写术
  5. java 三个版本区别_关于java三个版本的区别
  6. axios请求超时,设置重新请求的完美解决方法
  7. 深入浅出InfoPath——让管理员来部署InfoPath表单
  8. vmware配置centos全套
  9. mysql报警脚本_MySQL Server 报警脚本
  10. 《开店有讲究》读书笔记
  11. spark-sql-perf
  12. 一技随身计算机作文,生活技能作文(精选9篇)
  13. access偏移注入
  14. 模电学习4. 差模、共模干扰与安规电容
  15. 网页外链微信公众号文章里的图片显示未经许可无法显示的解决办法
  16. 软著名称有什么要求?软件著作权的软件名称怎么起要注意什么?软件著作权的软件名称可以重复吗?
  17. 1 0 2 4 程序员防脱发指南
  18. css3中2D转换效果实现二(6)
  19. View系列 (三) — Measure 流程详解
  20. 2021年衢州高考的成绩查询,2021年衢州中、高考重要消息来了!

热门文章

  1. 【HDU - 1452】 Happy 2004(因子和,逆元,快速幂)
  2. mysql 子查询 as_mysql子查询
  3. mysql 异步_MySQL -- 异步I/O
  4. 腐蚀单机怎么进_暖气片堵塞是什么原因?要怎么解决呢?
  5. php查询表导出excel文件路径,Thinkphp5如何将导出的excel表格存储到服务器中项目目录的指定目录中?...
  6. java 抽象类对象_Java基础___面向对象__抽象类
  7. html悬停放大图片代码,html – 放大图像并在悬停时显示div
  8. java数组元素是类_Java数组及其常用类
  9. 苏大微型计算机原理与应用题库,苏州大学计算机原理及应用考研复习题.pdf
  10. html 类型转换,JavaScript怎么进行类型转换?