我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

赵强-20221007-前端预科3

[复制链接]
BlueFlame 发表于 2022-10-7 23:42:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日学习内容:
(1)网络:一组相互连接的计算机
优点:资源共享,数据交互
   局域网:范围几十米到几公里,物理连接紧密(集线器)、交换机
   城域网:范围几公里到几十公里,设备,光纤,路由器
   广域网:范围全球范围内,光缆
(2)软件模式:B/S(Brouser/server)  C/S (client/server)
                请求
             -------->
客户端     request         服务端
                响应
             <--------
               response
(3)IP地址:唯一标识网络上的每一台计算机的地址(由4组8位的二进制)
  TCP/IP协议:
  路由交换设备,将数据由一台计算机传送到另外一台计算机上

  DNS:地址解析协议(域名解析器)  将域名转化为IP地址
            114.114.114.114
            8.8.8.8  谷歌域名解析器
IP地址分类:
   A类:1.0.0.0 ~ 126.255.255.255         国家级
            127.0.0.1 (local host)           本机回环地址
   B类:128.0.0.0 ~ 191.255.255.255      企业级
   C类:192.0.0.0 ~ 233.255.255.255     个人级
   D类:224.0.0.0 ~ 239.255.255.255     组播通信
   E类:240.0.0.0 ~ 255.255.255.255      科研单位
二进制:1    10  100  1000  10000  100000   1000000   10000000

十进制:1     2     4      8        16         32          64           128   
  例:192.168.1.1
        11000000. 10101000.00000001.00000001
   子网掩码:A类:255.0.0.0
                   B类:255.255.0.0
                   C类:255.255.255.0
(4)软件:是指计算机程序及其他相关文档,是交付给客户的一整套解决方案
           文档:(功能需求文档,软件设计文档,项目计划文档,项目报告,用户手册)
           文档的意义:通过文档人们能够更清楚的了解软件的功能机构,程序设计思想,系统的运行环境,软件的操作方法,
                              让人们能够更方便的使用和维护

软件分类:
            应用程序:为了解决用户特定需求而研发的程序
            操作系统:管理软件和硬件的一整套程序
            驱动程序:连接操作系统和硬件的桥梁
            其他程序:
                          编译程序(编译器):把用高级程序语言书写的源程序翻译成等价的机器语言格式的目标程序
                          数据库(DataBase):是按照数据结构来组织管理数据的仓库,用户可以对仓库中的数据增删改查
(5)程序语言:用于书写计算机程序的语言
分类:低级语言:机器语言、汇编语言
          高级语言:
                        解释性:JavaScript、python、PHP
                        编译性:Java、C

(6)软件研发概念:原始需求、需求澄清、版本计划、软件设计、UI设计、测试计划、测试设计、编码、调试、执行测试、验收交付
                   编码:解决某一个问题,将人脑的思路方法用程序语言编写成代码的过程
                   软件开发:版本计划、需求分析,软件设计、编码、调试 (单元测试)
(7)需求相关概念:
                   需求:由BA产品经理归纳整理描述需要做什么的文档 需要SRS(软件需求规格说明书)文档
                   SRS:软件需求规格说明书
                   需求分析:学习需求,确定系统的运行环境,建立需求模型,确定系统的功能和性能要求
                   需求变更:经过CCB审核通过,再进行变更
                   需求对齐:甲方、乙方、产品经理、甲方项目负责人对需求了解一致

  概要设计:建立系统总体结构,划分功能模块,定义各个模块的接口
  详细设计:设计各个模块的具体实现算法,确定各个模块间的接口内容
  环境:网络,硬件,程序运行的内存
  部署:程序安装到网络部署的设备中
  接口:一系列已经经过编译的,可以被调用的函数库
       软件方面的接口:
                             内部:腾讯会员视频播放判断是否为会员
                             外部:第三方电子支付
       硬件方面的接口:USB接口,HDMI接口(高清),type-C
软件的生命周期:需求、设计、编码、测试、上线、维护、升级、废弃
(8)软件公司的人员架构:
                PMO
                项目经理(PM)分配任务
                BA/产品经理(需求分析师)生成SRS文档
                架构师   前后端不同构架
                UI(UE、UX、UCD)设计师
                开发Dev:
                            前端:注重页面的设计
                            后端:注重程序的业务逻辑,算法设计
                测试:
                          QA(质量保证):关注结果对不对,还要关注为什么这样做(前后端都需要关注)证书“六西格玛”
                          QC(质量控制):检查东西做的对不对
                实施工程师
                运维工程师

(9)项目工作实际情况:一般情况,一个项目有10多个模块,每个模块大概会有15个接口,
                            开发和测试的比例:国外  开发:测试大约是 1:2
                                                         国内  开发:测试    2:1 ~  5:1  
                            1000行代码会有10~20个缺陷(bug),一个好的工程师要求是5个
                             一般情况一天的代码量是100~200行   

(10)软件研发的流程:
        软件的研发模型 :
                1.瀑布模型:一种线性的,顺序的软件开发模型(计划-->需求分析-->设计-->编码-->测试-->运行维护)
                                  优点:①有利于大型软件项目的人员组织开发管理。
                            ②有利于开发方法和工具的使用。
                            ③提高了软件的质量和开发效率。
                  缺点:项目的初始阶段需要指出全部的需求,用户和项目负责人需要很长时间才能拿到需求初稿,
                                            如果需要修改损失比较大
                                2.敏捷模型:是一种迭代循序渐进的思想,在敏捷开发中软件项目的研发被切分为多个阶段,
                                                   各个阶段都具备可以独立运行和独立交付的特征
                                   scrum:敏捷模型的典型管理实践
                               管理方法:
                                  1. 站立会:每天早晨15分钟左右,分享任务进度
                                  2. 看板:开发内容 准备做、正在做、已完成
                                  3. 用户故事:用户的需求点
                                  4. 燃尽图:任务进度图
                   迭代:在进行较大规模的项目任务时,将研发的过程分为若干轮次,每个轮次称为迭代,
                             每个轮次经历计划、分析、设计、实现和报告

(11)基于敏捷的研发流程:
概念                          计划                                                                      实施                                                                                                                                             交付                                

                                                                                        sprint1___build1.1__编码/测试用例 -->版本测试,环境搭建---->冒烟测试-->
                                                                                  需求分析                       执行测试-->提交bug-->修复bug-->回归测试(缺陷回归)-->提交开发/测试报告       产品报告(show case/bug)--UAT(产品的UAT)
市场调研                                                                    开发/测试计划  spring2___build1.2 同上
                                                                                 开发/测试设计  spring3___build1.3 同上
                                                                                                        spring4___build1.4
                         项目总体计划
可行性分析         (10个领域)


风险评估

回复

使用道具 举报

关注0

粉丝0

帖子47

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026