软件开发标准流程与软件工程基本理论

ops/2024/9/23 10:30:17/

软件开发标准流程与软件工程基本理论

 

一、需求分析

软件开发需要,自用户提出开始,商业合作确定(规范化:软件开发项目合同),进入软件工程开始阶段:需求分析。

软件项目Team负责需求分析开发人员,开始与用户沟通、交流,确认用户实际需要,完成需求分析,制定需求分析文档。

二、概要设计

软件项目Team负责需求分析开发人员,确定用户需求,制定用户需求文档,开始进入概要设计阶段。

根据用户需求,做软件系统架构的设计。确定实现该软件系统的具体实现方案,确定具体实现的技术:编程语言、数据库、缓存系统、前端实现技术(WinForm或WPF或页面:前端样式、前端框架、前端脚本技术、前端样式、页面设计)、通信技术(前端和后台的交互:前后端分离、单应用系统,微服务等);硬件设备及参数:本地自建服务器或云服务器,本地服务具体硬件及性能参数、云服务器平台、云服务器技术参数、云服务器价格);软件项目管理:Team团队沟通、协做方式、平台。

三、详细设计

系统设计目标;系统设计目地需要的硬件支持及参数;系统搭建及部署环境。

软件功能模块设计:具体功能模块、子模块;具体功能模块设计目标;前端UI或页面设计及目标。

软件系统架构设计:设计图、UML建模。

数据库系统架构设计:设计图、数据库模型图。

数据库表分析与设计:数据库建模、数据库表设计、数据库表数据字典。

缓存系统设计及实现。

软件项目开发项目管理:软件开发项目任务分割与分配、软件项目开发周期及目标、软件项目开发总进度及总周期。

软件项目测试:测试方法、周期、目标。

软件项目部署:实现、周期、目标。

软件项目线上测试及维护:维护方案、周期、目标。

软件项目编码:Coding任务分配、实现技术细节、Coding任务量及周期、代码验收提交、Coding工作任务时间计划、编码完成总周期、编码完成测试及标准。

四、编码实现

根据详细设计文档,Team团队按开发周期,分阶段完成数据库开发及程序编码,分阶段测试、总体测试、bug提交与修复。依据详细设计文档,完成软件项目编码实现。

五、软件测试

根据详细设计文档、需求分析文档,测试编码实现的软件项目,提交软件Bug并修正、测试,提交测试报告。

六、项目部署

开发环境本地部署:本地开发环境测试整体项目,发现Bug及软件缺陷,修复bug及修正缺陷。

生产环境部署:软件项目在用户生产环境部署,用户试运行,发现bug及缺陷、用户基于需求分析提出的问题,修复bug、修正缺陷、解决用户提出的问题完善软件项目系统。

提交部署工作报告文档。

七、项目验收

根据需求分析,Team配合用户,完成软件项目的验收,提交软件项目验收工作报告。

 

以上为本人基于计算机专业课:《软件工程》及多年开发工作经验,于今日整理完成的软件开发基本流程规范。

 

2024年5月2日 13:04

 


http://www.ppmy.cn/ops/29766.html

相关文章

2024年北京餐饮供应链展览会|北京餐饮食材展

高联采高校后勤餐饮博览会 暨第25届北京高校后勤餐饮联合招标采购大会 同期举办:中国北京餐饮供应链博览会 主 题: 因为FOOD校园GOOD / 同创高校大舞台共享精彩高联采 时 间:2024年9月21日-22日 地 点:中国国际展览中心&…

Java中的集合类有哪些常见的排序算法?

在Java中,集合类(如ArrayList、LinkedList、HashSet等)通常会使用内部排序算法对元素进行排序。这些算法通常基于Java的内置排序算法,如快速排序、归并排序等。 以下是一些常见的Java集合类排序算法: 1. **快速排序&…

远程为ubuntu安装teamviwer(无UI界面) - 简书

远程为ubuntu安装teamviwer(无UI界面) - 简书 远程为ubuntu安装teamviwer(无UI界面) - 简书

详解Go语言Map

Map的声明 使用make()函数定义Map map_name : make(map[KeyType]valueType,initialCapacity)KeyType是键的类型,ValueType是值的类型,initialCapacity是可选参数,用于指定map的初始容量。 使用map关键字定义Map m : map[string]int {&quo…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

【强训笔记】day7

NO.1 思路:双指针模拟,begin表示最长数字字符串最后一个字符,而len表示数字字符串的长度,i用来遍历,如果为数字,那么定义j变量继续遍历,直到不为数字,i-j如果大于len,就…

salesforce vscode 获取profile metadata所有配置内容

1.更新cli&#xff1a;sfdx update 2.安装read插件&#xff1a;sfdx plugins:install sfdx-plugin-source-read 3.通过vscode☁️&#xff08;org browser&#xff09;或者package.xml拉取profile&#xff0c;此时获取的简档没有所有配置内容 <?xml version"1.0&qu…

最新springboot家乡特色推荐系统

采用技术 最新springboot家乡特色推荐系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 系统功能 系统首页 用户注册 文章分享 个人中心 管理员模…