信息系统工程
考点猜测
软件工程方法
软件工程最主要的两个阶段:需求分析跟软件设计。
需求分析分为结构化分析与面向对象分析:
方法论 | 技术 |
---|---|
结构化分析(SA) | 实体关系图(E-R 图)表示数据模型、数据流图(DFD)表示功能模型、状态转换图(STD)表示行为模型 |
面向对象分析(OOA) | 用例模型、分析模型(静态与动态模型) |
软件设计即信息系统开发方法:结构化方法、面向对象方法、原型化方法、面向服务方法:
方法论 | 解释 |
---|---|
结构化方法(SD) | 结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。按照信息系统生命周期,应用结构化系统开发方法,把整个系统的开发过程分为若干阶段,然后一步一步地依次进行,前一阶段是后一阶段的工作依据;每个阶段又划分详细的工作步骤,顺序作业。 |
面向对象方法(OOD) | 面向对象的分析方法是利用面向对象的思想进行建模,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法 |
原型化方法(PD) | 第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。在实际中原型化经常在需求分析定义的过程进行。 |
面向服务方法(SOD) | 企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。 |
UML 中的事物
建模元素 | 说明 |
---|---|
结构事物 | 结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。UML 有七种结构事物,分别是类、接口、协作、用例、活动类、构件和节点 |
行为事物 | 行为事物是 UML 模型中的动态部分,代表时间和空间上的动作。UML 有两种主要的行为事物。第一种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定目的而进行的一系列消息交换而组成的动作。交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接);第二种是状态机,状态机由一系列对象的状态组成。 |
分组事物 | 分组事物是 UML 模型中组织的部分,可以把它们看成是个盒子,模型可以在其中进行分解。UML 只有一种分组事物,称为包。包是一种将有组织的元素分组的机制。与构件不同的是,包纯粹是一种概念上的事物,只存在于开发阶段,而构件可以存在于系统运行阶段。 |
注释事物 | 注释事物是 UML 模型的解释部分。 |
面向对象软件开发方法
- 主要优点
- 普适于各类信息系统的开发
- 符合人类思维习惯
- 构造的系统复用性好
- 原则
- 高内聚
- 低耦合
- 特征
- 封装
- 继承
- 多态
软件测试方法
类型 | 具体技术 |
---|---|
静态测试 | 检查单、桌前检查(DeskChecking)、代码走查和代码审查 |
动态测试 | 白盒测试(控制流测试、数据流测试和程序变异测试)和黑盒测试方法(等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法 ) |
信息系统开发方法的案例分析
某跨国公司 70% 的收入来源于出售他们国际新闻以及金融信息等基本信息产品。这些产品是通过它的市场显示系统向用户展示的。为改进市场显示系统的可用性,使其能更容易、更方便地满足顾客的要求,公司让小张负责一个最高优先权的项目,任务是改进显示系统的用户界面。为此,小张组建了“可用性小组”。这实际上是一个“虚拟小组”,除包括小张及三名公司成员之外,还包括一些有关的技术公司,如交互图形公司、微软公司的代表。该小组还与 500 多名专家保持联系,其中一位是“符号学专家”,专门负责把计算机的动作翻译成像 Windows 的图标那样的一些符号。该小组并不通过市场调查,去问顾客想要一些什么,而是在他们建立的“可用性实验室”中观察客户们怎样利用公司的显示系统查找他们想要的信息产品。可用性实验室有两个房间,一间给用户们用,用户在公司助理人员的伴随下完成一系列就应用系统的实验。另一间房间被玻璃隔成一些小间,各放有一台显示器,显示内容与用户屏幕上的内容相同,并用可视信号或者是内部通信系统与用户保持联系实验时,要求客户完成一系列的操作。例如,可以要求用户去查询某只股票的价格,画出它在一定期间内走势图,找出一些相关的消息和公司的财务数据。随着用户的操作,可用性小组的人员就在监视器上观察用户在什么地方发生问题,测试出完成每项操作的时间,留意引起用户工作中断的过程。用户操作过程还被录像,从录像带上能够更精确地测量所用的时间。该实验室每个月能完成 100 个用户的三项至四项主要测试。实验室还要去了解公司服务机构接听的用户求助电话,将用户求助问题分为四类,录入数据库并进行统计分析,找出用户遇到的主要问题并设法改进。例如 1994 年 4 月有 34%的电话是有关 RT 工作站反映出的可用性问题的,进一步分析表明 28%的电话是关于报价单问题的,于是公司就将报价单在工作站上的显示形式进行了改进。
可用性小组最后制定了一系列规范,要求所有公司开发小组开发的软件产品都要经过可用性小组的审查,相同的功能要用相同的图标,图标也必须在可用性小组开发的一系列标准图标集中选用。这些图标,开发小组可以在网络上得到。
问题 1:可用性实验室为公司解决了什么问题?
问题 2:上述系统采用了什么开发方法?简述该方法的基本思想和基本步骤?
问题 3:这种开发方法适合于解决哪一类问题?
问题 4:常用的信息系统开发方法有哪些?这些方法分别具有哪些优缺点?分别适用于哪些场合?
- 可用性实验室即采用了可用性测试法,可用性测试,是通过观察有代表性的用户,完成产品中的各项任务,界定出可用性问题并解决这些问题。主要为公司解决了发现产品的缺陷和问题、提高产品的易用性和用户满意度、减少产品开发成本和时间、提高公司的市场竞争力。
- 主要采用了原型化开发法,原型化基本思想为快速分析,弄清用户的基本信息需求,然后构造原型,在用户使用评价原型后进一步迭代。步骤:快速分析、快速构建、用户评价、产品迭代。
- 适用于用户需求较难定义的、规模较小的系统。
- 见下表:
方法 | 介绍 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|
结构化方法(SD) | 即生命周期法、瀑布流法,是一种自项向下,逐步求精和模块化设计 | 开发目标清晰化、开发工作阶段化、开发文档规范化、设计方法结构化 | 开发周期长、难以适应需求变化、很少考虑数据结构 | 适用于需求比较确定,变化较小,开发难度不大的项目 |
面向对象分析(OOA) | 不再明确开发阶段,根据对象开发 | 与人们习惯的思维方法一致、稳定性好、可复用性好、可维护性好。 | 对系统开发的人力、财力和物力要求比较高;由于缺乏全局性控制,会造成系统结构不合理、各部分关系失调等问题。 | 适用于开发大型软件产品 |
原型化方法(PD) | 根据用户初版需求给出一个 DEMO,在此基础上迭代开发 | 开发周期短,成本风险低、 以用户为中心,用户参与程度高、 利于系统移交、运行和维护 | 开发环境要求高、管理水平要求高 | 适用于用户需求较难定义的、规模较小的系统 |
面向服务方法(SOD) | 微服务开发,每个构件通过接口连接 | 快速响应需求与环境变化、 提高系统可复用性、 信息资源共享 、系统之间的互操作性 | 系统架构复杂、开销大 | 不适用于小型应用程序 |
网友评论