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

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

 

一、需求分析

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

软件项目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.mzph.cn/web/7242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「C++ 内存管理篇 00」指针

目录 一、变量,变量名和指针 1. 什么是变量? 2. 变量名和指针 3. 使用指针获取数据 二、指针变量和数组变量 三、编译器对指针的等级有着严格的检查 四、指针的加减 1. 存放指针的变量的加减 2. 存放指针的变量的自增自减 3. 两个指针相减 一、变量&…

mybatis-plus 多张表查询

使用fill自动填充 @TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.DEFAULT) 自动填充类型 package com.example.mybatisplus.handler;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObj…

AWS Cloudfront支持vuejs的html5模式

前提 1.vuejs项目使用html5模式;2.vuejs项目独立部署在一个s3桶中;3.vuejs项目独立使用一个AWS Cloudfront的CDN。 解决 只需要在Cloudfront中添加一个函数,大概规则就是如果从请求uri中提取到文件名,则表示需要访问s3&#xf…

【一步一步了解Java系列】:探索Java基本类型转换的秘密

看到这句话的时候证明:此刻你我都在努力~ 加油陌生人~ 个人主页: Gu Gu Study ​​ 专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。 如果喜欢能否点个赞支持一下&#…

Docker之限制容器的资源使用

一、容器所用内存资源的限制 容器可使用的内存:物理内存和交换空间(Swap)。 1.1、用户内存限制 Docker默认没有设置内存限制。可以通过相关选项限制设置: -m(--memory):设置容器可用的最大内存。该值最低为4MB。--memory-swap&#xff1a…

AMEYA360:佰维存储推出工规级宽温LPDDR4X芯片,高可靠性赋能工业与汽车电子应用

近日,佰维存储发布了工规级宽温LPDDR4X嵌入式存储芯片,该产品传输速率高达4266Mbps,容量覆盖2GB~8GB,可适应-40℃~95℃宽温工作环境;采用BGA 200 Ball封装,尺寸小至10.0x14.5x1.0mm,满足数据通信、轨道交通…

内网端口转发与代理

思路:渗透的前提是双方能够建立通信。目前无法和win7建立通信,但是拿到了windows2003的权限,所以可以在Windows2003主机上面建立节点,作为跳板机去访问到内网。 目前状态:控制win2003(IP:192.1…

活动回放 | 如何进行全增量一体的异构数据库实时同步

以 AI领域为代表的新技术不断涌现,新的应用风口也逐渐清晰。为了加紧跟上技术发展的步伐,越来越多的企业开始着手,对仍以传统关系型数据库为主的应用后端进行现代化升级。 这就涉及到如何在不影响并保持现有业务系统正常运转的前提下&#xf…

软件测试产品交付包括哪些内容?

软件测试产品交付通常会包括以下内容: 1. 测试计划:详细的测试方案、测试范围、测试资源与时间安排等内容。 2. 测试用例:包括功能测试用例、性能测试用例、安全测试用例等各类测试用例。 3. 测试环境:包括硬件环境、软件环境、网络环境、数据环境等测试所需要的各种环境。 4. …

LeetCode 面试题 17.14 —— 最小 k 个数

阅读目录 1. 题目2. 解题思路一3. 代码实现一4. 解题思路二5. 代码实现二 1. 题目 2. 解题思路一 第一种方法就是利用快速排序,第一次排序后,数组被划分为了左右两个区间 [ 0 , i ] , [ i 1 , a r r . s i z e ( ) − 1 ] [0, i], [i1, arr.size()-1]…

Docker入门指南:Docker容器的部署(一)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 当今软件开发领域中,Docker 成为了一种流行的容器化技术。Docker 可以帮助开发者将应用程序及其依赖项打包到一个独立且可移植的容器中&#xf…

云服务器IDC机房网络无法访问github如何解决?

到站长之家查询一下github的IP地址。 https://tool.chinaz.com/ 然后,编辑服务器hots文件。 vi /etc/hosts 打开后,在文件最后一行添加 ​20.205.243.166 github.com

Hibernate 元数据模型(MetaModel)提示类没有找到错误

在进行一次编译的时候,提示下面的错误信息: java: java.lang.ClassNotFoundException: org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor 问题和解决 如果你对 Hibernate 的元数据还是不非常了解的话,请参考文章: JPA 的…

汽车 - 降档补油超车

降档补油这事可是开手动档最大的乐趣之一,甚至还是进阶技巧“跟趾”的基础,所以建议开手动档的朋友一定要熟练掌握。 首先我们要明白手动档降档的意义,简单来说,发动机在转速高的时候能获得更好的加速力。这点相信开手动档的朋友都…

2002-2021年各地区平均受教育年限数据(分性别)(含原始数据+计算过程+计算结果)

2002-2021年各地区平均受教育年限数据(分性别)(含原始数据计算过程计算结果) 1、时间:2002-2021年 2、来源:国家统计局、统计年鉴、各省年鉴 3、指标:行政区划代码、地区、年份、人均受教育年…

C++11,{}初始化,initializer_list,decltype,右值引用,类和对象的补充

c98是C标准委员会成立第一年的C标准,C的第一次更新是C03,但由于C03基本上是对C98缺陷的修正,所以一般把C98与C03合并起来,叫做C98/03; 后来原本C委员会更新的速度预计是5年更新一次,但由于C标准委员会的进…

Linux环境下的事件驱动力量:探索Libevent的高性能I/O架构

hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之《Linux环境下的事件驱动力量:探索Libevent的高性能I/O架构》,在这篇文章中,你将会学习到Libevent的高性能I/O原理以及应用,并且我会给出源码…

一竞技MSI:淘汰赛抽签结果出炉 BLG和T1同半区,TES首轮交手TL!

北京时间5月6日,MSI在今天进入短暂的休赛,在昨天结束的入围赛之后,PSG战队作为外卡赛区唯一的队伍进入到正赛,另外欧洲赛区的FNC战队也是击败GAM战队拿到正赛的资格。在比赛结束之后,也是进行了淘汰赛的胜败分组赛的抽…

Llama3-Tutorial之LMDeploy高效部署Llama3实践

Llama3-Tutorial之LMDeploy高效部署Llama3实践 Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,lmdeploy团队对 Llama 3 部署进行了光速支持!!! 书生浦语和机智流社区同学光速投稿了 LMDeploy 高效量化部署 Llam…

JS基础:8个算数运算符详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃 大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端基础路线”,可获取完整web基础…