一、今日学习内容1、网络
概念::一组相互连接的计算机,使用物理线路连接
优点:1,交换数据 2,资源共享
分类:局域网,广域网,城域网(通过计算机网络覆盖度来区分)
局域网:连接设备的物理设备少,数据传输速度快,通过路由器、双绞线、集线器、交换机。范围较小
城域网:范围位几公里或者几十公里,比局域网大,通过光纤来、路由器来连接
广域网:范围全球范围,通过海底光缆来连接
b/s:浏览器到服务器(bro)
c/s:客户端到服务器
IP地址:网络上每一台计算机的唯一标识地址(唯一标识网络上每一台计算机的地址),
唯一标识,遵循TCP/IP协议,路由交换设备
域名通过DNS(域名解析器)来解析,114.114.114.114 8.8.8.8 常用的解析器
8.8.8.8是谷歌的解析器,访问国内一般用不到
IP分类:从1.0.0.0开始到126.255.255.255(a类地址)国家级 255.0.0 子网掩码 1到126是网络段
从128.0.0.0开始到191.255.255.255(b类地址)企业级255.255.0. 前两组数字是网络段
从192.0.0.0开始到223.255.255.255(c类地址)个人地址255.255.255.0 前三组是网络段
从224.0.0.0开始到239.255.255.255(d类地址)组播通信
从240.0.0.0开始到255.255.255.255(e类地址)科研单位
127.0.0.1 本机回环地址 数据库
网关:与外界网络通信接口,默认选择1.1作为网关地址
2、软件:
软件概念:是指计算机程序以及其他相关文档,是交付给客户的一整套解决方案。
可能用到的文档:功能需求文档、软件设计文档、项目计划、项目报告、用户手册等等,文档的意义是通过文档人们能够更清楚的了解软件的功能结构、程序的设计思想、系统的运行环境、软件的操作方法,让人们可以更方便的对软件进行使用和维护。
软件的分类:
应用程序:为了解决用户的特定需求而研发的程序。
操作系统:管理软件和硬件的一整套操作系统。
驱动程序:连接操作系统硬件之间的桥梁。
其他程序:1,编译程序 也叫编译器,把用高级程序设计语言书写的源程序翻译成等价的机器语言格式的目标程序
2,数据库 DateBase 是按照数据结构来组织、存储、管理数据的仓库,用户可以对仓库里面的数据都可以进行增删改查。
程序设计语言:书写计算机程序所使用的的语言。
分类:低级语言:机器语言(0和1,二进制语言)、汇编语言()
高级语言:高级语言。
分类:解释性语言:翻译,python,javascript,PHP
编译性语言:先翻译再执行, java,c, 执行速度更快
软件研发:
编码:为解决某一个问题将人脑思路方法用程序语言编写成代码的过程。
软件开发:(版本计划)需求分析,软件设计,代码实现,调试
软件研发:原始需求,需求澄清,版本计划,软件设计,UI设计(用户体验设计),测试设计,编码,调试,执行测试,设计验收交付
需求相关概念:
需求:来源于客户,是由BA或者产品经理来收集的描述系统需要做什么的相关文档 srs(需求文档,软件规格需求说明书)
需求分析和需求澄清为了学习需求,确定系统的运行环境,建立逻辑模型,确定系统的功能和性能要求 。
需求对齐,甲乙双方需求达成一致
CCB变更管理控制委员会
软件设计细分为:概要设计(为了建立系统的总体结构,划分功能模块,定义各个功能模块接口)
详细设计(设计各个模块的具体实现算法,确定各个模块间的接口详细内容)
环境:程序运行所以来的硬件、网络、数据库等
部署:程序安装到网络硬件环境中,硬件和网络
接口:一系列已经经过编译的可以被调用的函数库
软件方面的接口:
内部接口:软件系统内部自带接口
外部接口:第三方提供的接口
硬件方面的接口:usb接口,hdmi(高清显示接口),tipc 手机充电接口
软件的生命周期:
需求--设计--编码--测试--交付--上线--维护--升级--废弃
软件公司的人员架构:
pmo管理项目经理
项目人员结构:项目经理(PM)--BA或者产品经理(需求分析师)--架构师--UI设计师(UE()/UX/UC)--开发人员(DEV)(前端开发以及后端开发)--测试(QA质量保证/QC质量控制,qa只关注结果是否对,qc关注为什么对或者不对,自己调试属于单元测试)--实施工程师--运维工程师
项目中的实际情况:一般项目存在十多个模块,每个模块大概有15个接口,国外2个测试对1个开发,国内是2个开发对1个测试,最高会是5:1。1000行代码一般会有10-20个bug(好的工程师一般是5个左右),一般每天会写100-200行代码
软件研发模型:
瀑布型:是一种线性的顺序的软件开发模型,可校验上一步流程是否合理(最开始使用的软件模型,需求变更缓慢)
有点:利于大型软件项目的人员组织和人员管理。有利于开发方法和工具的使用。提高软件质量和开发效率。
缺点:项目初始阶段需要支出全部的需求,用户和项目负责人需要很长时间才能拿到需求版本,项目周期长,如果需要修改需求,损失会比较大。
敏捷模型:是一种迭代循序渐进的开发思想,在敏捷开发中,软建项目的切法被切分为多个阶段,各个阶段都剧本可以独立运行和独立交付的特征。
迭代:在进行较大规模的项目任务时,将研发的过程分为若干个轮次,每个轮次称为一个迭代,每一个都要经历从项目的计划,分析,设计,实现,报告的整个过程。
scrum敏捷模型管理实践(方法论)的工具或者方法:
站立会:每个曹晨15分钟左右,分享昨天分享任务进度,遇到什么问题,需要什么协助
看板:主要写的时开发内容(准备做,正在做,已经完成),方便甲方观看进度
用户故事:用户的需求点
燃尽图:任务进度图
给予敏捷的软件研发流程
二、今日问题
三、解决方案
|