写点什么

高项 - 第一章 信息化和信息系统 (2)

作者:索隆
  • 2022 年 9 月 12 日
    北京
  • 本文字数:3718 字

    阅读完需:约 12 分钟

1.4 软件工程

需求分析

需求的层次

  • 业务需求

  • 用户需求

  • 系统需求:功能需求,非功能需求,设计约束


质量功能部署

质量功能部署:Quality Function Deployment,QFD,将用户需求转化为软件需求技术,QFD 将软件需求分为:

  • 常规需求:用户认为系统应该做到的功能或性能,实现越多用户会越满意,不一定提出,或者不愿意说,没必要说,理所当然应该做到

  • 期望需求:用户想当然认为系统应具备的功能或性能,能较明确的提出,但是并不能正确描述自己想要的需求,不实现,会不满意

  • 意外需求,也称为兴奋需求,是用户要求范围外的功能或者性能。实现了会高兴,不实现也不影响用户购买决策。客户自己也不知道的需求。

  • 无差异需求

  • 逆向需求


需求分析




软件需求规格说明书



GB 强制标准

GB/T 推荐标准,建议


需求验证

也称为需求确认,在系统分析阶段,确认需求正确性。

在实际工作中,一般通过需求评审和需求测试工作来对需求进行验证。


UML

关系:

  • 依赖

  • 关联

  • 泛化

  • 实现


图形:

  • 类图:描述一组类、接口、协作和他们之间的关系。

  • 对象图:描述一组对象以及他们之间的关系

  • 构件图:描述一个封装的类和他的接口、端口、以及由内嵌的构件和连接件构成的内部结构

  • 组合结构图:描述结构化类的内部结构

  • 用例图:一组用例,参与者以及他们之间的关系

  • 顺序图(序列图):交互图,强调顺序,时序

  • 通信图:交互图,强调收发消息的对象或参与者的结构组织

  • 定时图:交互图,强调消息跨域不同对象或参与者的实际时间,

  • 状态图:状态机,体现状态的变化。

  • 活动图:

  • 部署图

  • 制品图:描述系统的物理结构

  • 包图:

  • 交互概览图:活动图+顺序图的混合物。



视图:

  • 逻辑视图

  • 进程视图

  • 实现视图

  • 部署视图

  • 用例视图


面向对象分析核心是:建立系统的用例模型与分析模型。

  • 用例模型构建阶段:4 个阶段:识别参与者、合并需求获得用例、细化用例描述和调整用例模型,前三个阶段必需的

  • 分析模型:定义类、确定类之间的主要关系。


类之间的主要关系





软件架构设计

目的:解决好软件的复用、质量和维护问题是研究软件架构的目的。


软件架构风格

  • 数据流风格:批处理序列,管道/过滤器两种风格。

  • 调用/返回风格:主程序/子程序、数据抽象和面向对象,以及层次结构。

  • 独立构件风格:进程通信和事件驱动

  • 虚拟机风格:解释器和基于规则的系统

  • 仓库风格:数据库系统、黑板系统和超文本系统


软件架构评估



软件设计

需求分析:做什么,软件设计:怎么做

软件设计师需求分析的延申和拓展

软件设计分为结构化设计和面向对象设计。


结构化设计:

  • SD 是一种面向数据流的方法,

  • 以 SRS 和 SA 阶段所产生的 DFD 和数据字典等文档为基础

  • 是自顶向下、逐步求精和模块化的过程

  • 在 SD 中,需要遵循一个基本原则:高内聚,低耦合。


面向对象设计

  • OOD 是 OOA 方法的延续,基本思想:抽象,封装和可扩展。可扩展通过继承和多态来实现

  • OOD 的主要任务:对类和对象进行设计,包括类的属性,方法,类之间的关系

  • 提高软件的可复用性是一个至关重要的问题。


设计模式

  • 根据处理范围不同,分为:类模式和对象模式

  • 类模式处理类与子类的关系,通过继承建立,在编译时刻就被确定下来,属于静态模式

  • 对象模式处理对象之间关系,在运行时刻变化,动态模式

  • 根据目的和用途不同,分为:创建型模式、结构型模式和行为型模式


软件工程的过程管理

  • CMM,软件能力成熟度模型 Capablity Maturity Model For Software。

  • 软件产品的质量取决于软件过程。软件过程管理方面,最著名的是能力成熟度模型集成-CMMI(Capability Model Integration)


阶段式、连续式模型

  • 阶段式模型

  • 成熟度等级:可管理,已定义,量化管理,优化管理。

  • 体现了组织成熟度进化阶段

  • 连续式模型

  • 分组:过程管理,项目管理,工程,支持。

  • 与阶段模型相比,连续式模型没有与组织成熟度相关的几个阶段,连续式模型是将 24 个过程域按照功能划分的过程组。


软件测试及管理

概念:

软件测试:发现软件错误(缺陷)的主要手段

GB/T15532-2006、计算机软件测试规范。包括测试用例的设计原则和用例要素。


测试的方法:分为:静态测试和动态测试

静态测试:

  • 静态测试包括对文档和代码的静态测试,不在机器上面运行,采用人工检测和计算机辅助静态分析。

  • 对文档静态测试主要是以检查单的形式进行,而对代码的静态测试采用桌前检测(Desk Checking)、代码走查和代码审核。

  • 使用静态测试能有效地发现 30%-70%的逻辑设计和编码错误。

动态测试:白盒测试和黑盒测试。

  • 白盒测试也叫结构测试,主要用于软件单元测试中。

  • 静态测试的方法也可以实现白盒测试,例如人工代码检查代码逻辑问题,也是白盒测试范畴。

  • 白盒测试中最常用的是逻辑覆盖

  • 黑盒测试也成为功能测试,主要用于集成测试,确认测试和系统测试中。

  • 黑盒测试根据 SRS 规定的功能来编写测试用例,一般包括:等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。


