面向对象系统开发环境

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
除了应用软件之外,信息系统还包括以下部分:
●操作应用软件所需要的硬件和系统软件。请注意,系统软件帮助计算机工作,而应用软件帮助用户执行各种任务,比如生成发票、制作电子表格和连接Internet。
●由系统分析员制作的文档和培训材料有助于员工们使用他们自己协助开发的软件。
●与整个系统有关的特定岗位(如操作计算机并维护软件运转的员工)。
内容
●本章内容预览
●什么是信息系统分析和设计
●系统分析和设计:核心概念
●系统
●系统分析和源自文库计
●信息系统与系统开发的各种类型
●分析员在系统开发中的角色
●系统开发中的系统分析员
●系统开发方法理论的发展历程
●为什么使用面向对象的系统分析和设计(OOSAD)
●迭代递增的开发
●本书面向对象的系统分析和设计的方法
耦合即各子系统相互依赖。各子系统应当尽可能独立。如果一个子系统失效了而其他子系统高度依赖它的话,那么其他子系统要么也失效,要么将工作不正常。请看图1-6,我们可以说便携CD播放器的各组件之间是轻度耦合的。放大和读取CD信号的单元在同一个容器内通过线缆连接,而要将二者的边界清晰地画出则有一定困难。如果一个子系统失效了,那么就需要维修整个CD播放器。在家用音响系统中,各组件都是松散耦合的,因为像扬声器、放大器、接收器和CD播放器等子系统都是物理上独立而功能上互相依赖的。如果家用音响系统中的放大器失效了,那么只需要维修放大器。
图1-4系统的七项特征
●系统组件
●相互关系
●边界
●用途
●环境
●系统接口
●输入
●输出
●约束
系统由各种组件构成。系统组件可以是不可约部分也可以是多个部分的组合(也被称为子系统)。组件的简单概念很强大。比如,在设计合理的汽车或者音响系统时,系统可以通过更换单独的组件来进行维修和升级,而不需要改变整个系统。各组件是相互关联的,也就是说,一个组件的功能依赖于其他组件的功能。例如,像销售订单这样的组件工作需要依赖购物车这样的组件。系统的边界包含着所有的组件,并且形成了系统的界限,将系统与其他系统隔开。边界内的组件可以被更改,而边界外的系统则不能被改变。所有的组件协同工作来完成更大系统的一些总体用途:系统存在的原因。
本章的后续部分讲述了系统开发的各种方法——面向数据、过程和对象的方法。虽然面向数据和过程的方法不是本书的重点,但是这些方法的基本思想很重要,不仅是因为它们还在使用,更主要的是因为它们为现在流行的面向对象方法提供了历史环境。本书也对开发系统的不同人群以及他们开发的各种系统进行区分。此外本书还包括对UML(Unified Modeling Language,统一建模语言)的简要介绍,该语言在表示面向对象系统设计方面,成为被广泛接受的标准。下一章主要介绍面向对象的各种概念。在讲解业务信息系统之前,先来简要讨论一下系统一词的含义。
工具是各种能让特定技术更容易使用的计算机程序,如CASE(Computer-Aided Software Engineering,计算机辅助软件工程)工具。这三种元素——方法理论、技术和工具——协同工作,形成了系统分析和设计的组织化方法。
图1-2计算机信息系统应用程序的各个组件
图1-3使用方法理论、技术和工具的软件开发过程
本章内容预览
业务成功的关键是收集、组织和解释信息的能力。开发信息系统的面向对象的系统分析和设计(OOSAD)方法正在迅速流行开来。与OOSAD关系最为密切的人就是系统分析员,在其他系统分析与设计方法中也同样如此。作为一名系统分析员,你将享有丰富的职业经历,这些经历能增强自身的计算机技术、组织、分析和人际关系能力。

