第一章 信息化和信息系统
第一节 信息
信息质量属性:
精确性:对事物状态描述的准确程度
完整性:对事物状态描述的全面程度,完整信息应包括所有重要事实
可靠性:信息来源、采集方法、传输过程可信任,符合预期
及时性
经济性:信息获取、传输带来的成本在可接受的范围内
可验证性:主要质量属性可证实或证伪
安全性:生命周期内,被非授权访问的可能性
信息技术的核心:
信息的传输技术(通信、网络等)。
信息的传输模型:
信源->编码->信道(噪声)->解码->信宿
编码器:
解码器:
第二节 信息化
信息化的五个层次(由小到大):
产品信息化,是信息化的基础
企业信息化
产业信息化
国民经济信息化
社会生活信息化(智慧城市、互联网金融)
信息化的主体、手段、途径、目标
主体:全体社会成员
手段:基于现代信息技术的先进社会生产工具
途径:创建信息时代的社会生产力,推动生产关系及上层建筑的改革
目标:使国家的综合实力,社会的文明素质和人民的生活质量全面提升
两网一站四库十二金
政务内外网
政府门户网站
四库:人口、法人单位、空间地理和自然资源、宏观经济数据库
十二金:办公业务资源系统等十二个业务系统
信息化体系六要素:
左人右龟上鹰下鸡中资与网
信息资源,信息资源的开发和利用是国家信息化的核心任务
信息网络,信息网络是信息资源开发和利用的基础设施
信息技术应用,反应了效率、效果、效益,是龙头,是主阵地
信息化技术与产业,是物质基础
信息化人才,是成功之本
信息化政策法规和标准规范,是保障
第三节 信息化系统
信息化系统的生命周期:
4大:立项、开发、运维、消亡
5小:系统规划、系统分析、系统设计、系统实施、运行维护
信息化系统的开发方法:
1. 结构化方法
2. 面向对象方法
3. 原型化方法
4. 面向服务的开发方法
结构化方法:
也称生命周期法,是一种传统的信息系统开发方法,由结构化分析、设计、程序设计三部分组合而成(流程图),其精髓是自顶而下,逐步求精和模块化设计
主要特点:
1.目标清晰化
2.工作阶段化
3.文档规范化
4.设计方法结构化
结构化方法是最成熟、应用较广泛的一种工程化方法,适合数据处理,不适合大规模复杂工程
局限性:
1.开发周期长
2.难以适应需求变化
3.较少考虑数据结构
面向对象方法
系统分析、设计、实现阶段的界限不明确
大型信息系统开发,使用结构化方法自顶向下整体划分;然后,自底向上使用面向对象方法进行开发
原型化方法
由用户初步需求,快速建立简单模型,在此基础上与用户交流,最终实现需求
是否实现功能:水平原型(界面)、垂直原型(算法与功能)
最终结果:抛弃式原型、演化式原型
特点:
缩短周期,降低风险成本,获得高收益
以用户为中心,提高用户参与度和满意度,提高开发成功率
用户对系统了解,利于系统移交、运行和维护
缺点:
开发环境要求高
管理水平要求高
原型法能更有效的确认用户需求,
适用于 需求不明确及分析层面难度大的系统开发
不适用于 技术层面难度大
面向服务方法
进一步将接口的定义与实现进行解耦
提高系统可复用性、信息资源共享和系统之间的互操作性,提高信息化建设效率
第四节 网络模型
osi七层网络模型
7.应用层:http talnet ftp smtp tftp dhcp dns snmp(简单网络管理协议)
6.表示层:jpeg ascii gif des mpeg
5.会话层:rpc sql nfs
4.传输层:tcp udp spx
3.网络层:ip icmp(网络控制报文) igmp(国际组管理) ipx arp(地址解析) rarp(反向地解)
2.数据链路层:ieee802.3/.2 hdlc ppp atm
1.物理层:rs232 v.35 rj-45 fddi
IEEE802.11 无线局域网协议
Tcp/ip协议是internet的核心
网络设备
根据交换层次的不同,网络交互可分为
物理交互(电话网)
链路层交互(二次交换、对mac地址变更)
网络层交换(三层交换、对IP地址进行变更)
传输层交换(四层交换、变更端口)
应用层交换
互联设备
中继器(物理层协议转换,在电缆间转换二进制信号)
网桥(实现物理层和数据链路层协议转换)
路由器(在网络层实现网络层和以下各层协议转换)
网关(从最底层到传输层或以上各层)
交换机(各层都有)
网络存储技术
直连DAS,存储设备通过scsi电缆连接到服务器
网络附加存储NAS,支持多种TCP/IP协议,主要是NFS和CIFS来进行访问
存储区域网络SAN,根据数据传输协议,可分为FCsan/IPsan/IBsan
网络规划与设计
接入Internet的两大方式:有线、无线
有线:pstn\isdn\adsl\fttx+lan\hfc
无线:gprs\3G\4G\WIFI
2019年6月6日发放5G牌照,商用元年;10月31日公布套餐;11月1上线套餐
5G速率1Gbps
网络设计:核心层、汇聚层、接入层
核心层:高速转发通信,高可靠、高性能、高吞吐
汇聚层:网络访问策略控制,数据包处理,过滤,寻址,以及其他的数据处理任务
接入层:底成本、高密度
数据库:
关系型数据库:Oracle、mysql、sqlserver
非关系型数据库:mongodb
数据仓库:
是一个面向主题的,集成的,非易失的,且随时间变化的数据集合,用于支持管理决策
中间件:
一个分布式系统环境中处于操作系统与应用之间的软件(独立)
分类:
底层型:jvm、CLR(公共语言运行库)、ACE、JDBC(java数据库连接)、ODBC
通用型:CORBA、J2EE、MOM(面向消息的中间件)、COM
集成型:workflow、EAI
应用:
系统底层传输层集成,使用CORBA技术
不同系统的信息传递,使用消息中间件产品
不同硬件和操作系统的集成,使用J2EE中间件
可用性和可靠性:
可用性:能够正常运行的时间比例
错误检测(心跳)、错误恢复(冗余、表决)、错误防范(进程监控)
可靠性:在错误或意外下维持软件系统的功能特性的基本能力
第五节 需求分析
需求三层次
业务需求:反应企业或客户对系统高层次的一个目标追求,通常来自项目投资人、客户、市场营销部门或产品策划部门
用户需求:指用户的具体目标,或用户要求系统必须能完成的任务,用户需求描述了用户能让系统来做什么
系统需求:指从系统的角度来说明软件的需求,包括功能需求,非功能需求和设计约束
质量功能部署
一种将用户需求转化成软件需求的技术,最大限度地提升软件工程中用户的满意度,将软件需求分为三类:常规需求、期望需求、意外需求
需求分析(获取)
常用的需求获取方法包括:用户访谈、调查问卷、采样、情节串联板、联合需求计划等;
需求应具有无二义、完整、一致、可测试、确定、可跟踪、正确、必要等特征
需求分析的工作是把 杂乱无章的用户要求和期望 转换为 用户需求,确定系统必须完成的工作,对目标系统提出完整、准确、具体的要求。
需求分析的的过程:获取、分析、编写需求说明书、需求验证与确认
结构化分析SA方法进行需求分析
核心是数据字典
模型:
数据模型:实体联系图(E-R图)描述实体、属性、以及实体之间的关系
功能模型:数据流图(DFD)从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在他们之间传递的情况,来说明系统所完成的功能
行为模型:状态转换图(STD)通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定时间的结果将执行哪些动作(如数据处理)
需求规格说明书(SRS)内容包括:范围引用需合规,追踪尚未注附录
需求验证(确认):方式:需求评审和需求测试;实质:对SRS进行技术评审;目的:
SRS正确描述了预期的、满足项目干系人需求的系统行为与特征
SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的
需求是完整和高质量的;需求的表示在所有地方都是一致的
需求为继续进行系统设计、实现和测试提供了足够的基础
UML
是一种定义良好,易于表达、功能强大且普遍适用的建模语言。UML结构包括造块、规则和公共机制三个部分。
用关系把事物集合在一起,主要有四个关系:
UML2.0 14种图(静态(6):部队负包类成狗;动态图(8):制定交通,顺桩活用)
UML视图(组织结构划分,了解):
逻辑视图:又称设计视图,表示设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集
进程视图:是可执行线程与进程作为活动类的建模,是逻辑视图的一次执行实例,描述了并发与同步结构
实现视图:对组成基于系统的物理代码的文件和构件进行建模
部署视图:把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构
用例结构:用例视图是最基本上的需求分析模型
OOA与OOD(了解):
OOA(object-Oriented Analysis)面向对象分析方法,做什么
OOD(object-Oriented Design)面向对象设计,怎么做
OOA模型独立于具体实现,不考虑具体实现有关的因素,是两者的区别因素
面向对象分析阶段的核心工作是建立系统用例模型于分析模型
软件架构
软件架构风格(掌握)
研究软件架构的目的:解决好软件的复用、质量和维护问题
软件架构设计的核心:能否达到架构级的软件复用,关注的是系统质量属性
风格包括:
数据流风格:批处理序列(顺序执行)和管道/过滤器(输入输出数据流)
调用/返回风格:主程序/子程序(过程调用)、数据抽象和面对对象(对象及封装),以及层次结构(分层调用)
独立构件风格:进程通信(消息传递、远程调用)和事件驱动(事件触发调用)的系统
虚拟机风格:解释器(解释引擎)和基于规则(规则集)的系统
仓库风格:数据库系统(中央共享数据源)、黑板系统(知识源、黑板及共享数据和控制)和超文本系统(非线性交叉引用)
软件架构评估(了解)
敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
三类主要的评估方式:
软件设计(掌握)
软件设计分为结构化设计与面向对象设计
结构化设计SD是一种面向数据流的方法,他以SRS和SA阶段所产生的DFD和数据字段等文档为基础,是一个自顶向下,逐步求精和模块化的过程。SD分为概要设计和详细设计两个阶段。在SD中需要遵循一个基本原则:高内聚,低耦合,模块内部高度内聚,模块与模块之间需要降低耦合度
面向对象设计OOD的基本思想包括抽象、封装、可扩展性,其中可扩展性主要通过继承和多态来实现,三大特征是封装、继承、多态。
软件工程的过程管理