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