1信息系统建设的内容主要包括设备采购、系统集成、软件开发和运维服务等。信息系统集成是指将计算机软件、硬件、网络通信、信息安全等技术和产品集成为能够满足用户特定需求的信息系统
2信息系统的生命周期可以分为立项、开发、运维及消亡四个阶段
1立项阶段:即概念阶段或需求阶段,根据用户业务需要,提出系统初步构想,然后调研分析,形成《需求规格说明书》,并确定立项
2开发:以立需求分析为基础,进行总体规划。之后通过系统分析、系统设计、系统实施、系统验收实现并交付系统
3运维阶段:保障系统政策运行,可分为更正性维护、适应性维护、完善性维护、预防性维护
4消亡阶段:更新改造、功能扩展甚至废弃重建。
3信息系统常用的开发方法包括:
1结构化方法:是应用最广泛的一种开发方法。特点注重开发过程的整体性和全局性。缺点是开发周期从;稳定、设计说明繁琐,工作效率低;要求再开发之初全面认识系统的需求,充分预料可能发生的变化,并不现实。
2原型法:先快速开发一个原型系统,然后通过反复修改来实现客户的需求。特点在于其对用户的需求是动态响应、逐步纳入的;原型可分为抛弃型原型和进化型原型。
3面向对象法:用对象表示客观事物,对象是一个严格模块化的尸体,在开发中可被共享和重复引用,达到复用的目的。面向对象法主要涉及到分析、设计和实现三个阶段。其特点是再整个开发过程用的是同一套工具。
4系统设计的主要内容是从信息系统的总体目标触发,根据逻辑功能要求,确定总体架构和各组成部分的技术方案,制定系统的实施计划
5方案设计包括系统总体设计(系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计);系统详细设计(代码设计、数据库设计、人/机界面设计、处理过程设计)
6随开发软件规模越来越大,复杂度越来越高,人民开始用工程的方法进行软件的开发、管理和维护,即软件工程
7软件设计:根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础,描述出软件架构及相关组件之间的接口;然后,进一步详细描述组件,以便能构造这些组件。通过软件设计可以划分为软件架构设计(也叫做高层设计)和软件详细设计
8软件测试:测试是为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动,现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,本身是实际产品构造的一个重要部分,伴随开发和维护过程,通常再概念上划分为单元测试、集成测试和系统测试
9软件维护的类型:更正性维护-更正交付后发现的错误;2适应性维护-使软件产品能能够在变化后或变化中的环境中继续使用;3完善性维护-改进交付后产品的性能和可维护性;4预防性维护-在软件产品中的潜在错误成为实际错误前,检测并更正它们
10软件质量包括“内在质量”、“外部质量”和使用质量三部分。包括质量保证过程、验证过程、确认过程、评审过程、审计过程。管理评审的目的是监控进展,决定计划和进度的状态。技术评审的目的是评价软件产品,以确定其对使用意图的适合性
11软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。审计是正式组织的活动,识别违例情况,并要生成审计报告,采取更正性行动
12软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动
13软件过程管理涉及到技术过程和管理过程,通常包括以下:
1项目启动与范围定义:启动项目并确定软件需求
2项目规划:制定计划,其中一个关键点是确定适当的软件生命周期,并完成相关工作
3项目实施:根据计划,完成相关工作
4项目监控与评审:确认项目工作是否满足要求,发现问题并解决问题
5项目收尾与关闭:为项目结束所做的工作。需要项目验收,并在验收后进行归档、事后分析和过程改进等活动
14 软件开发是用于辅助软件生命周期过程中的基于计算机的工具,工具的种类包括支持单个任务的工具及涵盖整个生命周期的工具
软件需求工具包括需求建模工具和需求追踪工具
软件设计工具包括软件设计创建和检查工具
软件构造工具包括程序编辑器、编译器、代码生成器、解释器、调试器
软件测试工具包括从而测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具
软件维护工具包括理解工具(如可视化工具)和再造工具(如重构工具)
软件配置管理工具包括追踪工具、版本管理工具和发布工具
软件工程管理工具包括项目计划与追踪工具、风险管理工具和度量工具
软件工程过程工具包括建模工具、管理工具、软件开发环境
软件质量工具包括检查工具和分析工具
15软件复用以缩减软件开发和维护的费用,是提高软件生产力和质量的一种重要技术
早期软件复用主要是代码级复用,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面
16面向对象的基本概念包括对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等
1对象:对象包括三个基本要素,分别是对象标识、对象状态和对象行为
2类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起
3抽象:通过特定的实例抽取共同特征以后形成概念的过程,是一种单一化的描述,强调给出与应用相关的特性
4封装:将相关的概念组成预估单元模块,并通过一个名称来引用他,对数据的访问或修改只能通过对外提供的接口进行
5继承:表示类之间的层次关系(父与子类),可分为单继承和多继承
6接口:描述对操作规范的说明,其只说明操作应该做什么,没有定义如何做,相当于类的一个特例
7消息:体现对象间的交互,通过它向目标发送操作请求
8组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。应当是内聚的,并具有相对稳定的公开接口
9复用:用于构造新软件或系统。组件技术是软件复用实现的关键
10模式:描述了一个不断重复发生的问题,以及该问题的解决方案。其包括特点的环境、问题和解决方案三个组成部分。
17统一建模语言(UML)用于对软件进行可视化描述、构建和建立软件系统的文件。需要注意的是UML是一种可视化的建模语言,而不是编程语言。提供了静态、动态、系统环境及组织结构的模型。适用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的,强调在软件开发中对架构、框架、模式和组建的重要,并与最佳软件工程实践经验进行了集成
UML图提供了对系统建模的描述方式:用例图、类图、对象图、组件图、部署图、序列图、状态图、协作图、活动图等,UML视图用来划分系统中的各种概念和组件,是表达系统某一方面特性的UML建模组件的子集。
RUP是使用面向对象技术进行软件开发的最佳实践之一,是软件工程的过程。
18面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成
19面向对象系统设计基于系统分析得出的问题域模型,用面向对象方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。面向对象系统设计主要包括用例设计、类设计和子系统设计