《信息系统项目管理师考试全程指导》
读书笔记
0
第1章 信息系统基础
知识点:
1)信息系统:信息系统概念、信息系统的功能、信息系统的类型和信息系统的发展。 2)信息系统建设:信息系统建设的复杂性、信息系统的生命周期(各阶段及其主要工作内容)、信息系统建设的原则和信息系统开发方法。 1.1信息的定义
香农在《通信的数学理论》定义“信息是系统有序程度的度量”。确定了信息量的单位是比特(bit)。
1.2 信息系统
霍尔(A.D.Hall)三维结构:时间维、逻辑维、知识维。
信息系统定义:结合管理理论和方法,应用信息技术解决管理问题,为管理决策提供支持的系统。简单地说,信息系统就是输入数据,通过加工处理,产生信息的系统。 信息系统的基本功能:数据的采集和输入、数据的传输、信息的存储、信息的加工、信息的维护、信息的使用。
信息系统分类:
? 以数据环境分类,可以分为数据文件、应用数据库、主题数据库和信息检索系
统。
? 以应用层次分类,战略级、战术级、操作级和事物级。
信息系统的生命周期可以分为:系统规划、系统分析、系统设计、系统实施、系统运行和维护5个阶段。
信息系统的发展规律(诺兰模型):1)初装;2)蔓延;3)控制;4)集成;5)数据管理
1.3 信息系统建设
信息系统建设的方法主要有:
1)企业系统规划方法(Business System Planning, BSP),IBM公司提出的一种方法。 2)战略数据规划方法,詹姆士.马丁(James Martin)的观点,企业要搞信息化,首要任务应该是在企业战略目标的指导下做好企业战略数据规划。
3)信息工程方法,信息、过程和技术构成了企业信息系统的三要素。
1.4 信息化基础
1)企业信息化
? 企业资源计划(Enterprise Resources Planning,ERP)
? 客户关系管理(Customer Relationship Management,CRM) ? 供应链管理(Supply Chain Management,SCM)
? 商业智能(Business Intelligence,BI) ? 企业门户(Enterprise Portal,EP),可以划分为三类:信息门户(EIP)、知
识门户(EKP)、应用门户(EAP)
1
2)电子政务
? G2G(Government To Government,政府对政府) ? G2E(Government To Employee,政府对公务员) ? G2B(Government To Business,政府对企业) ? G2C(Government To Citizen,政府对公民) 3)电子商务
? B2B(Business To Business,企业对企业) ? B2C(Business To Customer,企业对个人) ? C2C(Customer To Customer,个人对个人)
第2章 系统开发基础 知识点:
1)软件工程知识:软件需求分析与定义、软件设计、测试与维护、软件复用、软件质量保证及质量评价、软件配置管理、软件开发环境、软件过程管理。
2)软件构件技术知识:构件及其在信息系统项目中的重要性、常用构件标准(COM/DCOM/COM+、CORBA和EJB)。
3)软件体系结构:软件体系结构定义、典型体系结构、软件体系结构设计方法、软件体系结构分析与评估、软件中间件。
4)面向对象系统分析与设计:面向对象的基本概念、统一建模语言UML、可视化建模、面向对象系统分析、面向对象系统设计。
5)软件工具:建模工具、软件开发工具、软件测试工具、项目管理工具。 2.1 软件开发方法
软件开发方法是以软件开发方法为研究对象的学科。从不同角度可以把软件方法学做如下分类:
从开发风范上看,分为自顶向下、自底向上开发方法; 从性质上看,分为形式化、非形式化方法;
从适用范围上看,分为整体性、局部性方法。 1)净室方法
净室软件工程方法是一种形式化方法,它可以生产高质量的软件。 净室方法是一种严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性的认证的软件过程模型,其目标和结果有非常低的出错率,这是使用非形式化方法难于或不可能达到的。
主要使用三种盒类型:黑盒、状态盒、清晰盒。 净室软件工程并不强调单元测试或集成测试,而是通过定义一组使用场景、确定对每个场景的使用概率及定义符合概率的随机测试来进行软件测试(这种活动称为正确性验证)。
2)结构化方法
结构化方法属于自顶向下的开发方法,强调开发方法的结构合理性及所开发软件的结构合理性。包括:
结构化分析(Structured Analysis,SA)
结构化设计(Structured Design,SD)
结构化程序设计(Structured Programming,SP)等方法。 3)面向对象方法
2
主要包括:
Coad/Yourdon方法 OMT(Object Model Technology,对象建模技术)方法 统一成为UMLOOSE(Object-Oriented Software Engineering,面向对象的软件工(United Model 程)方法 Language,统一建Booch方法 模语言) 4)原型法 原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。
5)逆向工程
软件再工程(Reengineering)是对现有软件系统的重新开发过程,包括:逆向工程(Reverse Engineering,反向工程)、新需求的考虑(软件重构)和正向工程三个步骤。
2.2 软件开发模型
要掌握软件生命周期的概念、各种开发模型的特点和应用场合。
1)瀑布模型
瀑布模型也称为生命周期法,适用于需求明确或很少变更的项目,它把软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试、运行维护6个阶段。
2)其他经典模型
包括:演化模型、螺旋模型、喷泉模型、智能模型、增量模型、迭代模型、构件组装模型。
3)V模型
以测试为中心的开发模型。
需求分析 验收测试 概要设计 系统测试 详细设计 集成测试 编码 单元测试
4)快速应用开发
快速应用开发(Rapid Application Development,RAD)模型是一个增量型的软件开发
3
过程模型,强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过大量使用可复用构件,采用基于构件的建造方法赢得快速开发。
5)敏捷方法
敏捷方法的发展过程中出现了不同的流派,如:极限编程(Extreme Programming,XP)、自适应软件开发、水晶方法、特性驱动开发等。
从开发者的角度,主要关注点:短平快会议(Stand Up)、小版本发布(Frequent Release)、较少的文档(Minimal Documentation)、合作为重(Collaborative Focus)、客户直接参与(Customer Engagement)、自动化测试(Automated Testing)、适应性计划调整(Adaptive Planning)和结对编程(Pair Programming)。
从管理者的角度,主要关注点:测试驱动开发(Test-Driven Development)、持续集成(Continuous Integration)和重构(Refactoring)。 6)统一过程
统一过程(Unified Process,UP)是一个通用过程框架,在为软件系统建模时,UP使用的是UML。UP的三个特点:用例驱动、以基本架构为中心、迭代和增量。
UP中的软件过程在时间上被分解为4个顺序的阶段:初始阶段、细化阶段、构建阶段和交付阶段。
2.3 需求工程
需求工程是包括创建和维护系统需求文档所必须的一切活动的过程,可分为需求开发和需求管理两大工作。
? 需求开发包括: 需求获取、需求分析、编写规格说明书(需求定义)、需求验证。
? 需求管理包括:定义需求基线、处理需求变更及需求跟踪等方面的工作。 1)需求开发概述
需求开发的工作可以分成:问题识别、分析与综合、编制需求分析的文档、需求分析与评审。
需求的分类:软件需求包括功能需求、非功能需求、设计约束3个方面。 需求的另一分类:业务需求、用户需求、系统需求。 2)需求获取
需求获取技术:用户访谈、用户调查、现场观摩、阅读历史文档、联合讨论会。 需求获取、需求分析、需求定义、需求验证4个需求过程阶段不是瀑布式的发展,而应该是迭代式的演化过程。
3)需求分析
需求分析方法种类:结构化分析方法、面向对象分析方法、面向问题域的分析方法(Problem Domain Oriented Analysis,PDOA)。PDOA方法现在还在研究阶段,并未广泛应用。
数据流程图(DFD)和数据字典共同构成系统的逻辑模型。 4)需求定义
需求定义的过程就是形成需求规格说明书的过程,有两种需求定义方法:严格需求定义方法和原型方法。
5)需求管理
2.4 软件设计
4