三、软件工程

软件需求
软件需求包括三个层次:业务需求、用户需求和功能需求、非功能性需求。

软件设计
软件设计的基本原则:信息隐蔽与模块独立性。
内聚是一个模块内部各个元素彼此结合的紧密程度的度量。内聚按强度从低到高分为以下几种类型,“偶逻时过通顺功”:
● 偶然内聚,即巧合内聚:一个模块的各成分之间毫无关系。
● 逻辑内聚:几个逻辑相关的功能放在同一模块。
● 时间内聚:一个模块完成的功能在同一时间内执行(如系统初始化),但这些功能知识因为时间因素关联在一起。
● 过程内聚:一个模块内部的处理成分是相关的,而且这些处理以特定的次序执行。
● 通信内聚:一个模块的所有成分都操作同一数据集或生成同一数据集。
● 顺序内聚:如果一个模块的各个成分和同一功能密切相关,而且一个成分的输出作为另一个成分的输入。
● 功能内聚:模块的所有成分对于完成单一的功能都是必需的。

耦合是软件各个模块之间紧密度的一种度量。耦合性从低到高有以下几种类型,“非数标控外公内”:
● 非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
● 数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。
● 标记耦合:一组模块通过参数表传递记录信息。这个标记是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址。
● 控制耦合:一个模块通过开关、标识、名字等控制信息,明显地控制选择另一模块的功能。
● 外部耦合:一组模块都访问同一全局简单变量,而不是同一全局数据结构,而且不是通过参数传递该全局变量的信息。
● 公共耦合:若一组模块都访问同一公共数据环境。
● 内容耦合:
(1)一个模块直接访问另一个模块的内部数据。
(2)一个模块不通过正常入口转到另一模块内部。
(3)两个模块有一部分代码重叠(只可能出现在汇编语言中)。
(4)一个模块有多个入口。

软件测试
内容:使用人工或自动手段来运行或测试某个系统的过程。
目的:检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
分类:
● 根据不同开发模型引申出对应的测试模型:V模型、W模型、H模型、X模型、前置测试模型。
● 是否关心软件内部结构和具体实现:白盒测试、黑盒测试、灰盒测试。
● 从是否执行程序的角度:静态测试、动态测试。
● 从软件开发的过程按阶段的角度:单元测试、集成测试、确认测试、系统测试、验收测试。
白盒测试从弱到强:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

软件维护
软件的可维护性由可理解性、可测试性、可修改性。
从性质上分为纠错性(更正性)维护、适应性维护、预防性维护和完善性维护。

软件生命周期
问题提出、可行性分析、需求分析、概要设计、详细设计、软件实现、软件测试、维护等

软件改进过程
含义:帮助软件企业对其软件过程的改进进行设计计划、指定以及实施,它的实施独享就是软件企业的软件过程,也就是软件产品的生产过程,也包括软件维护之类的维护过程。
CMM (Capability Maturity Model for Software,全称SW-CMM,软件能力成熟度模型)是结合了质量管理和软件工程的双重经验而定制的一套针对软件生产过程的规范。
CMM将成熟度分为5个等级:初始级、可重复级、已定义级、已管理级、优化级。
CMMI(Capability Maturity Model Integration,能力成熟度模型集成)
分为5个级别:
阶段表示法的过程域分组:
成熟度等级 过程域
完成级 无
管理级 需求管理、项目计划、项目监控、供应商合同管理、度量与分析、过程域产品质量保证、配置管理
定义级 需求开发、技术解决方案、产品集成、验证、确认、组织过程焦点、组织过程定义、组织培训、集成项目管理、风险管理、决策分析与解决、集成团队、集成组织环境
量化管理级 组织过程性能、量化项目管理
优化级 组织改革与实施、原因分析与决策
连续式表示法的过程域分组
连续式分组 过程域
过程管理 组织过程焦点、组织过程定义、组织培训、组织改革与实施、组织过程性能
项目管理 项目计划、项目监控、供应商合同管理、集成项目管理、风险管理、集成团队、量化项目管理
工程 需求管理、需求开发、技术解决方案、产品集成、验证、确认
支持 配置管理、度量与分析、过程与产品质量保证、决策分析与解决、集成组织环境、原因分析与决策
软件复用
在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
软件元素:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识。可重用的软件元素越大、就说明重用的粒度越大。

软件架构
● 2层C/S(Client/Server,客户机/服务器)架构。
● 3层C/S架构:将应用功能分为:表示层、功能层和数据层。
● B/S(Browser/Server,浏览器/服务器)架构

SOA与Web Service
1、SOA(Service-Oriented Architecture,面向服务的体系结构)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义的良好的接口和契约联系起来。
2、SOA是一种粗粒度、松耦合的服务架构。
3、XML是Web Service表示数据的基本格式。优点主要在于它既是与平台无关的,有事与厂商无关的。
4、SOAP(Simple Object Access Protocol,简单对象服务协议)提供了标准的RPC方法来调用Web Service.
5、WSDL(Web Services Description Language,Web服务描述语言)是一个标准的XML文档,用于描述Web Service及其函数、参数和返回值。
6、UDDI(Universal Description,Descovery and Integreation,通用描述、发现与集成服务)是一种目录服务,可以使用它对Web Services 进行注册和搜索。UDDI是一个分布式的互联网服务注册机制,它集描述、检索与集成为一体,其核心是注册机制。

