一:今日学习内容
硬件:硬盘,电源,内存条,主板,网卡 软件:程序本身+文档(用户需求-软件设计-项目计划-项目报告-使用说明)通过文档使人更加快捷的了解软件的结构、程序的设计思想、软件的运行环境等等,让人们更好的对软件进行使用和维护 软件的分类: 应用程序:(QQ、微信、高德、小红书等等)为了解决人们特定的需求开发的 驱动程序:连接操作系统和硬盘的桥梁 操作系统: (windows 7,10,11, linux IOS等等)管理软件和硬件的一整套系统程序 其他程序 编译程序(编译器):把用高级程序设计语言的源代码,转化为二进制的机器语言的目标程序 数据库:通过数据结构 进行存储,管理数据的仓库,用户可以对数据库进行增,删,改,查操作 程序设计语言: 高级语言: 解释型语言:JavaScript,Pyshon,PHP等等 编译型语言:Java,C++,C#等等 低级语言: 汇编语言:对机器语言进行简单的封装,让用户更好的去编写程序 机器语言:就是二进制语言,计算机底层只识别二进制 编码:为了解决一个问题,将人脑的思路,想法通过程序序言编写成代码的过程 软件开发:软件开发不只是编码,是从版本计划,需求分析,软件设计到代码编写,调试整个过程 软件研发:软件研发不仅仅只是包含软件开发,是从接到用户的原始要求开始,到需求澄清,版本计划,需求分析,软件设计,UI设计,测试计划,代码编写,测试执行,最终验收交付的整个流程(概括:需求,设计,开发,测试,交付) 需求:需求开源于用户,由产品经理(BA)进行归纳整理,描述系统用该做一个什么文档 SRS:Sfoware Rquirement Specification 软件需求规格说明书 需求分析/需求澄清:学习需求、确定系统的运行环境、建立逻辑模型、确定系统的功能和性能要求 开发设计: 概要设计:建立系统的总体结构、划分功能模块、定义各个模块之间的交流方式 详细设计:设计各个模块的具体实现,确定各个模板之间交流的详细内容 部署: 将程序配置安装到网络硬件环境中,使之能够被用户所使用的。 环境:程序运行所依赖的网络、硬件、服务,数据库等等的总称。 接口:硬件接口:USB、HDMI、TYPE-C等等。 软件接口: 内部接口:软件内部的接口,用于软件内部信息的传输交流。 外部接口:当我们再12306买票的时候,微信支付就是在调用第三方接口。 软件公司的人员架构: 项目经理(PM) 产品经理 架构师 需求分析师(BA) UI设计师 开发dev(前端开发/后端开发):前端开发写页面,后端开发写业务 测试和QA 实施工程师 运维工程师 软件的研发模型
瀑布模型:
瀑布模型是一种线性的、顺序的软件开发模型。 瀑布模型的流程:计划-需求分析-设计-编码-测试-运行维护 特点:上一个阶段的结构是下一个阶段数输入,每个环节是不能改变顺序的,如果中间一个部分出错,要返回重做。 优点:1.有利于大型项目的开发过程的人员组织和管理 2.有利于开发方法和工具的选择 3.提高软件的质量的效率 缺点L:收集需求的时间比较长,初始阶段要指出全部的需求,否则中间如果要更改,付出的代价会比较大。 敏捷模型: 概念:敏捷模型是一种以人为核心,循序渐进,迭代的开发思想,在敏捷开发中,软件项目的研发被切分为多个阶段,各个阶段都具有独立交付和独立运行的特征。 Scrum:敏捷的一种典型的管理实践。 站立会:每天早晨15分钟的站会,分享进度以及问题。 看板:包括开发的完成情况,哪些是未完成、哪些是正在完成、哪些是已完成。 用户故事:就是用户的需求点。 燃尽图:其实就是进度图,横轴是时间,纵轴是工作量。 基于敏捷的研发流程 二:今日学习问题 无
三:解决方案
无
|