软件开发过程

简介:

软件生命周期:

1、问题定义:用户需要解决什么问题?

2、可行性分析:用户需要解决的问题是否可行(技术可行性、市场可行性)?

3、需求分析:将用户提出的问题进行细化;

4、系统设计:确定细化问题的实现方法:

5、编码:依据需求和设计稳定进行开发,解决问题;

6、测试:验证是否已经解决用户提出的问题(单元测试:开发的过程中由开发人员进行、集成测试:测试整体流程、功能用例测试:对每个细化的功能进行测试、性能测试:使用专业工具进行压力和稳定性测试);

7、维护:


开发模型:

1、瀑布模型:开发的每个阶段是顺序执行,每个阶段都会产生循环反馈,如果某个阶段出现问题,需要上一个阶段或者更早的阶段去排查解决问题。适用需求明确解决方案明确的项目中,常在一些小型项目中使用。

2、原型模型:逐步求精,开发阶段围绕着原型进行实施。适用于前期需求不明确,采用原型方法方便搜集需求。

3、增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每个线性序列产生软件的一个可发布的“增量”。适用于大型项目。



需求分析:

1、需求调研:目标是挖掘用户需求。首先确定目标用户,然后确定问题领域,并定义一个描述问题的系统,用户在这个问题领域和系统下提出需求,需求包括:功能需求;质量需求、用户体验需求等。最终得到一个“需求调研报告”。

2、需求描述:通过需求调研对收集到的资料进行分析、鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。最终得到一个“软件需求规格说明书”并与用户确认。软件开发人员需要根据“软件需求规格说明书”进行设计和编码。软件需求规格说明书包括:系统概述、运行环境、功能模块图、功能用例、性能需求、接口需求、其他需求等。

3、需求评审:参与者主要是架构师、技术经理、需求分析人员、设计人员、开发人员。主要审核内容为:需求规格说明书是否符合规范、需求描述是否清晰详细、


设计:

1、概要设计:根据软件需求说明,建立目标系统的总体结构和模块间的关系(技术架构、功能架构);系统网络部署结构;核心业务流程;定义系统的外部接口、模块间的接口;编写概要设计文档;概要设计审查;

2、详细设计:详细设计的主要任务是设计每个模块的类接口(参数、接口功能)、局部数据结构、物理数据模型、页面原型等。




本文转自 古道卿 51CTO博客,原文链接:http://blog.51cto.com/gudaoqing/1612025
相关文章
|
25天前
|
传感器 边缘计算 安全
《虚实共生:双向映射重塑具身智能决策逻辑》
传统具身智能因信息碎片化陷入“局部认知”困境,如盲人摸象。数字孪生与物理实体的双向映射,通过构建虚实交融的“认知镜像”,为智能体提供全局视角和预测能力。以智能工厂、物流配送、应急救援等场景为例,这种闭环体系显著提升决策效率与安全性。然而,数据隐私、模型精度等问题仍需技术创新与制度保障解决。最终,双向映射将使智能体进化为拥有深度环境理解与动态决策能力的“数字生命体”。
90 32
|
云计算 运维 存储
aPaaS平台是什么?aPaaS与PaaS有什么区别?
aPaaS和PaaS都可以完成软件的开发和部署,都支持云端访问,而两者的差异主要体现在用户人群和使用环境不一样。
aPaaS平台是什么?aPaaS与PaaS有什么区别?
|
25天前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
372 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
25天前
|
数据可视化 大数据
Axure制作可视化大屏动态滚动列表教程
本文详细介绍了如何使用Axure制作动态滚动列表展示模块。首先,通过创建新项目和设置中继器列来准备数据;接着,设计列表项样式并添加示例数据。然后,利用动态面板实现列表的滚动效果,包括设置内部和外部面板交互逻辑。最后,预览调试以确保效果满意。此模块适用于可视化大屏,可根据需求调整样式与参数,达到理想展示效果。文中还提供了相关教程链接,助力Axure原型设计。
108 10
浅谈select,poll和epoll的区别
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! select,poll和epoll其实都是操作系统中IO多路复用实现的方法。 select select方法本质其实就是维护了一个文件描述符(fd)数组,以此为基础,实现IO多路复用的功能。
浅谈select,poll和epoll的区别
|
7月前
|
存储 数据采集 算法
数据中台最全详解,一文彻底搞懂!
中台是大型数据架构模式,也是大型架构的必备技能,本篇全面详解数据中台,建议收藏备用。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
数据中台最全详解,一文彻底搞懂!
|
12月前
|
前端开发 Java 应用服务中间件
|
11月前
|
Kubernetes Docker 容器
里云容器服务Kubernetes版(ACK)上快速部署应用
里云容器服务Kubernetes版(ACK)上快速部署应用
BUUCTF---misc---[ACTF新生赛2020]base64隐写
BUUCTF---misc---[ACTF新生赛2020]base64隐写
|
关系型数据库 MySQL
Mysql拼接字段且使用别名
Mysql拼接字段且使用别名
255 1