信息系统集成-软件工程相关推荐

  1. 软考信息系统项目管理师_信息化与信息系统2_常规信息系统集成技术_软件工程---软考高级之信息系统项目管理师004

    然后我们继续看,信息化与信息系统,首先看常规信息系统集成技术,可以看到内容很多. 首先看网络交换,然后看一下定义,再看一下分类,不是特别重要,然后再看互联设备 互联设备也不是特别重要,但是,一般有个问 ...

  2. 《系统集成项目管理》第三章 信息系统集成专业技术知识

    一.信息系统建设 1.信息系统的生命周期 信息系统建设的内容主要包括:设备采购.系统集成.软件开发和运维服务. 信息系统集成:将计算机软件.硬件.网络通信.信息安全等技术和产品集成为能够满足用户特定需 ...

  3. 软考中项第三章 信息系统集成专业知识

    第三章 信息系统集成专业知识 信息系统的生命周期可以分为立项.开发.运维及消亡四个阶段 立项阶段:概念阶段或需求阶段,这一阶段根据用户业务发展和经营管理的需要,提出建设信息系统的初步构想,然后对企业信 ...

  4. 【系统集成项目管理工程师】信息系统集成专业知识

    信息系统集成专业技术 一 信息系统建设 1 信息系统生命周期 立项阶段:即概念阶段或需求阶段,这一阶段根据用户业务发展和经营管理的需要,提出建设信息系统的初步构想,然后对企业信息系统的需求进行深入调研 ...

  5. 【软考-中级】系统集成项目管理工程师-【3信息系统集成专业技术知识】

    持续更新............... [第三章]信息系统集成专业技术知识-13 分 3.1 信息系统-建设-1分 3.1.1 生命周期(掌握) 3.1.2 开发方法(掌握) 3.2 信息系统-设计 ...

  6. 信息系统集成专业技术 典型试题分析

    试题 37 以下关于数据仓库与数据库的叙述中, (38)是正确的. ( 38) A.数据仓库的数据高度结构化.复杂.适合操作计算:而数据库的数据结构比较简单,适合分析 B.数据仓库的数据是历史的.归档 ...

  7. 【系统集成项目管理】之信息系统集成

    文章目录 前言 一.信息系统建设 1. 信息系统的生命周期 2. 信息系统开发方法 二.信息系统设计 1. 方案设计 2. 系统架构 3. 设备.DBMS及技术选型 三.软件工程 1. 软件需求分析 ...

  8. 中国计算机信息系统集成行业协会:信息系统集成企业应该拥有哪些资质呢?

    信息系统集成企业的资质认证 认证部分包括:ISO20000信息技术服务体系.ISO27001信息安全管理体系.ITSS运维能力成熟度认证.CMMI软件能力成熟度认证等 . 资质包括:信息安全服务资质( ...

  9. 第三章 信息系统集成专业技术知识

    第三章 信息系统集成专业技术知识 知识点 1.信息系统的生命周期有哪几个过程 2.信息系统开发的方法有几种:各种用于什么情况的项目. 3.软件需求的定义及分类: 4.软件设计的基本原则是什么: 5.软 ...

最新文章

  1. cheat engine lua
  2. 灰盒测试—数据库软件
  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
  4. Hiernate 笔记
  5. NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、改变)
  6. 取值方法_「EV3进阶课」制作小游戏:数据取值体系要统一(三)
  7. Python下载、安装及其配置
  8. 剑指OFFER之包含min函数的栈(九度OJ1522)
  9. 如何列出mongo shell中的所有集合?
  10. FM1288通过串口配置
  11. 项目初期不同职位的人如何沟通?以及沟通的效率
  12. c语言 sub(),C语言考试试题
  13. 树莓派中文环境的配置
  14. 文通电脑版车牌识别软件,让违章驾车无处可躲
  15. 中国天气预报数据API收集
  16. MPU9250的详细功能
  17. 软件破解简单示例演示
  18. TOM、网易、腾讯企业邮箱 | 邮箱登录入口你了解多少?
  19. 专访王颖泽:国产数据库开源之路如何可控?
  20. 我烧的第一个菜-酸辣土豆丝

热门文章

  1. 高级的数据分析,长啥样?
  2. js实现图形报表 ECharts插件
  3. 和海草一起学C语言——关于操作符的那些事
  4. abb工业机器人教程 zxw_自学网ABB工业机器人教程 - 轻松自学网
  5. leaflet加载wms和wfs服务
  6. 回溯法求解0-1背包问题(细节分析)
  7. 由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码19)
  8. IP地址查询接口,根据IP地址查询城市地区等信息
  9. 浪潮服务器进驻科大讯飞 语音输入法识别更快更精准
  10. 运行项目提示Compilation of JSP File '/xx/xx/xxx.jsp' failed解决办法