一、今日学习内容
1、软件概念:
软件是指计算机程序及其其他相关文档,是交付给客户的一整套解决方案;
软件 = 程序 + 文档;
文档:从需求分析开始--经过软件设计---项目计划---项目报告---到使用说明结束
2、软件分类:
操作程序 管理软件和硬件的一整套系统程序
应用程序 为了解决用户的特定的需求而研发的程序
驱动系统 链接操作系统和硬件之间的桥梁
编译系统 把高级程序设计语言编写成的源代码,转化为等价的二进制的机器语言的目标程序
数据库 按照数据结构来存储、管理数据的仓库,用户可以对数据库的数据进行增删改查操作
3、程序设计语言
高级语言
解释型语言
编译型语言
低级语言
汇编语言
机器语言
4、什么是编码:为了解决某一个问题,将人脑的思路,用程序语言编写成代码的过程
5、什么是软件开发:软件开发不止是编码、是从版本计划、需求分析、软件设计、到代码编写、调试的整个过程
6、什么是软件研发:软件研发起码包括:需求、设计、开发、测试、交付
7、需求:需求来源于用户、由BA(产品经理)进行归纳整理,描述系统应该做什么的一份文档
8、开发设计
概要设计:建立系统的总体结构、划分功能模块,定义各个模块之间的交流方式
详细设计:设计各个模块的具体实现,确定各个模块之间交流的详细内容
9、接口:
硬件接口:USB HDMI TYPE-C
软件接口
内部接口:软件内部的接口,用于软件内部信息的传输交流
外部接口:当我们在12306买票的时候,微信支付就是在调用第三方接口
10、部署:将程序配置安装到网络硬件环境中,使之能够被用户所使用
11、环境:程序运行所依赖的网络,硬件,服务,数据库的总称
12、软件公司的人员架构:
项目经理、产品经理、架构师、需求分析师、UI设计师、开发、测试或QA、实施工程师、运维工程师
13、瀑布模型:瀑布模型是一种线性的、顺序的如那件开发模型
流程:定计划-需求分析-设计-编码-测试-运行维护
特点:上一个阶段的结构是下一阶段输入,每个环节是不能改变顺序的、如果中间一个部分出错,要返回重做
优点:有利于大型项目的卡法过程的人员组织和管理
有利于开发和工具的选择
提高软件的质量的效率
缺点:收集需求的时间比较长,厨师阶段要指出全部的需求,否则中间如果要更改,付出的代价会比较大
14、敏捷模型:敏捷模型是一种以人为核心,循序渐进,迭代的开发思想,在敏捷开发中,软件项目的研发被切分为多个阶段,各个阶段都具有独立交付和独立运行的特征
Scrum:敏捷的一种典型的管理实践
站立会:每天早晨15分钟的站会,分享进度以及问题
看板:包括开发的完成情况,那些是未完成,那些是正在完成,那些是已完成
用户故事:就是用户的需求点
燃尽图:进度任务图,横轴是时间,纵轴是工作量
|