第七章信息系统开发方法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第七章信息系统开发方法课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 信息系统 开发 方法 课件
- 资源描述:
-
1、信息管理技术信息管理技术1第七章第七章 信息系统开发方法信息系统开发方法信息管理技术信息管理技术2主要内容主要内容1 1、信息系统、信息系统开发开发概述概述2 2、面向过程开发方法面向过程开发方法3 3、面向数据开发方法面向数据开发方法4 4、面向对象开发方法面向对象开发方法信息管理技术信息管理技术37 7.1 .1 信息系统信息系统开发开发概述概述信息系统开发信息系统开发信息系统工程信息系统工程系统思想指导开发:系统思想指导开发:l 整体思想:整体规划、整体设计、生命周期整体思想:整体规划、整体设计、生命周期l 综合思想:子系统集成、综合思想:子系统集成、l 优化思想:多方案设计比较、优化优
2、化思想:多方案设计比较、优化信息管理技术信息管理技术4环境科学环境科学社会科学社会科学工程技术工程技术计算机科学计算机科学管理科学管理科学经济经济法律法律知识维(科学技术)知识维(科学技术)逻辑维(方法步骤)逻辑维(方法步骤)时间维(时间进程)时间维(时间进程)明确问题明确问题选择目标选择目标系统综合系统综合系统分析系统分析方案优化方案优化作出决策作出决策付诸实施付诸实施A B C D E F G6 5 4 3 2 1规划阶段规划阶段方案阶段方案阶段研制阶段研制阶段生产阶段生产阶段运行阶段运行阶段更新阶段更新阶段1 1、霍尔三维结构、霍尔三维结构信息管理技术信息管理技术52 2、信息系统生命周
3、期、信息系统生命周期信息管理技术信息管理技术6信息管理技术信息管理技术7新系统运行新系统运行小量修改、维护、评价活动小量修改、维护、评价活动原系统(现行系统)运行原系统(现行系统)运行系统开发的各个阶段系统开发的各个阶段小量修改、维护、小量修改、维护、评价活动评价活动新系统生命周期新系统生命周期原系统生命周期原系统生命周期系统开系统开发准备发准备可行性可行性研究研究系统分析系统分析(逻辑设计逻辑设计)系统设计系统设计(物理设计物理设计)系统系统实施实施维护维护评价评价信息管理技术信息管理技术83 3、信息系统开发的条件、信息系统开发的条件o 领导重视领导重视o 管理规范管理规范l 工作程序化工
4、作程序化l 业务标准化业务标准化l 报表统一化报表统一化l 资料完善化、代码化资料完善化、代码化信息管理技术信息管理技术94 4、开发方法的基本思想、开发方法的基本思想问题空间问题空间( (业务系统业务系统) )求解空间求解空间( (信息系统信息系统) )分析分析( (问题定义问题定义) )解决解决( (问题表达问题表达) )映射关系映射关系过程过程数据数据对象对象过程:结构化过程:结构化、原型、原型法法数据:信息系统工程数据:信息系统工程对象:面向对象对象:面向对象信息管理技术信息管理技术107 7.2 .2 面向过程面向过程开发方法开发方法信息管理技术信息管理技术11系统生命周期的管理策略
5、有两种:系统生命周期的管理策略有两种: 瀑布式瀑布式 迭代式迭代式信息管理技术信息管理技术12瀑布式瀑布式信息管理技术信息管理技术13迭代式迭代式信息管理技术信息管理技术141 1、结构化开发方法、结构化开发方法(SM Structured Method)(SM Structured Method)过程驱动过程驱动采取瀑布式开发管理策略采取瀑布式开发管理策略信息管理技术信息管理技术15信息管理技术信息管理技术16缺点:缺点:l开发周期过长开发周期过长l难以适应迅速变化的环境难以适应迅速变化的环境l在开发过程中用户很难参与评价在开发过程中用户很难参与评价 结构化开发方法的优、缺点结构化开发方法的
6、优、缺点优点:优点:l系统边界清晰,避免系统需求的无计划扩展系统边界清晰,避免系统需求的无计划扩展l系统文档完备、论证充分系统文档完备、论证充分信息管理技术信息管理技术17信息管理技术信息管理技术18信息管理技术信息管理技术19信息管理技术信息管理技术20信息管理技术信息管理技术21信息管理技术信息管理技术22(1)识别基本需求)识别基本需求(2)构造初始原型)构造初始原型(3)使用和验证原型)使用和验证原型(4)修正和改进原型)修正和改进原型(5)判断原型完成)判断原型完成(6)生成文档并交付使用)生成文档并交付使用强有力的开发工强有力的开发工具软件支持环境:具软件支持环境:CASECASE
7、工具工具信息管理技术信息管理技术23CASE工具工具 Computer Aided Software Engineering Computer Aided Software Engineering 可以帮助人们进行快速的开发可以帮助人们进行快速的开发信息管理技术信息管理技术24信息管理技术信息管理技术25信息管理技术信息管理技术26原型化方法适用于用户需求不清,管理及业务处理原型化方法适用于用户需求不清,管理及业务处理不稳定,需求常常变化不稳定,需求常常变化规模小,不太复杂,而且不要求集中处理的系统规模小,不太复杂,而且不要求集中处理的系统有比较成熟借鉴经验的系统开发有比较成熟借鉴经验的系统开
8、发原型法的最大优点是能提高用户满意度原型法的最大优点是能提高用户满意度使用原型法开发系统周期短,成本低使用原型法开发系统周期短,成本低 信息管理技术信息管理技术27原型化方法不适于开发大的系统原型化方法不适于开发大的系统原型化方法开发的时候,测试和文档工作常常容易被原型化方法开发的时候,测试和文档工作常常容易被忽略忽略原型化方法的另一个缺点是运行的效率可能会比较低原型化方法的另一个缺点是运行的效率可能会比较低 信息管理技术信息管理技术287 7. .3 3 面向数据面向数据开发方法开发方法 根据系统数据组织与存取要求来建立系统模型根据系统数据组织与存取要求来建立系统模型的方法。数据驱动的方法的
9、方法。数据驱动的方法l 实体关系图实体关系图l 业务域分析业务域分析l 信息模型信息模型信息管理技术信息管理技术291 1、业务域分析、业务域分析o第一步,找出用户。并定义这些用户之间的关系。第一步,找出用户。并定义这些用户之间的关系。o第二步,找出每个用户要做的事,即业务用例第二步,找出每个用户要做的事,即业务用例o第三步,利用业务场景图帮助分析业务流程第三步,利用业务场景图帮助分析业务流程o第四步,绘制用例场景图。第四步,绘制用例场景图。o第五步,从第三步或第四步中绘制的活动图中找到每第五步,从第三步或第四步中绘制的活动图中找到每一步活动将使用到的或产生的结果一步活动将使用到的或产生的结果
10、信息管理技术信息管理技术302 2、信息模型、信息模型数据的静态、动态、交互描述数据的静态、动态、交互描述信息管理技术信息管理技术31 以对象设计为基础,强调系统重用。具有较强的适应性以对象设计为基础,强调系统重用。具有较强的适应性面向对象继承面向对象继承+封装封装+抽象抽象7 7. .4 4 面向对象面向对象开发方法开发方法 (OOM (OOM Object Oriented Method)Object Oriented Method)信息管理技术信息管理技术32 真 正 的 面 向 对 象 程 序 设 计 (真 正 的 面 向 对 象 程 序 设 计 ( O b j e c t O r i
11、 e n t e d O b j e c t O r i e n t e d ProgrammingProgramming,简称,简称OOPOOP)是由)是由Alan KeyzAlan Keyz主持设计的主持设计的SmalltalkSmalltalk语言语言 面向对象(面向对象(Object OrientedObject Oriented,简称,简称OOOO)的概念应起源于)的概念应起源于挪威的挪威的K . NyguardK . Nyguard等人开发的模拟离散事件的程序设计等人开发的模拟离散事件的程序设计语言语言SimulaSimula 67 67 2020世纪世纪8080年代面向对象的分析
12、、面向对象的设计等方法和年代面向对象的分析、面向对象的设计等方法和技术才开始兴起技术才开始兴起 信息管理技术信息管理技术3319881988年年ShlaerShlaer和和 MellofMellof 首先在其首先在其面向对象的系统分析面向对象的系统分析(Object-Oriented System AnalysisObject-Oriented System Analysis)一书中,集中使用)一书中,集中使用ERER模型(模型( Entity-Relationship ModelEntity-Relationship Model)来捕捉用户需求信息)来捕捉用户需求信息19911991年年 C
13、oadCoad和和YourdonYourdon在在面向对象的分析面向对象的分析一书中提出了一书中提出了 OOAOOA方法方法在在19911991年,年,RumbaughRumbaugh等人提出了一个用于系统分析和设计的等人提出了一个用于系统分析和设计的“面向对象的建模技术(面向对象的建模技术(Object-Oriented Modeling Object-Oriented Modeling TechnologyTechnology,简称为,简称为OMTOMT)” ” 19921992年,年,EmbleyEmbley等人又提出了等人又提出了OSAOSA(面向对象的系统分析)方(面向对象的系统分析
14、)方法法 信息管理技术信息管理技术34o传统开发方法存在问题传统开发方法存在问题 1.1.软件重用性差软件重用性差 2. 2.软件可维护性差软件可维护性差 3.3.开发出的软件不能满足用户需开发出的软件不能满足用户需信息管理技术信息管理技术35对象是现实世界中的事物,面向对象系统运行过程中对象是现实世界中的事物,面向对象系统运行过程中的基本实体的基本实体对象的状态和行为:数据、操作对象的状态和行为:数据、操作对象是数据与操作的封装体对象是数据与操作的封装体 信息管理技术信息管理技术36l类是具有相同属性和功能的一组对象的集合。它为属于该类是具有相同属性和功能的一组对象的集合。它为属于该类的全部
15、对象提供统一的抽象描述类的全部对象提供统一的抽象描述l类与对象的关系如同一个模具与用这个模具铸造出来的铸类与对象的关系如同一个模具与用这个模具铸造出来的铸件之间的关系。类给出了属于该类的全部对象的抽象定义,件之间的关系。类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。所以,也有人把类而对象则是符合这种定义的一个实体。所以,也有人把类称做对象的模板或对象又称做类的一个实例称做对象的模板或对象又称做类的一个实例信息管理技术信息管理技术37实例就是由某个特定的类所描述的一个具体的对象实例就是由某个特定的类所描述的一个具体的对象类是对具有相同属性和行为的一组相似的对象的抽象类是
16、对具有相同属性和行为的一组相似的对象的抽象类在现实世界中并不能真正存在类在现实世界中并不能真正存在 信息管理技术信息管理技术38信息管理技术信息管理技术39 例如例如, ,用类定义一个名为用类定义一个名为DateDate的关于日期的抽象的关于日期的抽象数据类型,它能设置年、月、日的具体值,并数据类型,它能设置年、月、日的具体值,并能判断该年是否为闰年,还能显示年、月、日能判断该年是否为闰年,还能显示年、月、日的具体值的具体值信息管理技术信息管理技术40class Date class Date public : / 3public : / 3个公有成员函数个公有成员函数 void setDat
17、e(intvoid setDate(int y = 2000,int m = 1,int d = 1); y = 2000,int m = 1,int d = 1); / / 设置具体的年、月、日,其默认值为设置具体的年、月、日,其默认值为20002000年年1 1月月1 1日日 int isLeapYearint isLeapYear( void ); / ( void ); / 判断该年是否为闰年判断该年是否为闰年 void printDatevoid printDate( void ); / ( void ); / 显示具体的年、月、日值显示具体的年、月、日值private :priva
18、te : int int year, month, day; year, month, day; / 3 / 3个私有数据成员,保存具体的年、月、日值个私有数据成员,保存具体的年、月、日值;信息管理技术信息管理技术41日期类日期类DateDate的实现部分,即各成员函数的定义部分为:的实现部分,即各成员函数的定义部分为:void Date:setDate( int y, int m, intvoid Date:setDate( int y, int m, int d ) d ) year = y;month year = y;month = m; day = d; = m; day = d;
19、/ / 判断该年是否为闰年判断该年是否为闰年int Date:isLeapYearint Date:isLeapYear( void ) ( void ) return ( year % 4 = 0 / return ( year % 4 = 0 / 能被能被4 4整除的年份是闰年整除的年份是闰年 & year % 100 != 0) / & year % 100 != 0) / 能被能被100100整除不是闰年整除不是闰年 | (year % 400 = 0); / | (year % 400 = 0); / 能被能被400400整除又是闰年整除又是闰年/ / 显示年、月、日的具体值显示年、
20、月、日的具体值void Date:printDatevoid Date:printDate( void )( void ) cout cout year year信息管理技术信息管理技术42 #include tdate.h#include tdate.hvoid main( void ) void main( void ) Date date1, date2; Date date1, date2; / / 定义日期类定义日期类DateDate的两个对象的两个对象date1date1和和date2date2 date1.setDate(2000, 5, 4); date1.setDate(20
21、00, 5, 4); / / 给对象给对象date1date1设置年、月、日的具体值设置年、月、日的具体值 date2.setDate(2000, 4, 9);date2.setDate(2000, 4, 9); / / 给对象给对象date2date2设置年、月、日的具体值设置年、月、日的具体值 / / 闰年闰年leap = 1leap = 1,否则为,否则为0 0intint leap = date1.isLeapYear( ); leap = date1.isLeapYear( );cout LEAP = leap endlcout LEAP = leap endl; ; / / 显示对
22、象年、月、日的具体值显示对象年、月、日的具体值 date1.printDate( void );date1.printDate( void ); date2.printDate( void ); date2.printDate( void ); 信息管理技术信息管理技术43对象与对象之间不是彼此独立的,它们之间存在着联系。对象与对象之间不是彼此独立的,它们之间存在着联系。在面向对象系统中,对象之间的联系是通过消息在面向对象系统中,对象之间的联系是通过消息(Message)传递的传递的消息是对象之间进行通讯的一种数据结构消息是对象之间进行通讯的一种数据结构消息用来请求对象执行某一处理或提供某些信
23、息,控消息用来请求对象执行某一处理或提供某些信息,控制流和数据流统一包含在消息中制流和数据流统一包含在消息中 程序的执行是靠对象间传递消息来连接的程序的执行是靠对象间传递消息来连接的 消息包括消息包括( (方法名、参数、方法体方法名、参数、方法体) )信息管理技术信息管理技术44消息传送与函数调用的区别消息传送与函数调用的区别 函数调用可以带或不带参数,但是消息至少带一个参函数调用可以带或不带参数,但是消息至少带一个参数,它表明接收消息的对象数,它表明接收消息的对象消息操作名类似于函数名,但它们之间的本质区别在消息操作名类似于函数名,但它们之间的本质区别在于:函数名代表一段可执行的代码,但消息
24、操作名具于:函数名代表一段可执行的代码,但消息操作名具体功能的选取还取决于接收消息的对象本身体功能的选取还取决于接收消息的对象本身函数调用是过程式的(如何做),消息传送是说明式函数调用是过程式的(如何做),消息传送是说明式的(做什么),具体如何做,由对象根据收到的消息的(做什么),具体如何做,由对象根据收到的消息自行确定自行确定 信息管理技术信息管理技术45继承指对象继承它所在类的结构、操作和约束继承指对象继承它所在类的结构、操作和约束也指一个类继承超类或子类继承父类的结构、操作或也指一个类继承超类或子类继承父类的结构、操作或约束。继承是自动共享类、子类和对象中的方法和数约束。继承是自动共享类
25、、子类和对象中的方法和数据的机制据的机制 信息管理技术信息管理技术46 在类层次中,子类只继承一个父类的数据结构和方法,在类层次中,子类只继承一个父类的数据结构和方法,则称为则称为单重继承单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,在类层次中,子类继承了多个父类的数据结构和方法,则称为则称为多重继承多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。了对象、类的创建工作量,
展开阅读全文