系统分析与设计知识点总结 (系统分析与设计课后答案)
系统分析与设计知识点总结 (系统分析与设计课后答案)
第 1 章 信息系统分析与设计引言
系统分析:理解并详细说明系统应该做什么
系统设计:详细说明系统的组成和实现
系统分析员:运用信息技术解决业务问题
1.1 解决商业问题的分析员
分析员要解决什么样的问题:客户定购、职工工资、管理人员、货物运输、生产部门、财务部门、销售部门等
分析员如何解决问题:研究理解问题、核实解决问题的效益大于成本、设计一套可能的解决方案、决定一个最佳方案并进行推荐、详细说明所选方案的细节、实施方案、监控证实得到预期结果
1.2 解决业务问题的系统
信息系统:对信息进行收集、处理、存储并输出所需信息的一组相互关联的部件的集合。
信息系统的类型:事务处理系统 TPS、管理信息系统 MIS、主管信息系统 EIS、决策支持系统 DSS、通信与办公系统
部件:功能分解的子系统、不同类型的事件
边界:
系统边界:系统与环境之间输入输出所通过的分界
自动化边界:系统内自动和手动的分界
1.3 系统分析员需要的技能
技术知识与技能:了解计算机基础知识、了解开发系统的多种工具和技术、了解系统开发的专门技术
商务知识与技能、对商业的全面熟悉、对特定行业的熟悉、对一个具体公司的熟悉
人的知识与技能
诚实与道德
第 2 章 项目经理级分析员2.1 系统开发生命期:
计划、分析、设计、开发、支持。
计划过程先于一切活动进行,不允许与其他活动重叠。
2.2 信息系统生存周期:
系统规划、开发、演化(包括运行、维护)、管理、支持。
规划过程:提出信息系统的建设设想,进行规划和可行性分析,然后决定是否有必要开发,并制定总体规划。
开发过程:分析、设计、实现、测试等
演化过程:从系统提交使用开始到被终止为止,贯穿信息系统发挥作用的全过程。
运行:信息系统应用于组织的业务、管理和决策,发挥作用的过程
维护:不断地适应环境和需求的变化,进行完善和版本更新的过程。(如,版本更新不属于开发过程,属于维护过程)
管理过程:管理软件质量、软件成本、开发时间等,贯穿整个过程
按内容划分:规划管理、开发管理、运行管理、维护管理
按管理的对象划分:信息系统人员管理、信息资源管理、项目管理、网络管理等
支持过程:起辅助、支持作用。如文档过程、配置管理过程、质量保证过程、验证过程、评审和审计过程、培训过程、环境建立过程等。
2.3 项目管理:
组织和指导其他人员在预先确定的进度和预算内实现计划
重点:时间、成本、质量
系统开发项目的参加人员:
客户:提供资金开发系统的人
监督委员会:监督系统的开发有没有严格按照规划进行,监督时间、成本、质量、进度
用户:使用系统的人
成员、小组领导
项目经理:和不同的系统开发的参加人员进行沟通管理
2.4 项目的启动
自顶向下:由顶层管理人员决定,下层人员决定
自下而上:下层人员向上反应
针对外界压力: 在外界的压力下不得不开发
2.5 项目计划阶段
项目经理要:项目要解决什么问题、制定怎样的开发计划、论证项目可行性、建立项目组、启动计划
解释:
定义问题:检查项目启动的要求(2.4中的3种)、需求说明、预期的商业收益、确定新系统的能力
关联图:将系统作为唯一的一个处理功能,和外界进行信息交流。
可行性分析:经济可行性(成本/收益分析、项目资金)、组织和文化可行性(开发人员能力水平等)、技术可行性、技术可行性、进度可行性
制定项目计划表
建立项目组:为项目提供人员。包括制定详细的资源计划、确定并邀请专门技术人员、用户人员、划分工作小组、实施培训和建组训练
启动项目:定案,资金释放,并正式通知相关人员。
第 3 章
螺旋式
极限编程:是螺旋式的一个特例
3.1 方法、模型、工具和技术
三要素:方法、模型和技术
系统构建的模型:流程图、数据流图、ER图、结构图、用例图、类图、顺序图等
系统管理的模型:甘特图、PERT图、组织层次图等
工具:项目管理、制图、IDE、计算机辅助系统工程(CASE)工具、数据库管理应用程序、反向工程工具、代码生成工具等
技术:...
3.2 系统开发的三种方法传统方法
通过查看过程和数据及其相互关系来定义系统需求、设计和构造系统。包括结构化方法和信息工程方法。
·结构化方法:
使用结构化编程、分析和设计等技术
定义系统需要做什么、需要存储和使用那些数据、系统需要什么样的输入和输出,以及系统的功能如何组织
o结构化模型:DFD、ER图、结构图
结构化编程的三种结构:顺序、选择、循环
开发过程:
o现代结构化分析:事件、数据流图、实体联系图
o结构化设计:根据数据流图定义程序模块的结构图、时间对应结构图
o结构化编程:使用结构化编程结构为模块编写代码
·信息工程方法
从全面的战略计划开始
使用集成的CASE工具
面向对象方法
把信息系统看作一起工作来完成某项任务的相互作用的对象集合
对象:计算机中可以对消息作出相应的事物
面向对象分析OOA:定义在系统中工作的所有类型的对象,并显示这些对象之间的相互关联
面向对象设计OOD:定义和系统中人机交互所必需的所有类型的对象,并对每一种类型的对象进行细化,以至于可以用一种具体的语言或环境来实现这些对象
面向对象编程OOP:用某种语言的语句来定义各类对象的行为,及对象间的消息传递
模型:类图、用例图、状态图等
3.3 系统开发生命周期的变体
瀑布模型: 效率比较低下。
基于迭代的变体(螺旋模型)
基于开发速度的变体:适应对信息系统的大量需求、不断变化的技术和商业环境
快速开发方法:
原型化开发方法
螺旋型开发方法
快速开发技术:
风险管理技术
联合开发会议JAD
基于工具的开发
软件重用 软件重用是快速开发的要点,包括对象框架、组件
3.5 分析和设计阶段细节
收集信息:如何收集信息、收集用户习惯
定义系统需求
区分需求优先级
建立可行性原型和发现原形
生成和评价可选方案
和管理人员复查推荐方案
第 4 章 调查系统需求4.1 功能需求和技术需求
系统需求:对系统所提供的功能做出的详细定义,来源于计划阶段所确定的高层功能,包括:
功能需求:系统必须支持的功能和过程
技术需求:描述操作环境和性能目标的需求
4.2 系统需求的来源
系统相关者:对系统的成功实施感兴趣的人。包括:
系统用户
项目客户
技术人员
用户:
水平方向和垂直方向的用户:
水平方向划分:不同业务的用户
垂直方向划分:权限和层次,如管理者、使用者、游客
业务操作用户
查询用户
管理用户
主管用户
4.3 识别系统需求
开发系统需求的方法:以新系统的逻辑需求模型为中心,识别现有系统的处理过程,为新系统开发建立模型
需求调查的三个主要问题:
要做什么:
商业过程和运作是什么
理解商业功能
怎样做:
商业过程如何完成
转向新系统的方法
需要哪些信息:
信息需求是什么
定义新系统必须提供的具体信息
信息收集的各种方法:
向系统相关者分发和收集调查表
复查现有的报表、表格和过程描述
主持与用户的面谈和讨论
观察商业过程和工作流
建立原型
主持JAD会议
4.4 结构化遍历
简称遍历,是对调查结果和根据这些结果建立的原型进行复查。
在系统的每个大的功能结束后进行遍历;整体结束后也要进行。
4.5 业务流程重组
将原有的操作流程经过重组,交给信息系统完成。
第 5 章 系统需求建模:事件和事实事件:
事件是可以描述的、值得记录的、在某一特定时间和地点发生的事情
系统的所有处理过程都是由事件驱动或触发的
事件对定义系统需求的意义:
整体地看待系统,分析系统与外接的接口
划分系统的一种方法
划分:
系统相关事件
系统无关事件
外部事件:外部实体或动作参与者触发,如用户操作
内部事件(也称临时事件):如定时事件
状态事件:系统内部发生了需要处理的情况时引发的事件
识别事件的方法
事件/条件和响应
事件时序
技术依赖事件和系统控制:忽略掉。如用户输入错误的事件
理想的技术假设
事件的构成:
触发器 Trigger:外部输入的数据,触发系统处理的事件
来源 Source:触发事件的外部实体
动作 Activity/Use case:系统要执行的操作
响应 Response:系统要产生的输出
目的地 Destination:输出的目的地
5.3 类图和ER图
略
第 6 章 传统的需求描述方法6.1 传统观点和面向对象观点
传统方法
面向对象方法
系统是过程的集合
系统是交互对象的集合
过程与数据实体交互
对象与人或其他对象交互
过程接受输入并产生输出
对象发送与响应消息
6.2 数据流程图DFD
数据流程图(DFD)是一种图像化的系统模型,展示信息系统的主要需求:输入、输出、过程和数据存储;
图例:
例子:
评估DFD质量:
复杂性最小化:(每一页上)没有过多的存储和处理过程
信息超量:信息过多
7±2原则:人能够理解并记忆的数量在7±2左右
接口最小化
数据流一致性:DFD图中的各部分一定要与ER图、事件表中的触发器一一对应。细化的DFD和上层的DFD也要保持一致性。
关于上下层的一致性:
平衡:上层和下层保持一致
黑洞:上层定义的数据,在下层不能凭空消失。如定义了变量但从未使用过。
奇迹:上层没有定义的数据,在下层不能凭空出现。
0层图
0层图(又叫做事件划分的系统模型):一个为系统需求建立模型的DFD,建模过程中对应于系统或子系统中每个事件使用单个过程。
0层图和关联图的区别:
0层图是对应事件的数据流程图片段,涉及数据存储
关联图是顶层的数据流图,把系统表示成唯一的过程,不涉及数据存储
6.3 详细记录DFD部件
结构化英语(伪码)例:
借书(读者ID, 图书ID){
1. 验证读者信息(读者ID)
2. 检查读者可借图书信息(读者ID)
3. 检查图书信息(图书ID)
4. 借书(读者ID,图书ID){
填写借书单(读者ID,图书ID,借书时间)
更新读者信息(读者ID)
更新图书信息(图书ID)
}
}
·决策表
·决策树
数据流定义:数据流内容和内部结构的文本描述;
数据元素定义
数据存储定义
第 7 章 面向对象的需求描述方法7.3 类图7.4 用例图
场景:在用例中的一个特定的活动顺序。
一个用例可能有多个不同的场景。
开发用例图:
参照事件表
确定所有使用系统的参与者
开发场景(活动顺序图)
确定通用的内部用例(多个用例都会涉及到的用例)
划分用例
7.5 顺序图、协作图:对象状态
顺序图示例:
协作图示例:
各图中的名称一定要一一对应
基于技术的理想假设,如控制类(System,Database等)不要放入顺序图或协作图
时序图消息的语法:[[条件]返回值:=]消息名(参数列表)
协作图:对象没有生命线,用序号标定顺序。
通过检查类中的消息,为类增加方法。
7.6 状态图:对象行为
例:
并发:
第 8 章 环境、方案与决策
将系统需求向系统设计和实施过渡。
8.1 评估目标系统环境
开发环境和系统软件环境
8.2 决定系统的范围和自动化水平
范围表:将系统功能需求程度分等级
分析自动化水平:给每项功能定义不同的自动化解决方案
8.3 系统实施方案分析
托管:购买别人的服务;把项目托管在第三方平台上
软件包和ERP
客户化开发:二次开发
自行开发
8.4 选择实施方案
确定选择标准:
通用需求标准评价:从总体上看系统能否满足需求。包括团队经验、预期成本、预期效益
技术需求标准评价:代码质量、文档、健壮性、安装的简易性等。
功能需求标准评价:把需要满足的功能列出来,不同的功能给予不同的权重。
计算出三个标准的得分后,综合进行选择推荐。
8.5 考虑外包解决方案
生成RFP(Request for Proposal)
基准评价(Benchmarking)、选择卖方
8.6 递交结果和做出决定
在项目组中进行讨论,决定最终方案,形成文档,并交给筹划指导委员会。
原型:Axure的使用
略
第 9 章 系统设计9.1 设计的要素
系统的结构
数据库的定义和组织
设计系统输入输出
定义人机交互界面
9.2 系统设计的工作模型
OOA
SA
包图
结构图
设计类图
系统流图
对象数据库模型
关系数据库模型
共有部分:
混合关系数据库模型
用户界面对话框、表格和报表
系统控制
伪码
节点和定位图
9.3 面向对象的应用结构设计
设计类包图:指明具体的类包括在哪个包的包图,并且表明类之间的依赖关系
设计类图
需要标出变量的可访问性和类型;方法的可访问性、参数列表、返回值类型和内部结构(伪码)
设计类图的开发:
决定需要设计的类,建立属性列表
找到属于这个类的所有方法,考查顺序图
详细描述方法逻辑,考查状态图
第 10 章 数据库设计
建议回去复习一下数据库系统
设计要点:
为每个实体(类)建立一个表
为每个表选择一个主键
增加外键以表示一对多关系
建立新表表示多对多关系
定义参照完整性
评价模式进行必要的改进
为每个字段选择适当的数据类型和取值范围
补充内容
概要设计: 为了实现程序,使用什么样的框架和结构。
架构设计:还要考虑技术需求(如性能需求)
以上就是(系统分析与设计知识点总结 (系统分析与设计课后答案))全部内容,收藏起来下次访问不迷路!