一、系统集成的特点
官方解释:
1、信息系统建设的内容主要包括设备采购、系统集成、软件开发和运维服务等;
2、信息系统集成是指将计算机软件、硬件、网络通信、信息安全等技术和产品`集成`为能够满足用户特定需求的信息系统;
显著特点如下:
1、信息系统集成要以满足用户需求为根本出发点;
2、信息系统集成不只是设备选择和供应,更重要的是具有高技术含量的工程过程,要面向用户需求提供解决方案,其核心是软件:
3、系统集成的最终交付物是一个完整的系统而不是一个分立的产品;
4、系统集成包括技术、管理和商务等各项工作是一项综合性的系统过程,技术是系统的核心,管理和商务活动是系统集成项目成功实施的保障。
二、信息系统的生命周期
需求->概要设计->详细设计->编码->测试->验收
生命周期 | 描述 |
立项 |
|
开发 | 以立项阶段所做的需求分析为基础,进行总体规划,通过 |
运维 | 信息系统通过验收,正式移交用户。分为 |
消亡 | 信息系统不可避免地会遇到系统更新改造、功能扩展,甚至废弃重建等情况,在信息系统建设的 |
练一练
【例1-17上】 信息系统的生命周期可以分为立项、开发、运维及消亡四个阶段。以下对各阶段的叙述中,不正确的是(C)。
A.立项阶段:依据业务发展和经营管理的需要,提出建设信息系统的初步构想,对企业信息系统的需求进行深入调研和分析,形成《需求规格说明书》;
B.开发阶段:通过系统分析、系统设计、系统实施、系统验收等工作实现并交付系统;
C.运维阶段:信息系统通过验收,正式移交给用户后的阶段。系统的运行维护就是更正性维护;
D.消亡阶段:信息系统不可避免地会遇到系统的更新改造甚至废弃重建等;
【例2-18上】 在信息系统的生命周期中,“对企业信息系统的需求进行深入调研和分析,形成《需求规格说明书》”是在(A)阶段进行的。
A.立项
B.可行性分析 C.运维阶段 D.消亡
【例3-19下】信息系统的生命周期可以分为(C)四个阶段。
A.需求、设计、开发、测试 B.启动、执行、监控、收尾C.立项、开发、运维、消亡
D.启动、设计、立项、运维
三、开发方法
1、结构化
结构化 | 描述 |
定义 | 把整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据,按顺序完成。每个阶段和主要步骤都有明确详尽的文档编制要求,并对其进行有效控制 |
特点 | 注重开发过程的整体性和全局性, |
缺点 | 开发周期长;文档、设计说明繁琐,工作效率低, |
对应类型 | 1、瀑布模型;2、面向数据流的分析方法【 |
2、原型
原型 | 描述 |
定义 | 其认为在无法全面准确地提出用户需求的情况下,并不要求队系统做全面、详细的分析,而是基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求 |
特点 | 1、对用户的需求是动态响应、逐步纳入的;系统分析、设计与实现都是随着对原型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。2、 |
适用情况 | 1、 |
分类 | 1、抛弃型原型【用于 |
3、面向对象
面向对象 | 描述 |
定义 | 用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用,以达到复用的目的 |
关键 | 能否建立一个全面、合理、统一的模型,既能反映需求对应的问题域,也能被计算机系统对应的求解域锁接受 |
阶段 | 在整个开发过程中使用是的同一套。整个开发过程都是对面向对象三种模型的建立、补充和验证,其 |
练一练
【例4-17上】常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(00A)。(D)不是结构化分析方法的图形工具。
A.决策树 B.数据流图 C.数据字典 D.快速原型
【例5-18下】某企业信息化系统建设初期,无法全面准确获取需求,此时可以基于对已有需求的理解,快速开发一个初步系统模型,然后通过反复修改实现用户的最终需求。这种开发方法称为(B)。
A.结构法 B.原型法 C.瀑布模型法 D.面向对象法
四、软件设计
设计 | 描述 | |
软件设计 | 原则 | 1、 |
信息系统设计 | 任务 | ①从信息系统的总体目标出发,根据系统逻辑功能的要求,并结合经济、技术条件、运行环境和进度等要求;②确定系统的总体架构和系统各组成部分的技术方案,合理选择计算机、通信及存储的软硬件设备;③制订系统的实施计划; |
系统方案设计 | 系统总体设计 |
|
系统方案设计 | 系统详细设计 |
|
五、系统架构+设备DBMS技术选型
1、系统架构
1、将系统整体分解为更小的子系统和组件,从而形成了不同的逻辑层或服务之后,进一步确定各层的接口,层与层相互之间的关系;
2、对整个系统的分解,既需要进行“纵向
”分解,也需要对同一逻辑层分块,进行“横向
”分解;
3、系统的选项主要取决于系统架构
2、设备DBMS技术选型
设备、DBMS及技术选型 | 描述 |
考虑因素 | 1、系统的功能要求;2、系统实现的内外环境和主客观条件 |
注意 | 1、需要权衡各种可供选择的计算机硬件技术、软件技术、数据管理技术、数据通信技术和计算机网络技术及相关产品;2、必须考虑用户的使用要求、系统运行环境、现行的信息管理和信息技术的标准、规范及有关法律制度等 |
练一练
【例8-18上】关于信息系统设计的描述,正确的是(C)
A.人机界面设计是系统概要设计的任务之一;
B.确定系统架构时,要对整个系统进行“纵向”分解而不是“横向”分解C.系统架构设计对设备选型起决定作用;
D.设备选型与法律制度无关;
【例9-19上】系统方案设计包括总体设计与各部分的详细设计,(C)属于总体设计。
A.数据库设计 B.代码设计 C.网络系统的方案设计
D.处理过程设计
六、软件需求
1、定义
(1)针对待解决问题的特性的描述;(2)所定义的需求必须可以被验证【可验证性】(3)在资源有限时,可以通过优先级对需求进行权衡;
2、作用
①检测和解决需求之间的冲突;②发现系统的边界;③并详细描述出系统需求;
3、分类
分类 | 描述 |
功能需求 | 系统必须完成的那些事 |
非功能需求 | 产品必须具备的属性或品质,比如可靠性,容错 |
设计约束 | 限制条件、补充规约。例如必须采用国有自主知识版权的数据库系统,必须运行在UNIX操作系统之下等 |
4、三层次
三层次 | 描述 |
业务需求 | 表示组织或客户高层次的目标 |
用户需求 | 业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或者产品策划部门 |
功能需求 | 规定开发人员必须在产品中实现的软件功能,用户利用这些人功能来完成任务,满足业务需求 |
练一练
【例10-15下】项目经理在需求调研的过程中,应尽可能的多了解客户的需求进行分析,并对需求进行分析,其做需求分析的目的一般不包括(B)。
A.检测和解决需求之间的冲突;
B.定义潜在的风险;【X】
C.发现软件的边界,以及软件与其环境如何交互;
D.描述需求分析,以导出软件需求;
【例11-17下】需求分析是软件生存周期中的重要工作,以下描述不正确的是(B)。
A.软件需求是针对待解决问题的特征的描述;
B.绝大部门软件需求可以被验证,验证手段包括评审和测试;【是全部必须验证】
C.需求分析可以检测和解决需求之间的冲突;
D.在资源有限时,可以通过优先级对需求进行权衡;
七、软件设计
1、定义
根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础,通过软件设计描述出软件架构及相关组件之间的接口;
2、分类
1、软件架构设计;2、软件详细设计
八、软件测试
1、定义
为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动;针对一个程序的行为,在有限测试用例集合上,动态验证
是否达到预期的行为;应尽可能在实际运行使用环境
下进行;不再只是一种仅在编码阶段完成后才开始的活动,包括在整个开发和维护过程
中的活动;
2、阶段
单元测试、集成测试和系统测试
九、软件维护
1、定义
(1)需要提供软件支持的全部活动;
(2)交付前要完成的活动—交付后的运行计划和维护计划
(3)交付后的活动—软件修改、培训、帮助资料
2、分类
分类 | 描述 |
更正性维护 | 更正交付后发现的错误, |
适应性维护 | 使软件产品能够在变化后或变化中的环境中继续使用; |
完善型维护 | 改进交付后产品的性能和可维护性; |
预防性维护 | 改进交付后产品的性能和可维护性,包括(1)为扩充和增强功能而做的修改,如扩充解题范围和算法优化等;(2)为改善性能而作出的修改,如提高运行速度、节省存储空间等;(3)为便于维护而做的修改,如为了改进易读性而增加一些注释等。 |
十、软件质量保证和评价
1、定义
(1)软件质量:内部质量、外部质量和使用质量;
(2)软件需求:定义了软件质量特性,及确认这些特性的方法和原则;
2、名词
名次 | 描述 |
验证 | 确保活动的输出产品 |
确认 | 确保 |
管理评审 |
|
技术评审 |
|
软件审计 | ①提供软件产品和过程对可应用的规则、标准、指南、计划和流程的 |
检查 | |
走查 |
十一、软件配置管理和软件过程管理
1、软件配置管理
配置管理 | 描述 |
软件配置管理计划 | 需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务 |
| 识别要控制的配置项,并为这些配置项及其版本建立基线 |
软件配置控制 | 关注的是管理软件生命周期中的变更 |
软件配置状态记录 | 标识、收集、维护并报告配置管理的配置状态信息 |
| 独立评价软件产品和过程是否遵从已有的规则、标准、指南、计划和流程而进行的活动 |
软件发布管理与交付 | 通常需要创建特定的交付版本,完成此任务的关键是软件库 |
2、软件过程管理
(1)项目启动与范围定义;(2)项目规划;(3)项目实施;(4)项目监控与评审;(5)项目收尾与关闭
十二、软件开发工具和软件复用
1、软件开发工具
软件开发工具 | 描述 |
需求工具 | 需求建模工具和需求追踪工具 |
设计工具 | 软件设计创建和检查工具 |
构造工具 | 程序编辑器、编译器、代码生成器、解释器、调试器 |
测试工具 | 测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具 |
维护工具 | 理解工具和再造工具 |
配置管理工具 | 追踪工具、版本管理工具和发布工具 |
工程管理工具 | 项目计划与追踪工具、风险管理工具和度量工具 |
质量工具 | 检查工具和分析工具 |
2、软件复用
软件复用 | 描述 |
定义 | 利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用, 把以前重复的东西拿来用,二次开发 |
作用 | ①提高软件生产力和质量的一种重要技术;2、减少软件开发活动中大量的重复性工作,可以提高生产率,降低开发成本,缩短开发周期,也可以改善软件质量 |
应用 | 代码级复用、设计的复用、分析的复用和测试信息的复用、知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面 |
练一练
【例12-16下】以下关于软件需求分析、设计、测试与维护的叙述中,不正确的是(C)。
A.软件需求分析可以检测和解决需求之间的冲突,发现系统的边界,并详细描述系统需求;
B.软件设计可以划分为软件架构设计和软件详细设计两个阶段;
C.软件测试是在编译阶段完成完成后才开始介入的;
D.软件维护指的是软件产品交付前和交付后需要提供的支持活动;
【例13-17上】以下关于软件需求分析和软件设计的叙述中,不正确的是(C)。
A.需求分析可以检测和解决需求之间的冲突,并发现系统的边界;
B.软件设计是根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础
C.需求分析是为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动;
D.软件设计是为了描述出软件架构及相关组件之间的接口;
【例14-19上】某业务系统在送行中因应用程序错误导致业务受影响,事后由维护工程师对该应用程序缺陷进行修复,该维护活动属于(A)。
A.更正性维护 B.适应性维护 C.完善性维护 D.预防性维护
【例15-18上】软件质量管理过程由许多活动组成,“确保活动的输出产品满足活动的规范说明”是(B)活动的目标。
A.软件确认 B.软件验证
C.技术评审 D.软件审计
【例16-20下】软件质量管理过程中,(B)的目的是确保构造了正确的产品,即产品满足其特定的目的。
A.软件验证 B.软件确认 C.管理评审 D.软件审计
【例17-21上】软件测试通常可划分为(C)、集成测试和系统测试三个阶段。
A.冒烟测试 B.性能测试 C.单元测试 D.白盒测试
【例18-21下】软件测试是(D)。
A.质量保证过程的活动 B.开发完成后的活动 C.系统设计过程中的活动 D.开发和维护过程的活动。
【例19-21下】(A)活动要为识别的配置项及其版本建立基线。
A.配置标识
B.配置管理发布 C.配置控制 D.配置状态