学习内容
一、软件研发基础
1.软件研发概念
(1)软件概念
软件是指计算机程序以及其他相关文档,是交付给客户的一整套解决方案
软件=程序+文档
(2)文档包括
功能需求、软件设计、项目计划、项目报告、用户手册等。
(3)文档的意义
通过文档,可以让人们清楚的了解软件的结构、程序的设计思想、软件的运行环境等等,让人们能更好的对软件进行使用和维护。
2.什么是软件研发
(1)软件研发不仅仅包括软件开发,是从接到用户的原始需求开始,到需求澄清、版本计划、需求分析、软件设计、UI设计、测试计划、测试设计、代码编写、测试执行,最终验收交付的整个流程。
(2)软件研发起码包括:需求、设计、开发、测试、交付
3.软件公司的人员架构
项目经理(PM)
产品经理
架构师
需求分析师(BA)
UI设计师
开发dev(前端开发/后端开发)
测试和QA
实施工程师
运维工程师
4.软件的研发模型
瀑布模型
瀑布模型是一种线性的顺序的软件开发模型
瀑布模型的流程
计划-需求分析-设计-编码-测试-运行维护
特点
上一个阶段的结构是下一个阶段输入,每个环节是不能改变顺序的,如果中间一个部分出错,要返回重做。
优点
有利于大型项目的开发过程的人员组织和管理
有利于开发方法和工具的选择
提高软件的质量的效率
缺点
收集需求的时间比较长,初始阶段要指出全部的需求,否则中间如果要更改,付出的代价会比较大。
敏捷模型
概念
敏捷模型是一种以人为核心,循序渐进,迭代的开发思想,在敏捷开发中,软件项目的研发被切分为多个阶段,各个阶段都具有独立交付和独立运行的特征。
|