




已阅读5页,还剩128页未读, 继续免费阅读
(控制理论与控制工程专业论文)大型信息系统模型化开发方法与应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
函数确定阶段、 评价值计 算阶段、 综合评价阶系统评价的一般步骤进行 了 探讨;论述了日前流行的评价理论 ( 效用理论、 确定性理论、 不确定性理论、 非 枯确理论、 模糊评价法最 优 化 理 论 等 ) 和 评 价 方 法 关 联 知 阵 法 、 关 联 树 法 、层次分析法、 、 人 工 神 经 网 络 ” 晰 方 法 等 羚 盯层 次 分 析 法 、 模 糊 评 价 法 、 人 r 神经网络 p 价方法的一般步骤。 关键字:信息系统 u m l 开发方法 /“穿 构件框架设计模式 i11fiv 方 法 d e v e l o p m e n t a n d d e s i g n me t h o d o f l a r g e i n f o r m a t i o n s y s t e m ma j o r : c o n t r o l t h e o r y a n d c o n t r o l e n g i n e e r i n g au t h o r : ra o v i me i a d v i s o r : p r o f , wa n g z h i b a o ab s t ract wi t h t h e r a p i d d e v e l o p m e n t o f i n f o r m a t i o n t e c h n o l o g y , e s p e c i a l l y o f t h e n e t w o r k t e c h n o l o g y , t h e i n f o r m a t io n s y s t e m s a r e b e c o m i n g m o r e a n d m o r e la r g e a n d c o m p le x , a n d t h e s p a n s o f s y s t e m d e v e l o p m e n t a r e b e c o m i n g m o r e a n d m o r e l o n g . a s t h e s c a l e a n d c o m p l e x ity o f s y s te m i n c r e a s e d , m u c h m o r e r e q u i r e m e n t s h a v e b e e n d e c l a r e d f o r t h e r e l i a b i l i t y o f s y s t e m a n d t h e p r o d u c t i v it y o f s y s t e m d e v e l o p m e n t . t h e s e m o v e m e n t s h a v e e x t r e m e l y i n c r e a s e d t h e d i f f ic u l ty i n s y s t e m d e v e l o p m e n t , a n d o ft e n m a k e t h e d e v e l o p m e n t , e s p e c i a l l y f o r t h e l a r g e s y s t e m d e v e l o p m e n t g e tt i n g i n t o a s t a t e o f l o s e c o n t r o l . s o ft w a r e d e v e l o p e r s a r e c o n fr o n t e d w i t h n e w c h a l l e n g e . t h e t r a d it i o n a l d e v e l o p m e t h o d s c a n n o t m e e t t h e e x p e c t a t i o n s o f d e v e l o p i n g p o w e r f u l a n d c o m p l e x s y s t e m s . u n l e s s w e im p r o v e t h e t r a d i t i o n a l d e v e lo p m e t h o d s w e c a n n o t a c h i e v e t h e g o a l o f l a r g e c o m p l e x s y s t e m . s o b a s e d o n t h e r e s e a r c h w o r k a b o u t f in a n c ia l i n f o r m a t i o n s y s t e m d o n e 妙t h e a u t h o r , w e s t u d y a n d r e s e a r c h t h e d e v e l o p m e t h o d o f l a r g e i n f o r m a t i o n s y s t e m . t h e m a i n c o n t e n t o f t h i s t h e s i s i s a s f o l l o w i n g : i ) a n a l y z e d t h e t e n d e n c y o f i n f o r m a t i o n s y s t e m a n d t h e c o m p l e x it i e s i n s y s t e m r e q u i r e m e n t , d e v e l o p m e n t , m a n a g e m e n t , s t a t e s , a n d i m p le m e n t . 2 ) s y s t e m a t i c a l ly r e v i e w e d t h e o r i g i n , e v o l u t i o n a n d c u r r e n t s t u d y i n g s t a t u s o f t h e d e v e lo p m e t h o d s o f i n f o r m a t i o n s y s t e m , i n c l u d i n g t h e g e n e r a l p i c t u re o f t h e c o m m o n u s e d s o ft w a r e e n g i n e e r i n g m e t h o d s s u c h a s s o ft w a r e l i f e c y c l e , p r o t o t y p i n g m o d e l , s t r u c t u r e d m e t h o d , a n d o b j e c t - o r i e n t e d m e t h o d . a n a l y z e d t h e c h a r a c t e r i s t ic s o f t h e s e m e t h o d s , p o i n t e d o u t t h e i r e a c h w e a k p o i n t 3 ) r e v ie w e d t h e h i s t o r i c a l b a c k g r o u n d o f t h e u n i f i e d m o d e l i n g l a n g u a g e ( u m l ) , a n d t h e c o n c e p t a n d d e n o t a t i o n o f t h o s e g r a p h i c s e l e m e n t s w h ic h a r e i m p o rt a n t t o l a r g e i n f o r m a t i o n s y s t e m m o d e l i n g . 4 ) c o n s i d e r i n g t h e l a r g e - s c a l e a n d c o m p l i c a t i o n c h a r a c t e r is t i c s o f i n f o r m a t i o n s y s t e m a n d t h e d e m a n d f o r d e v e l o p i n g s o ft w a r e p r o d u c t s m o re q u i c k l y , w e b r o u g h t f o r w a r d a s e t o f m o d e l i n g d e v e l o p m e n t a n d d e s i g n m e t h o d f o r l a r g e i n f o r m a t i o n s y s t e m ( l i s - m d d m) , g a v e a d e t a i l e d d i s c u s s i o n a b o u t t h e p h a s e s i n t h i s m e t h o d , a n d a n e x a m p l e o f t h e d e v e l o p i n g p r o c e s s o f a s e c u r it i e s t r a d i n g s y s t e m a c c o r d i n g t o hs - md dm 5 ) s u m m a r i z e d t h e c a t e g o r i e s a n d s i g n i f i c a n c e o f s o ft w a r e r e u s e , d i s c u s s e d t h r e e k i n d s o f r e u s i n g f o r m : c o m p o n e n t , f r a m e w o r k a n d d e s i g n p a t t e rn. g a v e t h e b a s i c s t e p s o f t h e d e v e l o p i n g m e t h o d t h a t w a s b a s e d o n c o m p o n e n t ,d e s i g n p a tt e rn a n d f r a m e w o r k , d e v e l o p e d a f r a m e w o r k o f t h e c l i e n t s u b s y s t e m o f s e c u r i t i e s t r a d in g s y s t e m w h i c h u s i n g f r a m e w o r k , a n d g a v e s o m e d e s i g n p a t t e rn e x a m p l e s i n j a v a a p i . d i s c u s s e d t h e c o n c e p t o f e v a l u a t i o n a b o u t i n f o r m a t i o n s y s t e m , i n t r o d u c e d t h e h p p r i m a ry e v a l u a t i o n a n a ly t i c h ie r a r c h y n e t wo r k s e v a l u a t i o n t h e o r i e s p r o c e s s , me t h o d a n d a p p r o a c h a t t h e p r e s e n t t i m e . g a v e t h e s t e p s o f t h e f u z z y c o m p r e h e n s i v e e v a l u a t i o n , a n d a rt i f i c i a l n e u r a l k e y w o r d : f r a me wo r k i n f o r m a t i o n s y s t e m ;uml d e v e l o p i n g m e t h o d ; c o m p o n e n t ; 二 d e s i g n p a t t e r n ; e v a l u a t i o n a p p r o a c h w 第一章绪论 1 . 1信息系统的发展趋势 当前世界开始进入信息化时代, 信息己 经成为发展社会生产力和提高人民生 活质帚日 益重要的资源。 信息化既是一个国家经济、 社会发展到一定程度的必然 要 求和过程,也成为促进经济和社会发展的大趋势。 信息系统是信息交换的 枢纽, 是信息的一个重要集散 地, 是收集、 加工、 分 析、 传输信息的一个重 要基地, 是 使用信息的 现代化渠道, 也是沟通信息提供者 与 信息需求者的重要传媒。当 今是信息爆炸的时代, 每天、 每时、 每刻信息潮水 般涌到人们而前, 需要人们去处理去应用, 需要人们建立现代化、自 动化的信息 系统。 信息系统是随着系统科学、 计 算机科学以及现代管理科学而发展起来的。 它 作为一个具体的系统, 是将计算机硬件、 软件、 各种规章制度、 决策模型及管理 人员 等组合在一起的人/ 机系统。计算机信息系统从7 0 年代末到8 0 年代末经历 了 数据处理系统和事务处理系统两个阶段, 主要处理日 常业务和产生报表, 使日 常事务处理工作自 动化,以减轻人们的繁重劳动。进入9 0 年代后,随着计算机 软、 硬件的七 速发展, 信息系统进入高速发展时期, 各种管理信息系统、 决策支 持系统为企业或部门的管理服务, 为管理者的决策提供帮助。 信息系统的开发和 建设经历了 多年的理论研究和实践探索,己 经在各行各业得到了 广泛的应用。 随着计算 机性能的逐年提高和网络技术、 多 媒体技术、 软件工程技术的飞速 发展,信息系统产品的更新速度越来越快,功能和规模也在迅速扩展。近年来, 信息系统的技术环境与管理环境发生的重大变化, 一方面极大地促进了信息系统 的发展, 另一方面也使信息系统的概念、 体系结构、 开发方法及应用范围等发生 r 重人变化,1 扛 要 表现在以下 儿方面: 1 .信息系统向集成化和网 络化发展 7 0 年代末、 8 0 年代初的信息系统主要是通过单 机实 现的单 项信息管理,如 财务管理、 库存管理、 经营管理等。 这样的系统存在着一些明显的问题就是系统 灵活性和适应性差。 随着社会企、 事业单位的逐步扩大, 业务组成趋于分散,以 4 1 那种从于 二 一台或儿台计 算机的“ 信息孤岛” 式信息系统己不能满足要求, p o 需 一种更为先进的系统取而代之。 计算机技术和通讯技术的发展, 为这一社会需求 提供r 一个契机, 从而使信息产业进入一个新的时代一信息网络时代。 信息系统 f t 一步步向网络化和集成化迈进:开始局限于l a n ,进而扩展到可以跨部门、跨 . 1 . 南开大学博士学位论文 i 也 区、 跨行业甚至跨越国界的分布式计算机网络系统: 涉及的领域也从企事业扩 展到全社会, 如文化、 娱乐、 社会公益等事业。 如何应用现有各种成熟的信息技 术产,、 : 建立满足各类应用需求的信息系统是日 前面临的一个重要研究课题。 z . 信息系统向大型化发展 日前信息系统的发展正从单个川户级规模逐步扩大到部门级、 企业级、 行业 级规模: 从局部到全局, 从单用户小系统向中大型系统发展。 今天的计算机信息 系统己小再是从前儿个开发人员就可以完成的中小规模的系统, 而是需要! 扫 儿 - 人、儿t 人共同努力,花费数月,甚至数年时间才能完成的大型信息系统。 3 . 信息系 统计算模式的变化 信息技术的 发展以 及应用环境的 变化不仅使信息系统的 地理范围、 规模以 及 内 容等发生了 重大变化, 而几导 致了 信息系统计算模式的更新与变化。 原有的以 集, ! , 式为主的计算模式逐渐被以分布式为主的计算模式所代替。随着 i n t e r n e t 的兴起和扩大, 分布式的计算模式也经历了由文件/ 服务器模式向客户机/ 服务器 模式和浏览器/ 服务器模式转化的变迁,从而使信息管理技术进入了一个崭新的 阶段。 4 . 开发方式和手段的变化 信息系统的发展与变化不仅表现在自 身的体系结构和信息处理模式的变化, 更主 要的是开发方式和技术手段的变化: i ) 计算机软件事业的发展,产生和形成了一批新型的软件开发工具,如面 向对象的开发工具和 c a s e工具等,在一定程度上提高了软件的开发效 率,提高了软件的可重用性。 2 )局域网/) 域网技术对于地域分布) 泛、 业务层次多的大型信息系统的实 现提供了 技术保障和支持。 s )开放系统和ic n / i p 技术又使不同的系统平台和软、 硬件平台 之间的互操 作性得到技术保障,网络互联变得越来越实际,也越来越重要。 此外, 数据仓库技术、 多媒体技术、 人工智能技术、 系统集成技术等的发展 也为信息系统的建设增添了 新的内容和特色。 随着计算机信息系统不断向网络化、 大型化发展, 系统功能更强, 结构更加 复杂,系统的开发和设计也变得越来越复杂。 1 .需求的复杂性 i )大型信息系统所要完成的各种功能本身就一 ! 分复杂,但还需要考虑到许 多非功能需求,如性能、可靠性等: 2 )人型信息系统的用户通常难于用系统开发人员所能理解的方式准确表达 自己的需求,而且在多数情况下用户木身对系统的需求也不清楚:开发 第一章绪论 人员也很难理解一 些应用领域的专业概念; 3 )在大取信息系统开发过程中用户对系统的需求通常是不断变化的,一方 而山于有些大型信息系统 ( 如证券交易系统)开发周期长,在整个系统 开发期间用户可能不断要求采用最新的和能力更强的设备与计算平台; 另一方而随着系统开发的深入,川户对系统的理解逐步增加,对自己 过 去比较模糊的需求逐渐认识清楚,因而总会有发现了过去遗忘的需求, 或是要修改当前已有需求的情况出现; 4 )某 些大型信息系统开发过程投资巨大,用户不可能为将来的每项新增需 求而重新投资开发新的系统,这就要求所设计的系统能够根据用户将来 的需求来改变或增加系统的功能,这些工作也增加了需求复杂性。 2 .开发管理的复杂性 i )人型信息系统的开发方式一般采用多个开发人员/ 小组相互协作与配合 的工作方式,但是更多的开发人员意味着更复杂的相互通信、更困难的 相互协调,并f l.众多开发人员的水一平、素质与能力难免会有差别,这也 将给开发过程的管理造成困难; 2 ) 日前对软件开发过程缺乏系统、 完格与准确的度量手段,经常要靠主观 的经验对开发过程作出判断,这必然难于对软件开发过程进行准确地管 理与控制,这又会增加大型信息系统开发过程的复杂性。 3 .系统状态的 复杂性 从根本上说大型信息系统主要是由运行在多台计算机之上的应用程序所组 成,每一个程序包括很多变量与控制语句,程序中所有的变量与它们的当前值, 以 及不 n ) 子 在系统中的地址、 拥有的堆栈构成了 该程序的当前状态。 理论_ l 讲, 程 序的运行等效于系统状态的转换,也就是输入状态的变化将引起程序状态的变 化, 程序状态的变化再激发系统输出 状态的变化。如果想要保证系统真正可靠, 就应该测试软件系统所有可能的状态组合, 但这样将引起状态的组合爆炸, 组合 的数日 虽然有限, 却永远无法在有意义的时间内完成这种测试, 所以总有一些设 计之外的外部事件将引起软件系统进入某个事先未预料到的新状态, 这个新状态 如果是失去 控制的, 它将引起系统状态向无法预料的方向 变化, 最终系统的行为 将出 现意想不到的情况,而对大型信息系统, 这种情况是必须要避免出 现的。 4 .设 计与实现中的复杂性 对于某些大型信息系统, 其软件开发人员需要自己设计与 实现从最简单的子 程序、 模块到了系统等所有细一 、 ! a 抽象层次的软件结构, 这种设计与实现方式一 方而给软件开发带来了 极大的灵活性,但又使分析与设计工作的复杂性明显增 加, 11同一时间里软件开发人员既要考虑抽象层次很高的总休功能与设计, 同时 南开大学博上 学位论文 又 小彻不关心如何实现t 7 3 g 否实现这种设计的各种具体技术细节, 软件开发人员 的思维总是在儿个不同的抽象层次上思考问题。 1 .2本文研究背景及意义 开发一个信息系统, 特别是一个人型信息系统, 通常要在多个开发人员( 系 统分析人员、系统设计人员、系统实现人员、系统测试人员、系统维护人员等) 和川户的共同 配合、 协作之下才能完成, 各个开发阶段之间要有很好的 衔接, 是 一个复杂的工程。 而对当 今网络环境卜 规模日 益庞大、 需求和结构越来越复杂的 信息系统,必须认真研究实现系统的技术手段、开发方法和应用对象。 日前国内外大型信息系统开发主要采用生命周期法、 原型法、 结构化方法和 而fi l 对象方法, 经过实践证明, 这些开发方法都有各自 的优点, 但是也都有一定 的缺陷。 i : 命周期法缺点有:1 ) 灵活性差, 需求的微小变化或扩 一 充都需要高昂的维 护费用: z )软件重用率低;3 )开发周期长, 产品不能完全符合用户需求:4 ) 系统的效率低卜 ,不能有效提高劳动生产率。 原型法从一定程度上解决了 生命周期法中的一些问题, 但是它仍然有一些不 足之处:1 ) 原型的设计和生成没有良 好的工具: 2 ) 开发周期仍然较长, 开发过 程难以控制。 结构化方法的主要缺点是:1 ) 不能适合开发大型信息系统的需求: 2 ) 软件 复用的层次和效率低:3 )不能很好地适应系统的进化。 而向 对象方法是新型的信息系统开发方法, 但是也有一定的局限, 例如 面向 对象方法中对象的确定有时会因客观边界模糊而难以 确定, 这样就很难保证软件 描述的正确性。 所有这些问 题以及客观_ l 对软件需求越来越苛刻的要求表明: 作为信息系统 尤其是大型信息系统的开发人员, 己 经不能再沿用原来手工作坊式的开发方 式, 必须探索一种新的、 工程化的信息系统开发方法, 这不仅具有学术价值, 而 几 有着较高的应用价值和广阔的应用前景。 1 . 3本文所做工作 针对人型信息系统开发所面临的问题, 结合我们近年来在金融信息系统开发 方面所做的研究和开发工作, 我们进行了大型信息系统开发方法的研究, 木文主 要做了 以下 儿个方面的工作: 1 )分析了 当前计算机信息系统的发展趋势和系统开发所而临的问题,系统 第帝绪论 地总结j 信息系 统开发方法的发展历程和研究现状, 深入分析了 生命周 期法、原型法、结构化方法和而向对象等常用软件工程方法的特点,并 指出了 它们的不足之处。 2 )针对网络环境下 信息系统日 益大型化、复杂化的特点和更快、更好地开 发软件产品的需求,根据我们这些年从事软件开发所积累的一些经验, 提出f 一套适用于大型信息系统的模型化开发方法l i s - m d d m , 从基本概 念、阶段划分等方而对该方法进行了论述,并以网上证券交易系统的开 发过程为例进行说明。 3 )系统地总结了 软件复用层次和意义,就软件构件、 框架和设计 模式等三 种当前主 要的软件复用方式进行了深入的分析, 作为l i s - m d d m 方法的补 充,给出了 基于构件/ 设计模式/ 框架的系统开发方法的基本过程,并以 证券交易系统客户端为例给出了 一个框架设计方案, 最后总结了j a v a 语 言 类库中的典型设计模式。 4 )对系统评价的一般步骤进行了探讨,论述了目 前流行的评价理论和评价 方法,给出了层次分析法、模糊评价法、人工神经网络评价方法基木步 骤。 本课题源于大津ili ii 然科学基金项口 大型信息系统模型化开发方法与 应川 研究 ,己 于2 0 0 1 年1 2 月完成并经过专家组验收。 1 . 4本文的组织结构 全文共分七章: 第一章, 绪论。简述f 信息系统网络化、大型化、复杂化的发展趋势, 介绍 了 本文的研究背景、研究意义以及完成的主要工作。 第 几 章, 信息系统开发方法综述。 系统地总结了信息系统开发方法的发展和 研究现状, 介绍了 生命周期法、 原型法、 结构化方法和面向对象等常用软件工程 方法的基木概貌,井深入分析了这些方法的特点,指出了 它们的不足。 第三章,统一建模语言u m l . u m l 是本文使用的主要建模工具,本章介绍了 统一建模语汽u m i 产产 1 毛 的技术背景、 语言概貌以及川例图、 类图、 对象图、 包图、 状态图、 顺序图、 合作图、 活动图、 构件图、 配置图等对大型信息系统建模和开 发起重要作用的u m i 图形的表示方法。 第四章, 大型信息系统模型化开发方法。 针对信息系统日益大型化、 复杂化 的特点和更快、 更好地开发软件产品的需求, 根据我们这些年从事软件开发所积 累的一些经验,提出了 一套适用于大型信息系统的模型化开发方法 l i s - m d d m , 从in本概念、 阶段划分等方而对该方法进行了 论述, 少 卜 以网! 几 证券交易系统的开 . 5 . 南开大学博士学位论文 发过程为例进行说明。 第五章, 软件复用技术。软件复用可以减少在软件开发中的重复劳动, 提高 软件开发的效率和质量, 对于大型信息系统的开发具有重要意义。 本章概述了软 件复用的定义、 层次和意义, 就软件构件、 框架和设计模式等三种当前主要的软 件复用方式进行了深入的分析,作为 l i s - m d d m方法的补充,给出了基于构件/ 设计模式/ 框架的系统开发方法,并以证券交易系统客户端为例给出了一个框架 设计方案,最后总结了j a v a 语言类库中的典型设计模式。 第六章, 信息系统评价方法。 本章就信息系统的评价问题进行了论述, 介绍 了系统评价的相关概念, 并分六个阶段( 评价系统分析阶段、 评价资料收集阶段、 评价指标选择阶段、 评价函数确定阶段、 评价值计算阶段、 综合评价阶段) 对系 统评价的一般步骤进行了探讨。 论述了目 前流行的评价理论 ( 效用理论、 确定性 理论、不确定性理论、非精确理论、 最优化理论等) 和评价方法 ( 关联矩阵法、 关联树法、层次分析法、 模糊评价法、人工神经网络评价方法等) ;给出了层次 分析法、模糊评价法、人工神经网络评价方法一般步骤。 第八章, 总结与展望。 对全文的工作 进行了 一个总结, 并指出 今后研究的方 向。 第二章信息系统开发方法综述 从2 0世纪4 0年代至今,计算机信息系统的开发大致经历了 三个阶段, 即 5 0 6 0 年代的 程序设计 阶段、 6 0 7 0 年代的程序系统阶段和7 0 年代以 来的软件 工程 阶 段。 表2 - 1 给出了 信息系 统 三个发展阶 段一些主 要 特征的 对比 t困 。 表2 - 1 计 算机信息系统发展的三个时期及其特点 时期特点程序设计程序系统软件工程 包含的内容程序程序及说明书程序、文档、数据 主要程序设计语言汇编及机器语言 高级语言 高级语言 工作范围程序编写包括设计与测试软件生存期 需求者程序设计者本人少数用户市场用户 开发的组织个人开发小组开发小组及大中型软 件系统开发机构 系统规模小型中小型大中小型 决定质最的因素个人程序技术小 组技术水平 管理水平 开发技术和手段子程序、程序库 结构化程序设计数据库、开发工具、 开发环境、工程化开 发方法、 标准与规范、 网 络及分布式开发、 面向 对象技术 维护责任者程序设计者开发小组专职维护人员 硬件特征价格高、 存储量小、 工作可靠性差 价格降价、 速度、容 量及可靠性明显提高 向超高速、 大容量、 网 络化方向 发展 系统特征完全不受重视开发技术发展不能 满 足需要、出 现软件危 机 开发技术有进步, 但 未获突破性进展, 价 高,未完全摆脱软件 危机 自6 0 年代以 来, 随着计算机的 广泛应用, 软件生产率、软件质量远远满足 不了 社会发展的需 求, 成为社会、 经济发展的制约因素。 当 时, 软件开发虽然有 一些工具的支持, 如编译联接器等, 但基本上还是依赖开发人员的个人技能, 没 有可遵循的原理、 原则和方法, 也缺乏有效的管理。 软件的可靠性、 可维护性较 差,而且往往超出预期的开发时间要求。 6 0年代中期开始爆发了 众所周知的软 件危机。 软件危机是指在计算机软件开发和维护过程中所遇到的一系列问题, 例 如: 南开大学博士学位论文 ( 1 ) 软件产品不可靠,满足不了 用户的需求,甚 至无法使用; ( 2 )交付使用的软件不易进化,以致同样的软件多次重复开发: ( 3 ) 软件生产率低下,基本上处于手工作坊式的生产模式。 产生软件危机的原因很多, 除了与软件本身固有的 特征有关外, 还与软件开 发模式、软件设计方法、软件开发支持工具与软件开发管理方法等有关。 为了 克 服这一危机,在 1 9 6 8 , 1 9 6 9 年连续召开的两次著名的n a t o ( n o r t h a t l a n t i c t r e a t y o r g a n i z a t i o n北大西 洋公约组 织) 会议 上, 首次 提出了 软 件 工程这一术语。 软件工程是开发、 运行、 维护和修复软件的系统方法, 其基木思 想是把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法 结合起来, 采用工程的概念、 原理、 技术和方法来开发和维护软件, 以期解决“ 软 件危机” 。 软件工程的发展大致经历了两个时期。 2 0 世纪6 0 年代末到8 0 年代初是软件 工程发展的第一个时期, 在这个时期, 围 绕软件项目 开展了 有关开发模型、 支持 工具与 开发方法的 研究, 提出了 软件开发的瀑布模型、 结构化设计 方法和结构化 程序设计 语言 ( 如a d a . p a s c a l 和c 语言等) 。 2 0 世纪8 0 年代初以 后,软件工 程进入了 其发展的第二个时期, 围绕软件工程过程开展了有关软件生产技术, 特 别是软件复用技术和软件生产管理的研究和实践, 提出了具有广泛应用前景的面 向 对象方法和相关的语言, 并大力开展了计算机辅助软件工程 ( c a s e ) 的研究与 发展,各类c a s e 产品相继出现。近几年来,软件工程的研究己从过程 ( 管理) 转向 产品( 开发) , 更加注重新的程序开发模式和大规模开发环境的研究。同时, 高智能、 高自 动化的c a s e 成为软件工程技术研究的热点。 实践表明, 按工程化的原则和方法组织软件开发工作是有效的,也是摆脱软 件危机的一个主要出路。 软件研究人员一直不断探索新的工程化软件开发方法, 至今己 形成生命周期 法、原型法、 结构化方法、面相对象方法等多类软件开发方法, 并且还在不断发 展、完善。 2 . 1 软件生命周期法 2 . 1 . 1软件的生命周期 软 件生命周期 ( s o f t w a r e l i f e c y c l e ) 是指从软件立项开发到最终消亡的 全过程。 它可以 划分为制定计划、 需求分析、 软件设计、 编码、 测试、 运行与维 护六个阶段c i 第二章信息系统开发方法综述 制定计划阶段 ( p l a n n i n g ) : 确定系统的目 标, 提出 系统的功能、 性能、 接 口、 可靠性、 可用性等方面的基本要求, 进行系统开发的可行性分析, 提出可行 性分析报告,制定系统开发的实施计划。 需求分析阶段 ( r e q u i r e m e n t a n a l y s i s ) :对系统的需求进行详细的分析, 并给出明确的定义, 编制系统需求分析说明书和初步的用户手册, 作为今后系统 开发工作的依据。 软件设计阶段 ( s o f t w a r e d e s i g n ) : 根据系统的需求设计系统的体系结构 和软件模块。 软件设计一般可再分为两个阶段: 概要设计和详细设计。 在概要设 计中, 主要任务是设计软件系统的总体结构, 即模块结构, 定义每个模块的主要 功能和模块之间的联系。 在详细设计中, 主要任务是进行模块设计, 详细定义各 模块的数据结构、 算法、 接口 等, 作为以 后编码工作的依据。 如果系统中使用了 数据库, 则在软件设计阶段还要进行数据库的 逻辑设计和物理设计。 在软件设计 工作完成时应提交软件设计说明书。 编码阶段 ( c o d i n g / p r o g r a mmi n g ) :主要任务是选择程序设计语言和工具, 编写计算机可以 接受的软件代码程序,实现系统的各项功能。 侧 试阶段( t e s t i n 砂: 主 要任务 是 测试软 件, 排除 错误, 确保开发 得到的 软 件的功能 和性能达到规定的要求, 保证软件的质量。 软件测试阶段包括两方面的 工作: 测试和排错 ( d e b u g ) . 测试是发现软件中的错误, 排错是找出软件中的错 误, 并予以纠正。 软件测试一般分为3 个步骤: 单元测试、 组装测试和系统测试. 在单元测试中, 主要任务是对单个模块进行测试, 纠正其在功能与结构方面存在 的 错误。 在组装测试中, 按一定的顺序把模块组装起来, 检测其功能、 接口 等是 否达到要求。 在系统测试中, 测试己 完成的系统软件是否合格, 是否满足原设计 的各项功能、 性能、 可靠性等指标, 是否能够提交使用。 一般地, 软件的测试是 与 软件的编码结合在一起交叉进行的。 运行与 维护阶段( r u n n i n g 胭s i n t e n a n c e ) : 首先必须把己 开发完成的软件系 统安装到实际的工作环境中试运行, 对系统进行考验, 发现遗留的问 题并予以改 进, 然后系统才能正式投入运行使用。 在系统的运行使用过程中可能会陆续发现 一些以前未曾 发现的软件错误或缺陷,也可能会发现一些对系统的新的功能需 求, 也可能软件的运行环境需要变更, 于是对系统要进行修改和完善。 这个一边 运行一边维护的阶段将一直进行到软件系统报废、软件生命终结为止。 在软件的生命周期中, 软件的需求分析和设计是非常重要的两个阶段, 同时 它们也是任务最为复杂和艰巨的两个阶段, 需要解决许多问 题圆: 1 ) 问 题域和系统责任 问题域 ( p r o b l e m d o m a i n ) 是指待开发的系统的应用领域,即在现实世界中 南少 f 大学博 1 二 学位论文 待开 发系 统将处理的% i v . 务范i词 ,有时也称为业务领域 ( b u s i n e s s d o m a i n ) . 系统责仟 ( s y s t e m r e s p o n s i b i l i t i e s ) 是指待开发的系统应具备的职能。 问题域 7 系统责仟密切相关,似两者的侧重点不同。 准确、 透彻地理解问题域与 系统责任是软件系统开发的首要任务。 但是要做 到这一点很不容易, 其原因常有: 软件开发人员茱 k 往不是领域专家, 他们对业务 领域的理解深度有限, 而参 -1 系统分析的领域专家又往往对软件开发的一些要求 和方法不熟悉, 难以 恰当 地归纳和提供软件系统分析所要求的领域知识。 实际_1 几 , 对许多待开发的系统的要求不仅是简单地对现实世界现有状况进行模拟, 而且是 要 利川计算机的优势, 尽可能地川 1 动化代林人工操作, 川先进的规范化的管理 模式取代传统的管理模式, 这些都有赖于分析人员有更丰富的理论知识和更高的 系 统分析水一平。 此外, 开始时问题的边界和结构定义可能就不清楚和有不少问 题, 解决方案也有很大程度的不确定性。系统分析员在系统开发项目开始时经常发 现, 川厂 对自己 究竟想要什么并不清楚 ( 边界和结构定义不清楚) , 这导 致问 题、 的解决方案也j 卜 不 卜 分确定。 l ) 人员交流i j 通信障碍 软件开发是一项创造性的思维活动,在软件开发过程中人员的交流 卜 分频 繁。软件开发项日 的有关人员包括用户、 领域专家、 系统分析员、 软件设计员、 程序员、 测试员、 项日 管理员 等, 需要 经常交流, 探讨系统的需求, 明 确软件成 分的定义,协商系统的结构与 衔接, 进行工作的交接等,因而,软件工程是“ 面 i; d 人 ( p e o p l e - o r i e n t e d ) ”的。 通信障碍常是人员 交流中的一个困 难。 例如, p i 户、 领域专家或项口 管理员 石小懂、 不明自软 件开发人员 表达问 题的 概念、 术语、 表示法, 反之亦然。 因 此, 需要有一套通) u 的思维方法和便于交流的 “ 语言” ,包括系统的模型、术语、表 示法、文档 i 格式等,为人员 之间的交流架设 一座桥梁。 3 ) 系统需求变化 y 3 软件开发过程中系统的需求常不断地发生变化。 这种变化可能由多种原因 引起。 最常见的是川户对系统的要求发生改变。 在软件开发之初, 用户对系统的 n i; 0 求的认识 可能不够深入, 随着软件开发的 进展, 川户提出 对早 期的系统需求进 行修改和补充: 也可能客观情况发生了 变化, 用户提出了 新的系统需求。 其他如 经费、技术因素、竞争因素等都有可能引起系统需求的变化。 系统需求变化是令软件开发人员极其头痛的问题, 如果把握不当, 辛辛苦苦 开发完成的系统有可能得不到用户的满意和肯定。 因此, 一个好的软件开发方法 和技术要 能有效地应付系统需求的变化。 4 ) 软i ii 复1 1 l 第二章信息系绕开发方法综述 软件复厂 u 是提高软件开发效率、 改善软件质量的 重要途径。 正如一 座房屋由 许多门、窗、 墙、 楼板等构件构成,一台机器由许多零部件构成一样,一个软件 系统也是山 许多软 件构件构成的, 其中 很大部分可以复用已 有的软件构件, 无须 重复设计和编程。 这需要解决复用构件的提取与制作、 复用构件库的组织、 复用 构件的检索、 复用构件的组装等技术问题。 2 .1 .2软件生命周期的派布模型 传统的瀑布模型 ( w a t e r f a l l m o d e l )是建立在软件生命周期上的一个软件 开发的管理模型 ( 参见图 2 . 1 ) ,它规定了软件生命周期上各阶段的软件工程活 动: 制定计 划、 需求分析、 软件设计、 编码、 测试、 运行与维护。 各阶段严格按 顺序进行, 前一阶段的任务没有完成, 不能 进入下 一阶段工作; 每一阶段的工作 成果需经过评审, 评审确认无误, 才能 作为下一阶段的输入和依据; 若经过评审 认为有问 题而且问 题源于前 面阶段, 则返回到前一阶段甚至更前的阶段重做。 在每一个阶段结束时要求交出规定的 软件文档资 料, 作为评审的依据和下一 阶段工作的依据, 如计 划阶段的 可行性分析报告 和软件开发计 划、 需求分析阶段 的系统需求分析说明书、 设计阶段的系统软件设计说明书、 编码阶段的源程序清 单、测试阶段的测试报告、运行与维护阶段的软件维护报告等。 图2 . 1软件生命周期的 派布模型 2 . 1 . 3软件生命周期法的软件设计准则 1 . 认识抽象 软件开发的过程就是从现实世 界的问 题域向 软 件系统的映射,其中抽象是认 . 1 1 . 南开大学博士学位论文 识复杂现象的强有力的思维方法。 在建立软件的设计模型时常采用分层抽象的办 法。 在最高的抽象层次_ l , 可以 采用问 题的环境语言概括地描述问题的解法; 在 较低层次卜 ,则采用过程化的方法描述问题的解法。 抽象的内容包括过程抽象、数据抽象、控制抽象等。抽象与模块化相结合, 软件生命周期的每一个步骤都是对软件问题解法的抽象层次的一次精化。 当 软件 的源代码编写完成时,即完成了最低层次的抽象,完成了软件系统的开发。 z .模块化 软件模块 ( m o d u l e ) 是由数据说明、 可执行语句等构成的一段程序, 它可以 实现某个功能。 软件模块有唯一的名称, 可以通过模块名标识和调用. 例如, 程 序中的p r o c e d u r e ( 过程) , f u n c t i o n ( 函 数) , s u b r o u t i n e ( 子 程序) , m a c r o ( 宏) 、 b l o c k( 块) 等都可以 是模块. 模块化就是把一个程序划分成许多模块, 每个 模 块实现一个子功能, 模块与模块之间有机地关联且相互调用。 模块的集合就是程 序的整体。 模块化把一个复杂的软件系统的设计问 题转化为若干个较小的、 容易处理的 模块的设计问题, 便于分别解决. 而且, 模块化设计要求模块的独立性强, 模块 之间的祸合强度弱, 能够有效地缩小程序中出现的错误的影响范围, 增加了 软件 的可靠性和软件开发效率。 3 . 信息隐蔽和局部化 信息隐蔽是指每个模块的实现细节( 过程和数据)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论