目标
通过本章内容的学习,读者可以:
●定义信息系统分析与设计。
●解释系统的基本特性。
●描述信息SDC(System Develop Cycle,系统开发周期)。
●描述信息系统的三种类型——事务处理系统、管理信息系统和决策支持系统。
●描述信息系统开发中系统分析员的组织角色。
●叙述系统开发方法理论的发展历程。
系统分析与设计的主要目的是改善组织的系统。这项工作通常包括开发或者获得应用软件以及培训员工使用这些软件。应用软件(也被称做系统)是为支持诸如库存管理、工资发放或市场分析等特定的组织功能或处理过程而设计的。应用软件的目标是将数据转化为信息。比如,为书店的库存管理部门开发的软件会为最新畅销书跟踪库存书籍的数量。工资部门的软件会记录每个员工不断变化的薪酬水平。为了满足办公自动化的需要,可以购买像Microsoft Office以及其他办公套件等各种现成的应用软件。而要满足企业级需求,那些为组织需求而配置的大型集成成品软件包能实现如库存管理、财务核算和后勤管理等各种组织功能。但是,对于特定组织内的特定需求来说,现成的软件就不能完全适用了,因而组织就要开发其专有系统。在开发其专有系统的过程中,组织可以为整个系统的一部分部署从提供商那里购买组件,而系统的其他部分则自行编写。
系统存在于由系统边界之外所有能影响到系统的事物所组成的环境中。比如,一所州立大学的环境包括预期的学生、各种基金会和券商以及新闻媒体。通常情况下系统与其环境相互作用。大学通过开放宿舍和从本地高中招募学生来与预期学生相互作用。信息系统通过接受数据(原始事实)和信息(处理为有用格式的数据)来与其环境交互。图1-5所示的是一所大学如何被看做是一个系统的。系统与其环境相接合的部分称为系统接口,而各子系统之间也存在接口。
●将系统分解为小的、可管理的和可理解的子系统。
●在一段时间内将精力集中于一个区域(子系统)而不受其他区域的干扰。
●专注于与特定用户群相关的系统部分,而不让不必要的细节困扰用户。
●在独立的时间建立不同的系统部分,并获得不同的分析员的帮助。
图1-6所示的是一台便携简易光盘(CD)播放器的分解。该系统接受各种CD碟片和音量音调设定,并将其作为输入而将播放音乐作为输出。将该系统分解为子系统展示了系统的内部工作情况。各独立系统分别完成从CD读取数字信号、放大信号、将信号转换为声波以及控制声音的音量和音调等功能。将各子系统分解为它们的各组件则进一步展示了系统内部更多的工作情况,也增强了我们对整个系统运转机制的了解。
1.3.2
系统分析员需要知道一些重要的系统概念:
●分解
●模块性
●耦合
●内聚
分解
将系统分解为更小要素的过程,这些要素可能是子系统,也可能是最终单元。
分解是将系统分解为更小要素的过程,这些要素可能是子系统,也可能是最终单元。而各个子系统本身也是系统,那么就仍然可以被递归分解,直到只剩下最终单元。最终单元是不可约部分,也就是不能被再分解的部分。分解对理解系统有何帮助?分解使得较大、较复杂的部分变成更容易理解的较小、较简单的部分。对系统进行分解也允许对系统的特定部分特别关注,也就更易于考虑修改独立于整个系统的某个部分的方法。分解技术允许系统分析员完成如下工作:
●对组织的目的、结构和处理过程的了解。
●发挥信息技术优势的知识。
为了成功完成这项工作,必须遵循系统性的方法,比如图1-1所示的用来确定、分析、设计和实现信息系统的四步式方法。本书详细介绍了基于面向对象系统分析和设计的系统开发方法理论。首先来看一些和系统分析与设计有关的核心概念。
应用软件
即在组织中为处理数据和支持用户而设计的软件。应用软件的例子包括电子表格、文字处理软件、工资系统和库存管理系统。
图1-6分解为四个子系统的CD系统:信号读取子系统、信号放大
子系统、信号控制子系统和信号转换子系统
模块性
将系统划分为更小的块或模块。
耦合
各子系统互相依赖的区域。
内聚
系统或子系统执行单一功能的区域。
模块性是分解的直接结果。它将系统划分为更小的块或模块。模块可以简单地表示系统,使得系统更容易被理解并能更轻松地重新设计和重新构建。例如,图1-6中CD播放器的每个独立子系统模块都显示出分解是如何使得整个系统更容易被理解。
本书需要读者对信息系统介绍课程所介绍过的计算机信息系统有一个大体的了解。第1章概述了OOSAD,并且是后续章节的基础。
图1-1系统开发周期
1.1
信息系统分析和设计
开发和维护信息系统的过程。
系统分析员
主要负责分析和设计信息系统的组织角色。
信息系统分析和设计是各公司(像,IBM、Pepsi和Amazon.com)用来创建和维护信息系统的方法,这些系统可以实现基本的业务功能(如保存客户的姓名和地址、处理订单以及发放工资)。系统分析和设计的主要目的是改善组织的系统,通常通过使用那些能帮助员工更轻松有效地完成关键业务的软件来达到这一目的。在开发这类软件的过程中系统分析员处于核心地位。信息系统的分析和设计建立在下述基础之上:
虽然OOSAD是基于面向对象概念并与20世纪70年形成的目前还在流行的结构化分析方法有区别,但是二者在开发高效信息系统上的总体焦点是一致的。系统开发中的四个主要步骤是所有系统分析和设计方法的基石:(1)项目管理与计划,(2)系统分析,(3)系统设计,(4)系统实现与操作。这些步骤表示了解决系统开发问题的基本方法。它们包括了很多基本的开发活动,诸如评价经济和技术可行性、理解用户需求、评价候选设计方案、确定最佳方案、将设计规范转换为代码,以及将软硬件和数据通信组件整合并测试等等。实际的方法会随方式和组织的不同而不同,而开发的各种前提也会带来更多的设计选择,但是必要的步骤依然相同。这种系统开发周期如图1-1所示。本书的大部分章节都包括系统开发周期的更新版,其中突出了已经讨论过的各步骤以及剩余的步骤。
1.3
本书中使用得最频繁的关键术语就是系统一词。理解系统的含义以及它们是如何工作的对于理解系统分析和设计至关重要。
系统
用来实现业务功能、有确定边界、为某项用途工作的相关程序形成的组。
1.3.1
系统是在业务单元中为某个目标协同工作的各种业务程序、对象或组件的集合。比如,工资部门的系统跟踪各类支票,而库存系统跟踪各种供货。两个系统是分离的。系统有九项特征,其中的七项如图1-4所示。每项特征后面都有详细解释,但是该图所示的系统存在于一个更大的世界——环境之中。边界将系统与其环境分隔开。系统从环境获得输入,然后处理输入,再将结果输出回环境中去。图中的箭头表示了系统与其外界环境之间的这种交互。
由于在环境中存在系统功能和用途实现方式上的限制(容量、速度或者性能等方面),系统必须对其功能进行约束。有些约束是来自于系统内部的(比如,可用员工的数量),而其他的约束则是由系统施加的(如,日制或规则)。系统从环境中获得输入来实现功能。比如,人从环境中获得食物、氧气和水作为输入。如果在电梯中有人抽烟,那么你就无法呼吸新鲜空气。最终,系统将其功能的执行结果作为输出返回给环境,并因此完成其目的。如果电源被切断,那么系统也就不工作了。
●控制与安全机制,这些都是防欺诈盗窃辅助软件的组成部分。
●使用软件来完成工作的人。
计算机信息系统应用软件的各类组件都汇总在图1-2中。图中给出了整个系统的所有维度,这些维度在应用软件开发中要着重强调,而这也是系统分析员的主要职责。
本书的目标是帮助读者理解并遵循创建信息系统的系统开发过程。如图1-3所示,经过考验的方法理论、技术和工具是系统开发过程(也是本书)的核心。
图1-5作为系统的大学
来源:Urbana-Champaign的Illinois大学的一部分,www.uiuc.edu/ricker/CampusMap?buildingID=52&target=displayHighLight。来自Urbana-Champaign的Illinois大学网站。
系统组件
方法理论是帮助开发最终产品(信息系统)的一系列逐步方法。大多数方法理论都包含了一些开发技术,如直接观察和与现有系统用户会面等等。
技术是分析员用来协助确保他们的工作已经考虑充分、完整并且容易理解的过程。技术为各种任务提供了支持,这些任务包括:通过与使用信息系统的当前和未来用户会面来确定建立什么样的系统;在系统开发项目中计划和管理各种活动;绘制表示系统工作方式的图,并设计系统将为用户生成的各种报表,如发票。
一个不可约部分或组成一个系统的多个部分的组合;也被称为子系统。
相关组件
系统的一个部分与一个或多个其他系统部分的依赖关系。
边界
划分出系统的内部和外部的界线,并将系统与组织中的其他系统分离开。
用途
系统的整体目标或功能。
环境
与系统交互的系统外部所有事物。
系统接口
系统与环境或各子系统之间接触的地方。
约束
系统功能的限制。
相关文档
最新文档