计算机计算机科学导科学导科学导论论第6章 信息管理系统分析与设计
本章导读:
本章本章从软件工程的角度介绍了信息管理系统设计的基本过程和各阶段的关键内容
本章主要知识点:
(1)信息管理系统的分类
(2)信息管理系统的开发过程和各阶段主要任务
(3)系统分析、系统设计、系统实施与维护
计算机计算机科学导科学导科学导论
论第6章 信息管理系统分析与设计
6.1 概述 6.2 系统分析 6.3 系统设计
6.4 系统实施与维护
计算机计算机科学导科学导科学导论论6.1 概述
信息管理系统是通过输入数据、加工处理、输出信息的过来实现其目标的系统,简单说就是处理数据和信息的系统。
6.1.1 信息管理系统分类 6.1.2 信息管理系统开发过程
计算机计算机科学导科学导科学导论
论6.1 概述
6.1.1 信息管理系统分类
1.办公自动化系统
办公自动化系统是用信息管理技术来提高办公室工作效率,对办公室工作人员进行支持的系统,其主要功能如下: (1)收文管理 (2)拟文管理 (3)呈报文管理 (4)档案管理 (5)电子邮件系统 (6)个人事务管理 (7)系统管理
计算机计算机科学导科学导科学导论论6.1 概述
6.1.1 信息管理系统分类
2.管理信息系统
(1)管理信息系统(Management Information System ,MIS )是一个由人和计算机组成的能进行组织内部和外部信息的收集、传递、存储、加工、维护和使用,支持组织的作业控制、计划管理和辅助决策的信息管理系统。
管理信息系统主要指数据库管理系统,利用数据库技术实现各种管理业务。
计算机计算机科学导科学导科学导论
论6.1 概述
6.1.1 信息管理系统分类 2.管理信息系统 (2)主要功能
�数据处理功能
�计划功能�控制功能�预测功能�辅助决策功能
计算机计算机科学导科学导科学导论论6.1 概述
6.1.1 信息管理系统分类 3.决策支持系统
�决策支持系统主要强调为管理者提供辅助决策的能力。
�决策支持系统综合利用各种数据、信息、知识、人工智能和模型技术辅助高层决策者解决半结构化或非结构化决策问题。
�决策支持系统以模型库为主体,通过定量分析进行辅助决策。
计算机计算机科学导科学导科学导论
论6.1 概述
6.1.2 信息管理系统开发过程 1、软件的生命周期 2、阶段划分�系统分析�系统设计�系统实施与维护
计算机计算机科学导科学导科学导论论6.2 系统分析
6.2.1 问题定义 6.2.2 可行性研究 6.2.3 需求分析
计算机计算机科学导科学导科学导论
论6.2 系统分析
6.2.1 问题定义
问题定义阶段必须回答的关键问题是:“系统要解决的问
题是什么”。
系统分析员应该提出关于问题性质、工程目标和规模的书面报告。
6.2.2 可行性研究
1、可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、可行性研究的内容
(1)经济可行性 (2)技术可行性 (3)法律可行性 (4)开发方案的选择
计算机计算机科学导科学导科学导论论6.2 系统分析
6.2.2 可行性研究 3、可行性研究的步骤
� 明确新系统的实现目标,研究旧系统 � 分析问题,导出新系统模型
� 确定系统开发计划:包括进度计划、时间安排、人员和资金及软硬件资源的调配情况进行安排。
� 完成可行性研究报告
计算机计算机科学导科学导科学导论
论6.2 系统分析
6.2.3 需求分析
1、需求分析的任务
(1)确定目标系统的具体要求(2)建立目标系统的逻辑模型 (3)修正系统的开发计划(4)制定初步的系统测试计划(5)编写初步的用户手册 2、需求分析的步骤(1)进行调查研究
(2)分析和描述系统的逻辑模型(3)评审
计算机计算机科学导科学导科学导论论6.3 系统设计
6.3.1 软件设计 6.3.2 编码 6.3.3 软件测试
计算机计算机科学导科学导科学导论
论6.3 系统设计
6.3.1 软件设计
1、划分
(1)总体设计 (2)详细设计 2、软件设计的过程
(1)确定目标系统的各种可能的不同的方案 (2)分析员向用户推荐最佳实现方案 (3)设计软件结构 (4)数据库设计 (5)制订测试计划 (6)编写文档
计算机计算机科学导科学导科学导论论6.3 系统设计
6.3.1 软件设计
1、总体设计的图形描述工具 层次图、HIPO图、结构图
2、详细设计的图形描述工具
常用工具有:程序流程图、盒图(N-S图)、PAD图、过程设计语言PDL、判定表、判定树、Jackson图等
计算机计算机科学导科学导科学导论
论6.3 系统设计
6.3.2 编码
1.结构化程序设计的设计原则
(1)使用语言中的顺序、选择、循环等有限的基本控
制结构表示程序逻辑。
(2)选用的控制结构只有一个入口、一个出口。
(3)程序语句组成容易识别的块,每块只有一个入口和一个出口。
(4)复杂结构应用基本控制结构进行组合嵌套来实现。
(5)程序中没有的控制结构,可用一段等价的程序段来模拟,但要求程序段在整个系统中应前后一致。
(6)严格控制使用Goto语句。
计算机计算机科学导科学导科学导论论6.3 系统设计
6.3.2 编码
2.程序设计语言的选择
除了选择结构化的程序设计语言,还应该考虑如下几个方面:
�
� 系统应用领域 �� 算法和计算的复杂性 �
� 软件执行环境 �
� 性能考虑 �� 数据结构的复杂性 �
� 软件开发人员的知识水平和心理因素计算机计算机科学导科学导科学导论
论6.3 系统设计
6.3.2 编码
3.程序设计风格 (1)源程序文档化 * 标识符的命名 * 程序注释 * 程序的形象化组织(2)数据说明(3)语句结构
(4)输入/输出(I/O )技术
计算机计算机科学导科学导科学导论论6.3 系统设计
6.3.3 软件测试
1、软件测试的目标
(1)测试是为了发现程序中的错误而执行程序的过程
(2)好的测试方案是发现迄今为止尚未发现的错误 (3)成功测试是发现了至今为止尚未发现的错误的测试
2、软件测试的原则
(1)应当尽早地、不断地进行软件测试。
(2)测试用例应由测试输入数据和预期的输出结果两部分组成。
(3)程序员应避免检查自己的程序,开发小组和测试小组分开。
(4)注意测试中的群集现象,即程序中的错误往往集中在少量的模块中。
如果在某些模块中发现的错误数较多,应当对这些模块进行重点测试。
(5)测试用例应当包含合理的输入数据和不合理的输入数据。
计算机计算机科学导科学导科学导论
论6.3 系统设计
6.3.3 软件测试
3、软件测试的步骤
(1)单元测试 (2)集成测试 (3)确认测试 (4)平行运行 4、测试方法 (1)静态分析 (2)动态测试 (3)黑盒测试法 (4)白盒测试法
计算机计算机科学导科学导科学导论论6.3 系统设计
6.3.3 软件测试
5
、测试和调试 (1)软件测试是为了发现错误而执行程序的过程。
(2)调试则是在进行了成功的测试之后才开始进行的,其目的是为了进一步诊断和改正程序中潜在的错误。
(3)软件调试工作包含两部分内容:
* 确定程序中错误的确切性质和位置。
* 对程序(设计、编码)进行修改,排除错误。
计算机计算机科学导科学导科学导论
论6.4 系统实施与维护
6.4.1 维护的分类
6.4.2 提高软件可维护性的方法 6.4.3 维护的过程
计算机计算机科学导科学导科学导论
论6.4 系统实施与维护
6.4.1 维护的分类
1、改正性维护
2、适应性维护
3、完善性维护
4、预防性维护
6.4.2 提高软件可维护性的方法
从软件的可理解性、可测试性、可修改性以及可移植性四个方面来衡量。