第一章:系统分析和设计方法的环境信息系统informationsystem(IS)是人、数据、过程和信息技术之间相互作用,收集、处理、存储和提供支持企业运作的信息集合体信息系统分类:•事务处理系统transactionprocessingsystem(TPS)•管理信息系统managementinformationsystem(MIS)•决策支持系统decisionsupportsystem(DSS)•主管信息系统ExecutiveInformationSystem(EIS)•专家系统expertsystem•通讯和协作系统communicationsandcollaborationsystem•办公自动化officeautomationsystem参与者是任何跟系统有关的人,参与者可以是技术和非技术人员,也可以是组织内部与外部人员。参与者包含以下五类人员:•系统所有者•系统用户•内部用户•外部用户•系统设计人员•系统构造人员•系统分析员•外部服务提供者•项目经理系统分析员的角色:系统分析员既懂业务又懂技术,他们首先研究业务问题和机遇,然后把业务和信息需求转换为对基于计算机的信息系统的规格说明,而这个信息系统则由包括程序员在内的技术专家来实现。系统分析员所需的技能有效的信息技术知识一半商业知识通用的解决问题的技能良好的与人沟通的能力。良好的处理人际关系的能力。灵活性和适应能力人格与道德规范业务驱动力:经济全球化、电子商务和电子业务、安全和隐私、协作与合伙经营、知识产权管理、持续改进和全面质量管理、业务过程重构技术推动力网络和因特网、移动和无线技术、对象技术、协作技术、企业应用软件系统开发流程1)确定问题(系统启动)2)分析和理解问题(系统分析)3)确定方案需求和预期(系统分析)4)确定替代方案,选择最佳方案(系统设计)5)设计所选方案(系统设计)6)实现所选方案(系统实现)7)评估结果(系统实现)第2章信息系统构件企业既有直达客户的业务功能的前端信息系统,也有支持内部业务运行并与供应商交互的后端信息系统信息系统架构作为理解信息系统的基本构建的不同视图的框架。从本质上讲信息系统构架为你想开发的任何信息系统组织各个组建提供了基础。信息系统的三个公共业务目标(业务驱动力)1)改进业务知识的目标2)改进业务过程的目标3)改进业务通信和人际协作的目标三个目标技术(技术驱动力)1)支持企业积累和使用业务知识的数据库技术2)自动化业务过程和服务的软件技术3)支持业务通信协作的接口技术“知识”目标的四个构件1)信息系统范围和构想2)业务数据需求3)数据库设计4)数据库方案“过程”目标的四个构件1)功能范围和构想2)业务构成需求3)业务构成设计软件设计4)商用软件包和/或定制应用程序“通信”目标的四个构件1)通信范围和构想2)业务借口需求3)接口设计4)接口方案第3章信息系统开发能力成熟度模型:1)初始级:无政府状态或混乱状态2)可重复级:组织已经建立了项目管理过程和实践来跟踪项目费用、进度和功能。3)已定义级:组织购买或开发了一个标准的系统开发过程。4)已管理级:组织建立了可度量的质量和生产率目标。·5)优化级:根据第四级建立的度量和数据分析,标准化的系统开发过程被连续地监督和改进。系统开发方法执行系统生命周期的开发阶段系统开发的基本原理:1)让系统用户参与。2)使用一套问题解决步骤。3)确立开发阶段和开发活动。4)在开发过程中记录文档。5)建立标准。6)管理过程和项目。7)将信息系统作为重要的投资看待。8)不必害怕取消和返工。9)分而治之。10)设计系统时应考虑到增长和变化。系统开发的源动力——问题、机会和指示(总括为问题)。经典项目阶段:1.范围定义阶段2.问题分析阶段3.需求分析阶段4.逻辑设计阶段5.决策分析阶段6.物理设计和集成阶段7.构造和测试阶段8.安装和发布阶段PIECES框架:P——改进性能(performance)的需要I——改进信息(information)(和数据)的需要。E——改进经济(economics)、控制成本或增加收益的需要。C——改进控制(control)或安全的需要。E——改进人与过程的效率(efficiency)的需要。S——改进对可会、供应商、合作伙伴、雇员等的服务(service)的需要。跨声明周期活动1)调查研究2)记录文档和演示汇报3)可行性分析。4)项目管理和过程管理典型开发路线1)模型驱动开发A)适用于用户的预期和质量比时间和进度更重要。B)三种模型驱动开发技术:过程建模、数据建模、对象建模2)快速应用开发策略3)商用应用软件包实现策略自动化工具和技术1)计算机辅助系统工程CASE资料库、CASE工具、正向工程和逆向工程、2)应用开发环境3)过程和项目管理器第5章系统分析系统分析是一种问题解决技术,他讲一个系统分解成各个组成部分,目的是研究各个部分如何工作,如何交互,以实现其系统目标模型驱动分析:强调绘制图形化系统模型来记录和验证现有的和/或建议的系统。系统模型最终成为设计和构造一个改进的系统蓝图系统分析方法1模型驱动分析法2加速系统分析法强调系统分析强调构造原型以便更快地为一个新系统确定业务需求和用户需求3需求获取法4业务过程重构法5FAST系统分析策略范围定义阶段1)列出问题和机会2)协商项目的初步范围3)评估项目价值4)计划项目进度表和预算问题分析阶段1)研究问题领域(上下文图)2)分析问题和机会3)分析业务过程4)修改项目计划5)汇报调查结果和建议需求分析阶段1)定义需求2)排列需求的优先次序3)修改项目计划4)交流需求陈述逻辑设计阶段1)结构化功能需求2)简历功能需求的原型3)验证功能需求4)定义验收测试用例决策分析阶段1)定义候选方案2)分析候选方案3)比较候选方案4)修改项目计划5)推荐一种系统方案。第6章需求获取的调查研究技术1.需求获取包括系统分析员用来从用户团体那里确定或提取系统问题的方案需求的那些技术2.系统需求信息系统必须实现的或者必须具备的属性,也成为业务需求3.功能需求:说明系统必须实现什么的需求。4.非功能需求说明系统必须具备什么样的属性和质量的需求5.需求管理管理需求的变化的过程需求获取过程发现和分析问题、获取需求、归档和分析需求、需求管理调查研究技术1)对现有文档、表和数据库进行抽样2)调研和实地访问3)观察工作环境4)调查表5)面谈6)原型化7)联合需求计划第7章使用用例建模系统需求1.用例建模的产物1)用例图2)用例描述2.四类参与者1)主要业务参与者:从用例执行中获得好处的关联人员2)主要系统参与者:直接同系统交互发起或触发业务或系统事件的关联人员3)外部服务参与者:响应来自用例请求的关联人员4)外部接受参与者:不是主要参与者但可从用例接受某些可度量的或可观察的价值。3.关系1)关联关系:2)扩展关系:讲复杂的步骤提取成专门的用例3)使用(或包含)关系:公共步骤提取成4)依赖关系:用例之间的先后性5)继承关系:多个关系共享公共行为,讲这些公共行为抽象成的新参与者4.需求用例建模的过程:1)确定业务参与者(参与者词汇表)2)确定业务需求用例(用例词汇表)3)构造用例模型图4)记录业务需求用例描述第八章:数据建模和分逻辑模型:描述系统是什么或者系统做什么的非技术性的图形话表示物理模型:展示系统是什么或者系统做什么,以及系统如何实现的技术性图形化表示。数据建模–是一种组织和记录系统的数据的技术,有时被称为数据库建模。为数据定义业务需求的技术数据建模的优点1)有助于分析员快速确定业务词汇2)比过程模型构造得快3)简洁明了4)过程建模容易陷入细节5)系统和建议系统的数据模型之间的相似性要比过程建模的相似性高实体关系图(ERD)–是一种利用符号记法按照数据描述的实体和关系来刻画数据的数据模型。实体Entity——是我们需要收集数据和存储数据的人、地点、对象、事件或概念的类实体实例Entityinstance——实体的具体值属性–是实体的描述性性质或特征。同义词包括要素、性质和域。Key键–是一个属性(或一组属性),它们对每个实体实例具有唯一的值。它有时也被称为标识符关系relationship–是存在于一个或多个实体之间的业务联系。度数Degree——是参与那个关系的实体数量。关系存在于两个实体之间称为二维关系。关系也可以存在于同一实体的不同实例之间,我们称之为递归关系。外键–是一个实体的主键,它被贡献给(复制到)另一个实体以确定一个关系实例.关联实体–是一个从多个其他实体继承其主键的实体。其复合键的每个部分指向每个连接实体的一个且仅一个实例。如何构造数据模型(数据建模的步骤):1获取实体2构造上下文数据模型3确定每个实体的键4确定泛化层次体系5确定其余的数据属性逻辑建模的步骤1)构造上下文数据模型:(仅包括实体和关系,不包括属性)2)绘制基于键的数据模型:消除非特定关系,增加关联实体,包括进主键和替代键3)构造具有完整属性的数据模型数据分析–在为数据库设计做准备的过程中,用来改进数据模型的技术。规范化–是一种数据分析技术,该技术组织数据属性以便它们可以组合起来形成无冗余的、稳定的、灵活的并具有适应性的实体。数据分析1)第一范式:所有属性对于实体的单个实例只有一个值2)第二范式:所有的非主键属性的值都依赖与主键3)第三范式:非主键属性的值不依赖与任何其他的非主键属性。第九章:过程建模逻辑模型描述系统“做什么”,物理模型还描述系统“如何实现”过程建模–是一种组织和记录系统过程的技术过程模型的系统概念1)外部代理位于项目范围之外但与正在被研究的系统交互的人、组织部门、其他系统或者其他组织2)数据存储一个数据的仓库。3)过程概念:系统就是过程。过程分解逻辑过程和命名规则:(功能、事件)4)数据流运动中的数据数据流的守恒数据结构逻辑过程建模的过程1)战略系统规划2)用于业务重构的过程建模3)系统分析期间的过程建模如何构造过程模型1)构造上下文数据流图2)绘制功能分解图3)编译事件响应和用例清单4)事件处理器5)事件图6)系统图7)基本图8)规格说明CRUD矩阵——数据模型和过程模型的同步数据流图(DFD)–是一种描述数据通过系统的流程以及系统实施的工作或处理过程的工具。外部代理–是与系统交互的外部的人员、组织部门、其他系统或者其他组织,也称为外部实体。外部代理定义系统的边界或者范围.数据存储–存储数据供日后使用。同义词包括文件和数据库表示所有的数据实体数据存储同步了系统过程模型和数据模型过程–是在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作,同义词是转换。数据守恒–是确保一个数据流仅仅包含接收过程真正需要的数据的实践。第十章:对象建模的优势:提高复用性,降低成本。面向对象分析:1)研究现有对象,看能否复用他们或者调整他们用于新用途2)定义各种新对象和修改后的对象,他们将于现有对象组合成一个有用的企业计算应用系统对象建模:一种用于辨识系统环境中的对象和这些对象之间关系的技术。UML模型图FAST需求分析阶段1)用例图FAST逻辑设计阶段2)活动图3)系统顺序图(一种高层顺序图)4)类图FAST物理设计阶段5)顺序图6)类图(含更多细节)7)状态机图8)通信图9)组件图10)部署图面向对象分析包含的3个活动1)建模系统功能2)发现并确定业务对象3)组织对象并确定其关系对象建模过程1)建模系统的功能性描述2)构造分析用例模型3)建模用例活动4)构造活动图指南5)绘制系统顺序图6)构造顺序图指南7)发现和确定业务对象8)组织对象并确定其关系第十一章:可行性分析和系统方案建议可行性–是对组织将要开发的信息系统的价值或实用性的度量。可行性分析–是度量可行性的过程。可行性六个准则:运行可行性–是对方案在组织中的合适程度的度量,它也是就人们对该系统/项目的感觉的度量。文化(政治)可行性-方案在给定文化背景下被接受的度量技术可行性–是对一种特定技术方案的现实性以及技术资源和专家的可用性的度量。进度可行性–是对项目时间表的合理性度量。经济可行性–是对一个