信息系统分析与设计
- 信息的定义:信息是经过加工后的数据。
- 信息的基本属性:事实性、扩散性、传输性、共享性、增值性、不完全性、等级性、滞
后性。 - 信息系统的定义:结合管理理论和方法,应用信息技术解决管理问题,为管理决策提供
支持的系统。 - 信息系统的物理结构:指系统的硬件、软件、数据等资源在空间的分布情况,可分为集
中式和分布式两大类。
- 集中式:将软件、数据和主要外部设备集中在一套计算机系统之中;
- 分布式:通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,
共同服务于一个目标;
- 信息系统的生命周期五个阶段:系统规划、系统分析、系统设计、系统实施、系统运行、
系统维护。 - 系统分析的过程分为三个阶段:问题分析阶段、需求分析阶段、需求定义阶段。
- 需求引导方法有:原型法、JAD联合会议、观摩法;
- 需求分析的方法:面前过程的结构化方法、面向数据的信息工程方法、基于UML的
面前对象方法。
- 面向对象的方法中,通过用例描述系统的需求。全部的用例构成系统的用例模型,用例 模型完整描述了系统对外可见的行为。
- 用例的关系:
- 包含关系:经过封装后可以在各种不同的基本用例中复用的行为称为包含用例;
- 扩展关系:表达某些可选或只在特定条件下才执行的系统行为的用例称为扩展用
例; - 泛化关系:如果两个或更多用例在行为、结构和目的方面存在共性,可以使用泛
化关系。
- 类的定义:具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了 统一的抽象描述,包括对所有属性的操作和声明。
- 多重性:对于每个角色,多重性指定所在类可以实例化的对象数量(重数),即该类的 多少个对象在一段特定的时间内可以与另一个类的一个对象想关联。
- 组合聚类:是一种聚集形式,它具有很强的归属关系,部分只能是一个组合对象的成 员,而且部分对象的存在依赖于整体对象,随着整体的创建而创建,随整体的消亡而 消亡。
- 泛化是在多个概念之间识别共性,定义超类(一般概念)和子类(特定概念)关系的 活动。
- 信息系统领域三层架构:
表现层:处理用户和信息系统之间的交互;
业务逻辑层(领域层或应用层):是信息系统所有和领域相关的工作; 数据访问层:一般指与数据库的交互,主要责任是存储持久数据。 - 根据架构设计类:
- 边界类:职责是完成系统与其参与者之间的交互;
- 实体类:来源于领域模型中的类。是应用软件的构成部分,其反应的信息需要在系 统中进行处理,并常常需要有持久化存储的需要;
- 控制类:代表协调、排序、事务处理以及对其他对象的控制,经常用于对封装与某
个具体用例有关的控制流。
- 设计类的关系:
- 泛化设计:在面向对象语言中使用继承来实现;
- 关联设计:其作用是建立一条链接,顺着链接方向,一个对象能访问到所关联的另
一个对象; - 接口与实现的设计:设计接口;
- 依赖设计:是两个对象间的语义关系,其中一个对象发生变化,会影响到另一个对 象,或向它提供所需信息。
- 人机对话设计的原则:
对话要清楚、简单,用词要符合用户观点和习惯; 对话要适应不同操作水平的用户,便于维护和修改; 错误信息设计要有建设性;
关键操作要有强调和警告; - 数据库设计规范化:
- 第一范式(1NF):每个关系方式都应满足最低要求,即关系的所有分量(属性)都 必须是不可分的最小数据项;
- 第二范式(2NF):如果主键是由多个属性构成的复合关键字,并且不存在非主属性 对主键的部分函数依赖,则这个关系是满足第二范式的;
- 第三范式(3NF):如果符合第二范式的条件,并且所有非主属性都不传递依赖于主 关键字,那么就是第三范式。
- 对象与表的映射关系:
类映射到表;
关联关系的映射; 继承关系的映射; - 代码的作用:用来表征客观事物的一个或一组有序的符号,它应易于计算机和人识别与 处理。
- 测试的分类:
模块测试:对一个模块进行测试,根据模块的功能说明,检验模块是否有错误; 联合测试:将整个系统作为一个整体进行联调(集成测试);
验收测试:检验系统说明书的各项功能与性能是否实现,是否满足要求,也称确认
测试;
系统测试:对整个系统的测试,将硬件、软件、操作人员看做一个整体,检验它是
否有不符合系统说明书的地方。 21. 测试的原则:
- 测试用例应包括输入数据和预期的输出结果;
- 不仅要选用合理的输入数据作为测试用例,而且应选用不合理的输入数据作为测试
用例; - 既要检查程序是否完成了它应做的工作,又要检查它是否还做了它不应做的事情;
- 测试用例应长期保留,直到这个程序被废弃。
22. 传统测试方法: - 白箱测试:根据一个软件部件的内部控制结构,测试是否依据设计正确地执行;
- 黑箱测试:根据一个软件部件的外部界面所能观察到的功能效果,测试它是否与其
他部件正确地沟通,一般指输入正确时,看是否有正确的输出。 23. 测试用例设计技术: - 语句覆盖法:在测试中执行程序中的每一个语句;
- 判断覆盖法:设计测试用例使程序中的每一个判断的取“真”值和取“假”值的每
一个分支至少通过一次; - 条件覆盖法:执行足够的测试用例,使判断中的每个条件获得各种可能的结果;
- 条件组合覆盖法:设计测试用例时,要使判断中每个条件的所有可能取值至少出现 一次,并且每个判断本身的判定结果也至少出现一次;
- 路径覆盖法:设计测试用例时,使它覆盖程序中所有可能的路径;
- 等价类划分法:对于某个输入域的子集合,如果该集合中的各个输入数据对于揭露 程序中的错误都是等效的,则称这个集合为等价类;
- 边界值测试:程序往往在处理边缘情况时犯错,因此检查边缘情况的测试用例效率
是比较高的。
24. 排错:确定错误的位置和性质,并改正错误。
试探法
跟踪法
对分查找法 归纳法
演绎法
25. 系统的交付使用即系统的转换,有三种方式:
直接转换方式:新系统直接替换老系统,转化简单、费用最省,但风险较大;
试运行方式:类似于平行运行方式,试运行期间老系统照常运行,新系统城代部分
工作,等试运行感到满意时再全面运行新系统,停止老系统的运行;
逐步转换法:新系统一部分一部分地替代老系统,直到全部代替老系统。
26. 画用例图(课后习题 7.6)