测试的类型:

  • 单元测试

  • 集成测试

  • 确认测试

  • 验证软件的功能、性能和其他特性是否与用户需求一致。根据用户参与的程度分为:

  • 内部确认测试,软件开发组织,按照 SRS 进行测试

  • Alpha 测试,由用户在开发环境测试,通过 Alpha 测试后的产品称为 Alpha 版

  • Beta 测试,用户在实际环境下测试,Beta 测试后的产品称为 Beta 版,一般在 Beta 版测试后,才能发布产品交付用户。

  • 验收测试。针对 SRS,在交付前以用户为主进行的测试,在真实的用户工作环境下,检验软件系统是否满足开发技术合同或 SRS.

  • 系统测试

  • 系统测试的对象是完整的、集成的计算机系统,目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统设计文档和软件开发合同贵的要求;依据是用户需求或开发合同

  • 配置项测试

  • 对象是软件配置项,目的是检验软件配置项与 SRS 一致性

  • 回归测试

  • 目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,以及软件原有的、正确的功能、性能和而其他规定的要求不损害性。


软件调试

  • 测试成功的标志是发现了错误,根据错误确认错误原因和位置,并改正,主要依靠软件调试技术

  • 软件调试和测试的区别:

  • 测试目的是找出存在的错误,调试目的是定位错误并修改程序修正错误

  • 调试是测试之后的活动,测试和调试正在目标,方法和思想上不同

  • 测试从一个已知条件开始,使用预定义的过程,有预知结果;调试从一个未知的条件开始,结束的过程不可预计。

  • 测试过程可以事先设计,进度可以事先确定;调试不能描述过程或持续时间。


软件测试管理

  • 包括:过程管理、配置管理和评审工作。

  • 过程管理:包括测试活动管理和测试资源管理,软件测试应由相对独立的人员进行。

  • 配置管理:测试过程中产生的各种工作产品纳入配置管理

  • 评审。包括测试就绪评审和测试评审。

  • 测试就绪评审:在测试执行之前对测试计划和测试说明进行评审;

  • 测试评审:是在测试完成后,评审测试过程和测试结果的有效性。


软件系统集成技术

软件层次的集成技术:EAI (Enterprise Application Integration) 企业应用集成。


EAI 可以消除信息孤岛,将企业信息系统连接起来,实现无缝集成。

EAI 包括:表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。(集成难度从低到高)


表示集成:

  • 又称为界面集成,比较原始和最浅层次的集成,但是又最常用的集成。

  • 是黑盒集成


数据集成:

  • 为了完成控制集成和业务流集成,必须首先解决数据和数据库的集成

  • 白盒集成


控制集成

  • 也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成

  • 集成处可能只需要简单使用公开 API 就可以访问

  • 灵活性更高

  • 白盒集成


业务流程集成

  • 也称为过程集成,超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流。

  • 白盒集成


1.5 新一代信息技术

物联网

  • 两项关键技术:传感器技术,嵌入式技术

  • RFID(射频识别)是物联网中使用的一种传感器技术,通过无线电信号识别目标并读写数据,无需建立机械或光学接触

  • 嵌入式是一种专用的计算机系统,作为装置或设备的一部分。


物联网三层结构

  • 物联网架构三层:感知层、网络层和应用层


应用

  • 智慧城市

  • 智慧城市五个层级

  • 物联感知层

  • 通信网络层

  • 计算与存储层

  • 数据及服务支持层

  • 智慧应用层

  • 智慧城市三个支撑体系

  • 安全保障体系

  • 建设和运营管理体系

  • 标准规范体系


云计算

服务类型

  • IaaS (Infrastructure-as-a-Service 基础设施即服务)

  • PssS(Platform-as-a-service 平台即服务)

  • SaaS(Software-as-a-service 软件即服务)


大数据

特点

  • 5 个 V,Volume-大量,Variety-多样、Value-价值(价值密度低)、Velocity-高速、Veracity-真实性


移动互联


1.6 信息系统安全技术 必考

信息安全属性

  • 私密性(Confidentiality):信息不被未授权者知晓的属性

  • 完整性(Integrity):信息是正确的,真实的,未被篡改的,完整无缺的

  • 可用性(Availability):信息可以随时正确使用的属性


信息安全层次划分




信息安全等级保护



GB17859-1999 五个安全保护等级,一定要记住。


信息加解密

  • 加密技术包括两个元素:算法和密钥

  • 对称加密,加密和解密密钥一样,使用起来简单,密钥较短,破译简单,算法:DES,IDEA,AES

  • 非对称加密 RSA 算法为代表,加密密钥 Ke 和解密密钥 Kd 不同,加密密钥可以公开,解密密钥需要保密。


信息系统安全


计算机设备安全




防火墙

  • 阻挡对网络的非法访问和不安全数据的传递

  • 主要用于逻辑隔离外部网络与受保护的内部网络

  • 主要是实现网络安全的安全策略,是预先定义好的,所以是一种静态安全技术。


入侵检测和防护





操作系统安全-威胁表现形式

  • 计算机病毒

  • 逻辑炸弹

  • 特洛伊木马

  • 后门

  • 隐蔽通道



Web 威胁防护技术包括:

  • web 访问控制技术

  • 单点登录技术

  • 网页防篡改技术

  • web 内容安全

发布于: 刚刚阅读数: 4
用户头像

索隆

关注

还未添加个人签名 2019.02.15 加入

还未添加个人简介

评论

发布
暂无评论
高项-第一章 信息化和信息系统(2)_项目管理_索隆_InfoQ写作社区