软件体系结构笔记

软件体系结构笔记

软件开发流程

1.软件开发流程_简介

1.1从管理角度

即从业务和经济的角度来看,软件的生命周期包括四个主要阶段:

​ 起始阶段:有一个好的想法:具体构想产品的设想和它的业务案例,确定项目的范围 。

​ 细化阶段: 计划必要的活动和所需资源,具体确定功能并设计构架 。

​ 构建阶段: 构建产品, 发展最初的设想、构架和计划,直到一个能够交付给用户的产品(完毕后的设想)完毕。

​ 移交阶段: 将产品移交用户使用,包含:交付、培训、支持、维护,直到用户惬意。

1.2从技术角度

1.需求: 需求就是我们需要做些调研,挖掘用户想要的功能,来帮助用户完成什么事情,在进一步探讨,实现用户的更多需求

2.设计: 在需求的基础上,开展项目设计,如业务系统详细设计/结构设计/数据库设计…

3.开发: 根据设计来完成具体的实现(编码),自我测试

4.测试: 功能测试/性能测试/其他测试,问题修复后再测试,直到没有出现问题为止

5.上线: 将项目部署,正式环境使用,交付用户使用

​ 1.新项目上线 :将项目打包上传服务器启动

​ 2.迭代项目:在已有项目上新增功能/变更功能

6.运维: 软件上线后,线上监控,维护,确保系统的可用性

运维工程师处理,但是我们开发时需要懂一些

1.3迭代

用户建议增强功能、用户环境的改变、重要技术的变更,以及应对竞争的需要

每次迭代包含步骤:计划、分析、设计、实施和测试

迭代: 举例拿了一块地,修房子(小区) 第一期,反响很不错,建议再修一起,

​ 产生了一个迭代

开发商:迭代建筑 ~

备注:不是每一个项目都有迭代过程

###2.软件开发流程_详细介绍

需求

1.相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

2.系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。

3.系统分析员向用户再次确认需求 (反复确认)

设计
A概要设计(架构设计)

需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

B.详细设计(数据库设计(非必选)/接口详细设计)

实际设计: 1.架构设计 2.概要设计 3.数据库设计 4.详细设计

开发

​ 主要指软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面。在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题!

####测试

​ 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和集成测试;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。以上都很好理解,不再解释。总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会有不可预料的问题存在。完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作

​ 非必现bug: 项目中测试过程没有出现,或者这个流程测试过,当时没有问题,后来有问题

​ 必现bug

​ 上线: 开发人员,开发好,测试通过之后,会编写部署文档,部署文档内容:1.项目(软件)的存放地址 (ftp) 软件迭代管理目录 2.如何部署 (相关的配置 Ip 目录 其他线上的配置) 3.如何启动(shell脚本) :目标时: 让运维人员能够按照流程执行 项目的先后启动顺序

####交付

​ 软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。

​ 《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。

​ 《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。

​ 操作步骤:完成某个业务,每一步的操作

​ 相应的业务介绍:需求报告中要求的重点的需求,进一步介绍

​ 特殊提示: 必须的,我们一般都是定义一个异常码 (100002: 操作错误)

​ 注意事项:可能会导致项目问题的注意事项

​ 举例: 认证登陆:输入5次密码&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值