![]()
1)软件需求分析与定义 软件需求是针对待解决问题的特性的描述。所定义的需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。 通过需求分析,可以检测和解决需求之间的冲突、发现系统的边界、并详细出系统需求 软件需求包括功能需求(系统需要完成的业务功能)、非功能需求(可靠、容错、扩展、性能等)、设计约束(限制条件、补充规约,如软件运行在IE7下或win7下不能运行等) 2)软件设计、测试与维护
测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分 软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段。
软件维护类型: ①更正性维护---更正交付后发现的错误; ②适应性维护---使软件产品能够在变化后或变化中的环境中继续使用; ③完善性维护----改进交付后产品的性能和可维护性; ④预防性维护---在软件产品中的潜在错误成为实际错误前,检测并更正它们。 3)软件质量保证及质量评价 软件质量:是指软件特性的总和,是软件满足用户需求的能力,即遵从用户需求,达到用户满意。软件质量包括:内部质量、外部质量和使用质量三部分。内部质量和外部质量合称为产品质量。产品质量认为是软件系统自身固有的内存特征和外部表现。使用质量是从客户或用户使用的角度去感知到的质量。 软件质量管理过程有:
软件配置管理通过标识产品的组成元素、管理和控制变更、验证、记录和报告配置信息,来控制产品的进化和完整性。 软件配置管理活动有:
软件过程管理包括:
软件开发工具 软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。 软件需求工具:需求建模工具和需求追踪工具。 软件设计工具:软件设计创建和检查工具。 软件构造工具:程序编辑器、编译器、代码生成器、解释器、调试器等。 软件测试工具:测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。 软件维护工具:理解工具(如可视化工具)和再造工具(如重构工具)。 软件配置管理工具:追踪工具、版本管理工具和发布工具。 软件工程管理工具:项目计划与追踪工具、风险管理工具和度量工具。 软件工程过程工具:建模工具、管理工具、软件开发环境。 软件质量工具:检查工具和分析工具。 7)软件复用 软件复用是指利用已有软件的各种有关知识构造新的软件,以缩短软件开发和维护的费用。 复用是提高软件生产力和质量的一种重要技术。 软件复用的主要思想是,将软件看成由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。
对象:是由一组属性和对这组属性进行的操作构成的。对象包含对象标识、对象状态和对象行为3个基本要素。 类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。 对象是类的实例,类是对象的模板(抽象)。 抽象:通过特定的实例抽取共同特征以后形成概念的过程。 封装:将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。 继承:表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征。继承分为单继承和多继承。 多态:使得在多个类中可以定义同一个操作或属性名称,并在每个类中可以有不同的体现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特性。 接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。 消息:体现对象间的交互,通过它向目标对象发送操作请求。 组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。 复用:指将已有的软件及其有效成分用于构造新的软件或系统。 模式:描述了一个不断重复发生的问题,以及访问题的解决方案。其包括特定环境、问题和解决方案3个组成部分。 统一建模语言(Unified Modeling Language, UML)用于对软件进行可视化描述构造和建立软件系统的文档。适用于各种软件开发方法,是一种的建模语言,而不是编程语言。 RUP(RationalUnified Process)是使用面向对象技术进行软件开发的最佳实践之一,是软件工程的过程。它对所有关键开发活动提供了使用准则、模板、工具等。其涵盖的最佳实践经验包括:迭代式开发、需求管理、使用以组件为中心的软件架构、可视化建模、验证软件质量及控制变更等。 面向对象系统分析运用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。 面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。 面向对象系统设计基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。 面向对象系统设计主要包括用例设计、类设计和子系统设计等。 数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 Web服务(Web Services)定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTP(S)协议传送XML表示及封装的内容。 Web Services技术包括:用于传递信息的简单对象访问协议(SimpleObject Access Protocal,SOAP)、用于描述服务的Web服务描述语言(Web Services Description Language,WSDL)、用于Web服务注册的统一描述、发现及集成(UniversalDescription Discovery and Integration, UDDI)、用于数据交换的XML。 Web服务的主要目标是跨平台的互操作性,适合使用Web Services的情况有:跨越防火墙、应用程序集成、B2B集成、软件重用等。不适合使用Web服务的情况有:单机应用程序、局域网上的同构应用程序等。 JavaEE(JavaPlatform Enterprise Edition)应用将开发工作分成两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器负责处理,不必为中间层的资源和运行管理进行编码。 JavaEE应用服务器运行环境主要包括组件(Component)、容器(Container)及服务(Services)3部分。其中组件是表示应用逻辑的代码;容器是组件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。 .NET开发框架在通用语言运行环境(Common Language Runtime)基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。 中间件(Middleware)是位于硬件、操作系统等平台和应用之间的通用服务。 中间件分为:
开放系统互连参考模型(Open System Interconnect, OSI) (1)物理层:该层包括物理连网媒介,如电缆连线连接器。该层的协议产生并检测电压以便发送和接收携带数据的信号。具体标准有:RS232、V.35、RJ-45、FDDI。 (2)数据链路层:它控制网络层与物理之间的通信。它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。常见的协议有:IEEE802.3/.2、HDLC、PPP、ATM。 (3)网络层:其主要功能是将网络地址(IP地址)翻译成对应的物理地址(网卡地址),并决定如何将数据从发送方路由到接收方。具体协议有:IP、ICMP、IGMP、IPX、ARP等。 (4)传输层:主要负责确保数据可靠、顺序、无错地从A点传输到B点。如提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。具体协议有:TCP、UDP、SPX。 (5)会话层:负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能。常见的协议有:RPC、SQL。 (6)表示层:如同应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;表示层管理数据的解密加密、数据转换、格式化和文本压缩。常见的协议有:JPEG、ASCII、GIF、DES、MPEG。 (7)应用层:负责对软件提供接口以使程序能使用网络服务,如事务处理程序、文件传送协议和网络管理等。常见的协议有:HTTP、Telnet、FTP、SMTP、NFS。 IEEE802规范: 802.1(802协议概论)、802.2(逻辑链路控制层LLC协议)、802.3(以太网的CSMA/CD)、802.4(令牌总线协议)、802.5(令牌环协议)、802.6(城域网MAN协议)、802.7(FDDI<光纤分布式数据接口>宽带技术协议)、802.8(光纤技术协议)、802.9(局域网上的语音/数据集成规范)、802.10(局域网安全互操作标准)、802.22(无线局域网WLAN标准协议)。 IEEE802.3标准以太网10Mb/s传输介质为细同轴电缆 IEEE802.3u快速以太网100Mb/s双绞线 IEEE802.3z千兆以太网1000Mb/s光纤或双绞线 广域网协议有:PPP点对点协议、ISDN综合业务数字网、xDSL(DSL数字用户线路的统称:HDSL、SDSL、MVL、ADSL)DDN数字专线、x.25、FR帧中继、ATM(异步传输模式)。 Internet是一个不受政府管理和控制的、包括成千上万相互协作的组织和网络的集合体。有如下特点:
TCP/IP协议4层模型 (1)应用层:相当于OSI的5~7层。包括:文件传输协议FTP、电子邮件协议SMTP、域名系统DNS、网络管理协议SNMP、超文本传输协议HTTP等。 (2)传输层:对应OSI的传输层。负责在源主机和目的主机之间提供端-端的数据传输服务。主要协议有:面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。 (3)网际层:对应OSI的网络层。负责将分组独立地从信源传送到信宿,主要解决路由选择、阻塞控制及网际互联问题。常见协议有:互联网协议IP、地址转换协议ARP、反向地址转换协议RARP和互联网控制报文协议ICMP等。 (4)网络接口层:负责将IP分组封装成适合在物理网络上传输的帧格式并发送出去,或将从物理网络接收到的帧卸装并取出IP分组递交给高层。对应OSI的数据链路层和物理层 IP地址分为IPv4和IPv6两个版本。 IPv4由32位(即4字节)二进制数组成,将每个字节作为一段并以十进制数来表示,每段间用“.”分隔,称为点分十进制表示法。如:192.168.1.1。 IPv6由128位(16个字节)写成8个16位的无符号整数,每个整数用4个十六进制位表示,这些数之间用英文冒号“:”分开。如:3ffe:3201:1401:1280:c8ff:fe4d:db39。 IPv6所具有的优点:
域名系统(Domain Name System, DNS):域名采用层次结构的基于“域”的命名方案,每一层由一个子域名组成,子域名间用“.”分隔,其格式为:机器名.网络名.机构名.最高域名。如:www.qghkt.com。统一资源定位器(url)如:https://qghkt.ke.qq.com。 E_mail地址的格式为:用户名@主机域名。如:983355967@qq.com。 网络分类 按计算机网络所覆盖的地址范围大小分为:局域网、城域网和广域网。 局域网(LAN)覆盖范围一般在几十米到几千米。 城域网(MAN)覆盖范围达到一个城市的大小。 广域网(WAN)覆盖到多个城市甚至全球。我国著名的公共广域网是ChinaNet、ChinaPAC、ChinaFrame、ChinaDDN等。 链路传输控制技术:是指如何分配网络传输线路、网络交换设备资源,以便避免网络通信链路资源冲突,同时为所有网络终端和服务器进行数据传输。典型技术所对应的网络有:
网络按拓扑结构分为:总线型结构、环型结构、星型结构、树型结构和网状结构。 网络交换是指通过一定的设备、如交换机等,将不同的信号或者信号形式转换为对方可识别的信号类型从而达到通信目的的一种交换形式,常见的有:数据交换、线路交换、报文交换和分组交换。 按交换层次不同,网络交换可分为物理层交换(如电话网)、链路层交换(二层交换,对MAC地址进行变更)、网络层交换(三层交换,对IP地址进行变更)、传输层交换(四层交换,对端口进行变更,比较少见)和应用层交换(可理解为Web网关)。 数据交换可分为电路交换、分组交换(数据包交换)、ATM交换、全光交换和标记交换。 分组交换可用于数据服网络和虚电路网络。Internet是数据报网络,单位是bit;而ATM是虚电路网络,单位是码元。 网络接入技术分为 (1)光纤接入:光纤是目前传输速率最高的传输介质。 (2)同轴接入:混合光纤/铜轴(HFC)接入技术优点是可以利用现有的CATV网,从而降低网络接入成本。 (3)铜线接入:是指以现有的电话线为传输介质,利用各种先进的调制技术和编码技术、数字信号处理技术来提高铜线的传输速率和传输距离。 (4)无线接入:可分为固定无线接入和移动无线接入。采用无线技术的有微波、卫星等。无线接入的优点有:初期投入小,能迅速提供业务,不需要铺设线路,因而可以省去铺线的大量费用和时间;比较灵活,可以随时按照需要进行变更、扩容,抗灾难性比较强。 光网络技术可分为:光传输技术、光节点技术和光接入技术。 全光网(AON)是指信息从源节点到目的节点完全在光域进行,即全部采用光波技术完成信息的传输和交换的宽带网络。它包括光传输、光放大、光再生、光选路、光交换、光存储、光信息处理等先进的全光技术。全光网络以光结点取代电结点,并用光纤将光结点互连在一起,实现信息完全在光域的传送和交换,是未来信息网的核心。优点是开放。 无线网络:是指以无线电波作为信息传输媒介。 按应用领域分为:无线个域网(WPAN)、无线局域网(WLAN)、无线城域网(WMAN)、蜂房移动通信网(WWAN)。 按应用角度分为:无线传感器网络、无线Mesh网络、无线穿戴网络、无线体域网。 无线通信技术:第一代(1G)为模拟制式手机;第二代(2G)为GSM、CDMA制式;第三代(3G)为CDMA2000、WCDMA、TD-SCDMA,速率达2.6Mbps;第四代(4G)为TD-LTE和FDD-LTE制式,速率达100Mbps;第五代(5G)速率达1Gbps。 网络服务器:是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机,称为Server。 网络存储技术为3种:直连式存储(Direct Attached Storage, DAS)、网络存储设备(Network Attached Storage, NAS)和存储网络(StorageArea Network, SAN)。 网络设计工作包括:
网络安全:指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 信息安全的基本要素有:
拒绝服务:即通过控制网络上的其他机器,对目标主机所在网络服务不断进行干扰,改变其正常的作业流程,执行无关程序使系统响应减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。 信息系统安全的5个等级:自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访问验证保护级。 网络安全工具有:防火墙、扫描器、防毒软件、安全审计系统。 1)大数据(Big Data)的特点归纳为4个“V”àVolume(数据量大)、Variety(数据类型繁多)、Velocity(处理速度快)、Value(价值密度低)。 大数据关键技术主要包括数据采集、数据存储、数据管理、数据分析与挖掘4个环节。在数据采集阶段主要使用的技术是数据抽取工具ETL。在数据存储环节主要有结构化数据、非结构化数据和半结构化数据的存储与访问。结构化数据一般存放在关系数据库,通过数据查询语言(SQL)来访问;非结构化(如图片、视频、doc文件等)和半结构化数据一般通过分布式文件系统的NoSQL进行存储。大数据管理主要使用了分布式并行处理技术,比较常用的有MapReduce。数据分析与挖掘是根据业务需求对大数据进行关联、聚类、分类等钻取和分析,并利用图形、表格加以展示。 HDFS(Hadoop分布式文件系统)能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,适合部署在廉价机器上。 HBase是一个分布式的、面向列的开源数据库。它是基于列的模式,适合于非结构化数据存储的数据库。 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。 Chukwa是一个开源的用于监控大型分布式系统的数据收集系统。 2)云计算是一种大集中的服务模式:服务器端可以通过网格计算,将大量低端计算机和存储资源整合在一起,提供高性能的计算能力、存储服务、应用和安全管理等;客户端可以根据需要,动态申请计算、存储和应用服务,在降低硬件、开发和运维成本的同时,大大拓展了客户端的处理能力。用一句话概括云计算就是通过网络提供可动态伸缩的廉价计算能力。 特点如下:
云计算架构分为:
网格计算是一种计算能力提升的方式,其原理是依据并行计算理论,通过任务分解,将子任务分布式提交到其他服务器上运行,以获得更强大计算能力。 云计算与网格计算的对比表 3)物联网(Internet ofThings, IoT)即“物物相联之网”,指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物与物、人与物进行智能化连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种新兴网络。 物联网架构分三层:
4)移动互联网 = 移动通信网络+互联网内容和应用,不仅是互联网的延伸,而且是互联网的发展方向。 移动互联网所具有的新特点:
移动互联网的关键技术包括架构技术SOA、页面展示技术Web2.0和HTML5、以及主流开发平台Android、iOS和WindowsPhone。 面向服务的架构(Service-Oriented Architecture, SOA)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。 ![]() |
|