本帖最后由 黑桃K 于 2022-10-7 23:33 编辑
一,今日学习内容:
网络系统
网络:相互连接的计算机,有局域网、城域网和广域网
优点:资源共享、交换数据
局域网:覆盖相对范围小,范围几十米到几公里,交换数据速度较快,连接数据所用工具有路由器、双绞线、集线器、交换机
城域网:相对覆盖范围较大,范围为几公里到几十公里,连接设备用光纤和路由器
广域网:全球范围内都可用,连接设备用光缆(因特网)
网络结构模式:B/S C/S
Client/Sever
优点
利用两端优势硬件环境优势,合理分配任务,充分发挥客户端的PC处理能力,故客户端响应速度快
降低服务端开销,安全性高,面向固定群体,信息安全高
操作界面满足个性化需求
缺点:
进行安装与维护成本高
软件更新,平台限制
客户端----request(请求)----服务端 客户端----response(响应)----服务端
Brouser/Sever
优点
安装方便快捷,维护成本低
环境要求低,节约成本
零维护,扩展性高
缺点
数据、系统和通信安全保障低
响应速度低,用户体验差
协议固定:http/https
IP地址:唯一标识网络上的每一台计算机地址 四组8位二进制
cmd----ipconfig查找ip
使用tcp/ip标准协议
使用路由交换设备帮助传递到每个计算机
DNS:域名解析器 114.114.114.114号码通 8.8.8.8谷歌
A类地址:1.0.0.0-126.255.255.255 国家级
B类地址:128.0.0.0-191.255.255.255 企业级
C类地址:192.0.0.0-223.255.255.255 个人级
D类地址:224.0.0.0-239.255.255.255 组播通信
E类地址:240.0.0.0-255.255.255.255 科研单位
127.0.0.1 本机回环地址local host
四组8位二进制:用十进制表示
子网掩码:主机地址 网络地址 使用1-254 0、255向外拨号
A:255.0.0.0 B:255.255.0.0 C:255.255.255.0 非0是网络段其余个人段
网关:默认****.****.1.1 向外界联通
软件相关概念
软件是指计算机程序及其他相关文档,是交付给客户的一整套解决方案
软件公司:功能需求文档、软件设计文档、项目计划文档、项目报告、用户手册等
文档:通过文档更清楚了解软件功能结构,程序设计思想,系统运行环境,软件操作方法,
使人更方便的使用和维护
软件的分类
应用程序:为了解决用户的特定需求从而研发
操作系统:管理软件硬件的一整套操作系统
驱动程序:连接操作系统和硬件之间的桥梁(双向)
其他程序:1编译程序:也称编译器,把用高级程序书写的原程序翻译成等价的机器格式的目标程序(编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。)
2数据库(data base/DB):是按照数据结构组织存储和管理数据的仓库,用户可以对仓库的数据增删改查
程序设计语言:用于书写计算机程序的语言
低级语言:1机器语言:二进制 2汇编语言:特定的汇编语言和特定的机器语言指令集(+:ADD)
高级语言:
1解释性语言:python、Javascript、php 速度慢 边解释边执行
2编译性语言:Java、C、 速度快 先解释后执行
软件研发概念:
解决某个问题,将人脑的思路方法用程序语言编写成代码的过程
软件开发:版本计划——需求分析——软件设计——编码——调试
软件研发:原始需求——需求澄清——版本计划——软件设计——UI设计——测试计划——测试设计
——编码——调试——执行测试——验收交付
需求:
来源于客户由BA或者产品经理进行收集来系统应该做什么的文档 SRS软件需求规格说明书(标准)
需求分析和需求澄清:学习需求确定系统的运行环境,建立逻辑模型,确定系统的功能和性能要求
软件设计
概要设计:建立系统的总体结构,划分功能模块,定义各个功能模块接口
详细设计:设计各个模块的具体实现算法,确定各个模块间的详细内容
环境:程序运行所依赖的软件、网络、硬件、数据库等
部署:安装和程序所需的硬件
接口:一系列已经经过编译的可以被调用的函数库
软件接口:
内部接口:不经过第三方直接调用数据库数据
外部接口:需要二次跳转到第三方进行操作
硬件接口:USB HDMI TYPE-C
生命周期:需求——设计——编码——测试——上线——维护——升级——废弃
公司的人员架构
项目经理PM、需求分析师BA/产品经理、架构师、UI设计师(UE 、UX、UCD)、开发DEV(前端、后端)、测试(质量保证QA/质量控制QC)、实施工程师、运维工程师
一个项目大概十多个模块,每个模块十五个左右的接口,测试开发的比例1:2~1:5
千行代码大致有,10~20缺陷,每日代码量大概100~200
软件研发模型
瀑布模型:是一种线性的顺序的软件开发模型 计划-需求分析-设计-编码-测试-上线-维护 上个流程的结果是下个流程的输入 特点:顺序严格确定,有利于大型软件项目的开发管理,有利于开发方法和工具的使用,提高软件的质量和开发效率;但是项目的初期阶段需要指出全部需求,用户和项目负责人需要更长周期才能拿到完整的项目需求,如需修改损失较大
敏捷模型:是一种迭代循序渐进的开发思想,在敏捷开发中,软件项目的开发被切分成多个阶段,各个阶段都具备独立运行和独立交付的特征
迭代:在进行较大规模的项目时,将研发的过程分为若干轮次,每个轮次成为一个迭代,每个迭代都要经历从项目的计划,分析,设计,实现和报告
scrum管理 敏捷模型的典型管理实践
站立会:(时间短)每早晨15min,分享任务进度,和需要对接的问题
看板 :开发内容,准备做 正在做 已完成
用户故事:用户需求点
燃尽图:项目进度图,xy坐标轴
|