第六章 计算机辅助管理系统的开发
第一节 概述
一、企业开发计算机辅助管理系统的基本条件 1.实现现代化管理的紧迫感和明确的开发目标 2.企业高层领导重视及业务人员积极性高 3.资金保证
4.对计算机辅助管理系统有一个正确的认识 5.有一定的科学管理基础
6.稳定的专业开发队伍和自己的技术力量 二、计算机辅助管理系统失败的原因 1.认识误区
计算机辅助管理系统不是在原有人工管理的基础上,仅仅是使用计算机进行一些计算和打印一些报表而已。计算机辅助管理要求人们对管理的认识提高一个层次,要改变人们过去的工作方式和习惯,每个人都要进行知识更新以适应现代化管理的需求。墨守成规的人必将被历史淘汰。 2.管理不善
3.缺乏好的总体规划
三、计算机辅助管理系统开发的原则
⑴一把手原则:是保证系统顺利开发的首要条件。
⑵优化与创新原则:不能简单的模拟旧系统,应有所创新。
⑶适应性与先进性原则:既要适应本单位的实际情况,又要考虑先进性(如现在应采用B/S模式)。
⑷信息工程原则:企业在不断变化,企业的变化体现在数据变化(如产量的增加、人员的变动、部门的调整、开发新产品等。),开发出的系统(程序)应适应这种变化,即数据变了,程序不能变或只做小的改动。 ⑸面向用户原则:易于掌握和使用,用户界面友好,对某些操作错误系统能自动处理等。
第二节 系统开发方法
一、系统开发模型 1.系统生命周期
⑴系统起始:初步调查。
⑵可行性研究、需求分析、系统分析、系统设计、系统实施。 ⑶系统维护(售后服务)。
⑷系统废弃(设计新的系统代替旧系统)。 P175图6-1
2.系统开发生命周期
?系统开发生命周期中的内容 ①系统开发阶段任务的划分;
②每个任务包含哪些作业,即一个任务中可以基本独立完成的部分; ③每个作业中各种人员的作用;
④每个作业的质量标准、经费预算、进度安排等; ⑤开发技术。 ?两种不同的方法
①结构化系统开发生命周期法
采用“瀑布模型”,把整个开发工作严格划分为各个阶段,每个阶段再划分若干步。按序进行,前一阶段的成果是下一阶段的依据。 ②快速原型法
采用“循环或迭代模型”,把一个最终产品(要开发的系统)细分为若干子产品,这样不断的细分直至不能再分为止。对每个子产品进行开发设计时强调采用快速、灵活、交互式的软件开发方法学,即反复
1
与用户沟通,不断完善。 注:
①瀑布模型:瀑布模型(Waterfall Model)
W.Royce于1970年提出了瀑布模型。瀑布模型提供了一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。项目开发进程从一个阶段“流动”到下一个阶段。 ②循环或迭代模型:
迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。
所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代的思想如下图所示:
二、系统开发与运行环境的选择
?计算机辅助管理系统的主要运行方式:
把分布式的信息放在地理位置不同的计算机上处理,再由网络把这些分布式信息集成在一起。其模式主要有两大类C/S和B/S模式。
?基于网络的计算机辅助管理系统开发的任务: ①网络支撑环境的建设 ②应用系统的开发
1.网络主要硬件设备的选择 ⑴服务器
主要指标:处理能力、存储容量、高速传输总线、磁盘接口、系统容错等。 ⑵网络关键设备 路由器、交换机等。 注:
①路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。
②交换机(switch)是网络节点上话务承载装置。交换机能把用户线路、电信电路和(或)其他要互连的功能单元根据单个用户的请求连接起来。 2.网络计算模式
网络计算模式主要指采用何种方式共享网络资源,有两种模式。 ①对等层资源共享计算模式
网络中所有计算机地位平等,每台机器的资源都可以被大家共享,包括磁盘、打印机等硬件资源即各种软件资源。
2
优点:灵活、网络资源利用率高。
缺点:当一台机器的资源被其它机器共享了一部分后,其处理能力和速度下降。 ②客户/服务器(C/S)计算模式
网络中的计算机分成两种:客户机和服务器。
客户机:可以访问网络中的共享资源,但本机资源只能为本机所使用。 服务器:负责管理共享资源。
例如服务器中的数据库可以被其它用户访问,服务器管理的打印机可以被其它用户使用。 客户/服务器计算模式还有4种类型: 1)基于客户类应用
所有处理由客户机完成,服务器提供文件类服务。 2)基于服务器类应用
所有处理由服务器完成,客户机仅完成输入/输出,如无盘工作站。 3)客户/服务器应用
前两者相结合。由客户机向服务器提出请求,服务器处理后把结果返回给客户机。 4)分布处理类应用
要求系统有多台服务器,客户机向服务器提出的请求由多台服务器协同完成。提高了数据处理能力。 3.网络操作系统的选择
NetWare、UNIX、Windows NT、Linux等。
注:NetWare是早期的网络操作系统,现在已很少用。
从Windows2000开始,已包含NT技术。
Linux是为个人电脑开发的UNIX系统,Linux与UNIX是兼容的。 现在小型网络多选择Windows或Linux,大型网络多选择UNIX。 4.数据管理系统的选择 ⑴多用户数据库
单机版数据库的网络版,如FoxPro、Access、 Parados等。
数据集中存放在一个数据库中,通过加锁和解锁的方法访问共享文件。 ⑵分布式数据库
数据分存在计算机网络中的各台计算机上的数据库。
分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或结点。分布式数据库有一个统一的数据库管理系统来进行管理,称为分布式数据库管理系统。
注:本节所指分布式数据库是早期的概念,这里主要强调客户与服务器的分布处理,减少通信负载。 现在的大型数据库都具有分布式处理功能,如SQL-server、Oracle、Sybase等。 三、结构化系统开发周期法 第一阶段:系统总体规划
提出初步的开发目标、系统规模、粗略的实现方案,可行性研究,制定具体的开发计划。 第二阶段:系统分析
详细调查、需求分析,确定系统功能、结构,建立可优化的逻辑模型。 第三阶段:系统设计
提出系统在计算机上的实施方案,建立物理模型。 第四阶段:系统实施
投入人力、物力,购置安装设备,程序设计、系统测试等。 第五阶段:系统运行维护
2.结构化系统开发周期法的开发特点 优点:①阶段的顺序性和依赖性
②逻辑设计和物理设计分开进行
3
③质量保证措施,每一阶段都要进行审核。 缺点:①预先定义需求,有时很难定义准确。
②分析与设计之间过渡不自然。分析与设计完全分开进行,发现问题后很难改进。如果边分析边设
计,发现问题后很容易改进。 ③文档编写工作量大。 四、快速原型法
基本思想:根据用户提出的基本需求,由设计者利用软件环境迅速构建一个系统“原型”。在此原型的基础上,逐步细化、反复修改、评价直至满足用户要求为止。 1.开发过程 P180图6-2
⑴确定用户基本需求:如用户提出输入哪些数据,最后打印出哪些报表等。 ⑵初始设计原型:设计出一个能满足用户基本需求的软件系统。 ⑶使用评价原型:由用户使用这个初始原型,进一步提出建议。
⑷修改原型:根据用户提出的建议修改原型,反复进行该过程直至用户满意为止。 2.原型的种类 ①丢弃型原型
开发出完整的系统后,丢弃原型。 ②进化型原型
一步步地修改原型,最后变成完整的系统。 3.原型化方法的特点
①系统开发采用“循序渐进,不断完善”的方法,符合人们认识问题的规律。 ②利用实例,把系统原型展示给用户,可以启发用户提出各种要求。 ③增加系统开发人员与用户的交流,利于系统开发。 ④开发周期短,费用少。 4.原型化方法的使用
使用原型化方法时应注意几个问题
①对支撑软件要求高,现在的很多工具如网页制作工具Dreamweaver可以不用写任何代码。 ②适合小的易变系统,大的稳定系统采用结构化系统开发周期法较为合适。 五、面向对象的系统开发方法 1.面向对象方法的由来 面向对象技术:面向对象技术是一种以以对象为基础,以事件和消息来驱动对象执行处理的程序设计技术。 面向对象的高级语言:在面向对象的高级语言中使用了“类”和“对象”的概念。 如C++、Java、VB、Delphi等都是面向对象程序设计语言。 2.面向对象的基本概念
⑴对象(Object):相关数据和方法的集合,对象由属性和行为(事件)组成。 ⑵类(Class):同类对象的集合。
⑶消息(Message):描述事件发生的信息,一个对象发送消息给接收对象,接收对象根据接收到的消息 作相应地处理。 3.面向对象的特征
⑴封装性:把对象的属性和行为结合成一个整体,尽量隐蔽对象的内部特性,通过接口与外部发生联系。 ⑵继承性:继承是连接类与类的层次模型。一个类可以派生出多个新类,派生出的新类继承原来类的特性与行为,又可增加属于自己的特色。
⑶多态性:类中同一函数名对应多个具有相似功能的不同函数,由参数的不同来区分它们。 面向对象技术的优势:继承性与多态性的结合使得很多代码可以重用,封装性使得系统更加安全 可靠。
4.面向对象方法简介
4
①面向对象将数据与对数据的操作封装在一起,形成一个整体。
②面向对象以数据为中心描述系统(如对象的属性设置、事件处理等),易于维护。
③面向对象的控制流程由运行时的实际发生来触发,不再由程序中的预定顺序决定,更加符合实际。 即控制流程由运行时的用户行为决定。
④面向对象编程可采用框架结构,部分代码可自动生成。提高了编程速度。VC++具有典型的框架结构。 5.面向对象分析 ?面向对象分析方法
找到构成系统的类、类的特性、他们之间的关系等。使用的工具主要有“用例图”、“类图”、“时序图”等。 ?三个不同层次的对象
⑴信息对象:开发系统中的实体,如“学生”、“教师”等。
⑵I/O对象:输入/输出对象,如要输入的订货单,打印报表等。 ⑶内部对象:程序设计中使用的对象,如窗体、控件等。 6.面向对象设计
在一个大系统中找到若干彼此互相独立但又有联系的对象。这种寻找对象的过程可以逐步进行,即大对象中又包括了很多小对象,一次往下直至不能再分为止。 找到每个对象的属性即相关的处理方法。 找到对象之间的联系。
每个对象可以相对独立地设计。
最后把他们连在一起,形成一个完整的系统。 7.面向对象方法的特点
1)面向对象将数据与对数据的操作封装在一起,形成一个整体。
2)系统分析与设计过渡平滑。主要指系统分析与设计之间联系紧密,可以认为系统分析就是设计的原型。 如画出类图后就很容易设计出类。
3)分析与设计于现实世界非常贴近,符合人们的思维习惯。
4)对象彼此是相对独立的,程序员在长时间的工作中可以积累大量的对象。开发新的系统时,程序员可使用原来的对象或稍作改变,像堆积木一样很快搭建起系统,大大地缩短了工期。 5)易于扩展和维护。
第三节 总体规划
一、总体规划的内容与步骤 1.总体规划的重要性
⑴总体规划是系统开发成功的基础 ⑵总体规划是整个系统开发的纲领 ⑶总体规划是筹措资金的依据 ⑷总体规划是开发项目确立的依据 2.总体规划的内容
①初步调查、分析与评价
②确定系统的目标、规模、功能及约束等 ③拟定系统初步实现方案 ④可行性分析
3.总体规划的步骤 ⑴初步调查 ⑵战略分析
⑶定义约束条件,即系统管理的范围。 ⑷明确目标
⑸拟定系统初步实现方案 ⑹可行性分析
5