一 计算机组成
?计算机硬件基本系统有五大部分组成:运算器,控制器,存储器,输入设备,输出设备。 ?存储器分为内部存储器(即内存,容量小,速度快,临时存放数据)和外部存储器(即硬盘,光盘等,容量大,速度慢,长期保存数据) ?中央处理单元组成:由运算器,控制器,寄存器组和内部总线组成 ?中央处理单元功能:实现程序控制,操作控制,时间控制,数据处理功能 ?运算器组成:算术逻辑单元ALU(实现对数据的算术和逻辑运算),累加寄存器AC(运算结果或源操作数的存放区),数据缓冲寄存器DR(暂时存放内容的指令或数据), 状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志) ?运算器功能:执行所有的算术运算,如加减乘除等。执行所有的逻辑运算并进行逻辑测试,如与,或,非,比较等。 ?控制器组成:指令寄存器IR(暂存CPU执行指令),程序计数器PC(存放执行地址),地址寄存器AR(保存当前CPU所访问的内存地址),指令译码器ID(分析指令操作码)等组成 ?控制器功能:控制整个CPU的工作,最为重要,包括程序控制,时序控制等。
二 软件生存周期(常考产出物)
可行性分析与项目开发计划
?这个阶段主要确定软件的开发目标及其可行性 ?参加人员有用户,项目负责人和系统分析师 ?该阶段产生的主要文档有可行性分析报告和项目?开发计划,从而确定系统的逻辑模型
需求分析
?这个阶段确定软件的系统的功能,性能,数据和界面等要求 ?参加人员有用户,项目负责人和系统分析师。 ?该阶段产生的主要文档软件需求说明书
概要设计
?在概要设计阶段,开发人员要把确定的各项功能?需求转换需要的体系结构。概要设计就二十设计软件的结构 ?概要设计概要的参加人员有系统分析师和软件设计师 ?该阶段主要产生文档有概要设计说明书
详细设计
?详细设计阶段的主要任务是对每个模块完成的功能进行具体描述,要把功能描述转变为精确的,结构化的过程描述。 ?详细设计阶段的参加人员有软件设计师和程序员。 ?该阶段主要产生文档有详细设计文档。
编码
?编码阶段就是把每个模块的控制结构转换成计算机课接受的程序代码。即写成某种特定程序设计语言表示的源程序清单
测试
?测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检查软件的各个组成部分。 ?测试阶段的参加人员通常是另一部门的软件设计师或系统分析师。 ?该阶段主要产生文档有软件测试计划,测试用例和软件测试报告。
维护
?软件维护是软件设计生存周期中时间最长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至十几年。
三 软件过程模型
瀑布模型
?结构化方法中的模型,是结构化的开发,开发流程如瀑布一样,一步一步走下去,直到项目完成开发 ?只适用于需求明确或者二次开发(需求稳定)的项目
V模型
?是瀑布模型的一个变种。特点是增加了多轮测试,并且这些测试贯穿于软件开发的各个阶段
原型
?快速原型开发,与瀑布模型相反,原型针对需求不明确的情况
螺旋模型
?是多种模型的混合,针对需求不明确的项目,与原型相似,但增加了风险分析(制定计划—风险分析—实施工程—用户评估)
增量模型
?首先开发核心功能模块,而后与用户确认,之后再开发次核心功能,即每次开发一部分功能,并与用户需求确认,最终完成项目开发,优先级高的服务最先交付。 增量模型的每一次增量版本都可作为独立操作的作品
喷泉模型
?是一种以用户需求为动力,以对象作为驱动的模型。适用于面向对象的开发方法是开发过程具有迭代性和无间隙性
四 敏捷开发
?敏捷开发的总体目标是通过“尽可能早,持续地对有价值的软件的交付”使客户满意。通过在软件开发过程中加入灵活性,敏捷开发使用户能够在开发周期的后期增加或者改变需求。
结对编程
?一个程序员开发,另一个审查代码,能够有效的提高代码的质量
自适应开发(ASD)
?强调开发方法的适应性
水晶方法(Crystal)
?水晶法认为每一个不同项目都需要一套不同搞的策略,约定和方法论
特性驱动开发
?是一套针对中小型软件开发项目的开发模式,是一个模型驱动的快速迭代开发过程,它强调的是简化,使用,易被开发团队接受,适用于需求经常变动的项目
并列争求法(Scrum)
?并列争求法是一种迭代的增量化过程,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级来实现产品。
极限编程(XP)
?XP是一种轻量级(敏捷),高效,低风险,柔性,可预测,科学的软件开发方式。 ?四大价值观:沟通,简单性,反馈和勇气。 ?五个原则:快速反馈,简单性假设,逐步修改,提倡更改和优质工作。 ?12个最佳实践:计划游戏,小型发布,隐喻,简单设计,测试先行,重构,结队编程,集体代码所有制,持续集成,每周工作40小时,现场客户和编码标准
五 计算机网络
IEEE802.3 :标准以太网 IEEE802.3u: 快速以太网 IEEE802.3z:千兆以太网
网络层协议
IP协议:最重要最核心的协议(无连接,不可靠) ICMP协议:因特网控制信息协议,检测网络通信顺畅 ARP协议和RARP协议:地址解析协议 ARP ????? IP地址 -> 物理地址 RARP??? 物理地址 ->IP地址
传输层协议
UDP协议:不可靠协议 一般用于视频,音频传输 TCP协议:可靠连接 (三次握手协议)
应用层协议
FTP:文件传输协议(可靠)控制端口为21 传输端口为20 HTTP(默认端口80):超文本传输协议 (可靠)使用SSL加密后为HTTPS(默认端口443) SMTP(发送)和POP3(收取):邮件传输协议(可靠) Telent:远程连接协议(可靠) TFTP:小文件传输协议(不可靠) SNMP:简单网络管理协议(不可靠) DHCP:动态分配IP地址协议(不可靠)客户机/服务器模型 DNS:域名解析协议(不可靠)默认租期为8天
常见网络诊断命令
ping:用于检查网络是否连通; tracert( linux: traceroute):用于确定 IP数据包访问目标所采取的路径,若网络不通,能定位到具体哪个结点不通; ipconfig(linux: ifconfig):显示TCP/IP网络配置值,如:IP地址,MAC地址,网关地址等; nslookup:查询DNS记录; Netstat:用于显示网络连接、路由表和网络接口信息。
|