




已阅读5页,还剩111页未读, 继续免费阅读
(计算机应用技术专业论文)软件工程的实施与欧洲猫网络监控系统研发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
y 6 5 4 1 3 8 软件工程的实施与欧洲猫网络监控系统研发第一章,课题基本情况概述 软件工程的实施与欧洲猫网络监控系统研发 计算机应用技术专业 研究生:陈化指导教师:游志胜 摘要 空中交通指挥系统( a t m ) 是保证航空飞行安全、高效的关键 系统,它由复杂的硬件系统和软件系统组成,如何有效的监视并 控制这些硬件、软件系统的运行状态是现代空管技术中的重要研 究课题之一,对于自 动化空管系统的安全有效运行具有重大意 义。本文主要深入研究了如何有效地结合软件工程研发自 动化空 管系统网络监控软件并深入分析了其中一些有创新性、有价值的 设计难点。 t h a l e s a t m 公司研制的欧洲猫系统是著名的空中交通指挥 系统,目 前在数十个国家广泛使用,在国际上处于领先地位。本 文作者有幸于2 0 0 3 年初开始参与t h a l e s a t m 公司欧洲猫空管系 统的网络监控软件t k s u p 的研发,纵观整个t k s u p 的研发,有两 大方面非常具有研究价值,首先是t k s u p 的研发从始自 终运用了 软件工程规范,软件工程是保证软件项目高质量完成的规范,因 此软件工程在t k s u p 项目中的实施对保证项目 有效进行具有决定 性的意义;同时, 在t k s u p 研发过程中我们遇到了不少的设计难 点,这些设计难点也有相当深入探讨的价值,正是基于以上两方 面原因,笔者希望以t k s u p 项目的具体实施为基础,探讨如何有 效地将软件工程理论同具体软件项目 的开发实践相结合,并同时 对一些有创新性和难度的设计环节进行深入研究分析。 文章首先由第一部分交待了课题背景,根据课题的背景我们 分析论证了课题的意义。在文章第二部分,我们主要介绍了软件 工程的主要理论,希望通过理论的介绍为进一步的分析作一个很 四川大学计算机学院 e , , , 重 软件工程的实施与欧洲猫网络监控系统研发 好的铺垫。在文章的第三部分我们着重讨论了t k s u p 项目 如何结 合软件工程进行实施,这也是全文最重要的一部分,在这一部分 中。我们重点分析了需求分析、设计、实现和测试四个阶段的实 施情况,并分析了其中一些具有创新性研究价值的技术解决方 案,包括设计架构的取舍、开发技术的选择、e v e n t - d r i v e n 机制 设计、s n m p 协议使用机制设计、m u l t i c a s t 使用机制的设计、令 牌的协商机制的设计等。文章的最后部分,我们对t k s u p 项目 中 软件工程的实施进行了总结,并对t k s u p 未来的发展进行了展 望。 关键词 空 管系 统、 网 络监 控、 软 件 i 程、 e v e n t 一 d r i v e n , s n m p , m u l t i c a s t . t o k e n . 四川大学计算机学院 软件工程的实施与欧洲猫网络监控系统研发 a b s t r a c t a i r t r a f fi c ma n a g e m e n t ( a t m) s y s t e m i s u s e d f o r g u a r a n t e e i n g s a f e ty a n d e ff e c t i v i ty o f a v i a t i o n , t h e s y s t e m c o n s i s t s o f c o m p l e x h a r d w a r e s y s t e m a n d s o ft w a r e s y s t e m . wi t h g r e a t s i g n i f i c a n c e , t o e ff e c t i v e l y m o n i t o r a n d c o n t r o l t h e s e s y s t e m s i s a m a j o r re s e a r c h s u b j e c t i n m o d e r n a i r t r a f f i c m a n a g e m e n t t e c h n o l o g y re g i o n . t h i s a rt i c l e s t u d i e s h o w t o e ff e c t i v e ly c o m b in e s o ft w a r e e n g i n e e r i n g w i t h a t m s y s t e m n e t w o r k m o n i t o r i n g s o ft w a re d e v e l o p m e n t , a n d a n a ly z e d s o m e c r e a t i v e a n d t o u g h d e s i g n p o i n t s t h a l e s a t m p ty, l t d i s t h e w o r l d s l e a d i n g p r o v i d e r o f a i r t r a f f i c m a n a g e m e n t s y s t e m , m a i n p r o d u c t e u r o c a t a t m s y s t e m c o n s i s t s o f c o m p l i c a t e d h a r d w a r e a n d s o f t w a r e i s b e i n g w i d e l y u s e d i n a l l p a rt s o f t h e w o r l d . t h e a u t h o r h a s j o i n e d s i n c e e a r l y 2 0 0 3 i n t h e d e v e lo p m e n t o f n e t w o r k mo n i t o r in g p r o j e c t o f e u r o c a t s y s t e m , p r o j e c t n a m e t k s u p . r e v ie w i n g t h e e n t i r e d e v e l o p p r o c e s s , t w o p a r t s a r e f a i r l y v a l u a b l e t o b e a n a l y z e d , fi r s t l y s o ft w a r e e n g i n e e r i n g h a s b e e n c a r r i e d t h o u g h o u t t k s u p d e v e l o p m e n t , s o ft w a re e n g i n e e r i n g i s a s e t o f m e t h o d t o g u a r a n t e e g o o d s o ft w a r e q u a l i ty , s o f o r c e s o ft w a r e e n g i n e e r i n g h a s g o t a c r u c i a l p o s i t i o n f o r t h e s u c c e s s o f t k s u p p ro j e c t , b e s i d e s s o f t w a r e e n g i n e e r i n g , i n t k s u p d e v e l o p m e n t w e v e m e t q u i t e a l o t o f d e s i g n h o t s p o t s t h a t o w n g o o d s i g n i f i c a n c e t o b e a n a ly z e d . o w i n g t o t h e s i 娜f i c a n c e o f t h e s e 2 p o i n t s , t h e a u t h o r i n t e n t s t o m a k e b as e fr o m t h e i m p l e m e n t a t i o n o f t k s u p t o a n a l y z e h o w t o e ff e c t iv e l y i n t e g r a t e s o ft w a re e n g in e e r i n g m e t h o d w i t h in p r a c t i c a l p r o j e c t a n d w e l l s im u l t a n e i ty a n a l y z e s o m e g o o d d e s ig n p o i n t s t h a t a r e c re a t i v e a n d t o u g h . 四川大学计算机学院 软件工程的实施与欧洲猫网络监控系统研发 f ir s t p a rt o f t h i s a rt i c l e f o c u s e s o n t h e b a c k g r o u n d o f t h i s s u b j e c t , b a s e d o n t h e b a c k g r o u n d w e w i l l a n a l y z e t h e s i g n i f i c a n c e o f s u b j e c t . t h e s e c o n d p a rt o f t h i s a r t i c l e f o c u s e s m a i n l y o n t h e p r e s e n t a t i o n o f s o ft w a r e e n g i n e e r i n g t h e o ry , t r y i n g t o m a k e g o o d m a tt i n g f o r t h e n e x t p a r t . i n t h e t h i r d p a rt a l s o a s t h e m o s t i m p o r t a n t p a rt o f w h o l e a rt i c l e , w e w i l l a n a ly z e h o w re q u i r e m e n t a n a l y z e p h a s e , d e s i g n p h a s e , i m p l e m e n t a t i o n p h a s e a n d t e s t p h a s e a r e m a n a g e d s u c c e s s f u l ly w it h s o ft w a r e e n g i n e e r i n g , a n d w e l l a l s o a n a l y z e s o m e i m p o r t a n t t e c h n i c a l p o in t s i n c l u d i n g a r c h i t e c t u re d e s i gn, d e v e l o p t e c h n o l o g y c h o o s i n g a n a l y s i s , e v e n t - d r i v e n m e c h a n i s m d e s i g n , s n mp u t i l i z a t i o n d e s i g n , m u l t i c a s t u t i l i z a t i o n d e s i gn, t o k e n n e g o t i a t i o n m e c h a n i s m d e s i g n , e t c . i n t h e l a s t p a rt o f a r t i c le w e w i ll s u m m a r i z e s o ft w a r e e n g i n e e r i n g i m p l e m e n t a t i o n i n t k s u p p r o j e c t , a n d lo o k a t s o m e p e r s p e c t i v e s f o r f u t u r e a c t i o n o n t ks up . k e y w o r d a t m, n e t w o r k mo n i t o r i n g , s o f t w a r e e n g i n e e r i n g , e v e n t - dr i v e n , s nmp , mu l t i c a s t , t o k e n 四川大学计算机学院 软件工程的实施与欧洲猫网络监控系统研发第一章,课题基本情况概述 第一章 课题基本情况概述 , . ,课题背景 航空交通目 前已 经成为了一种主要的交通方式,每天,在世 界各大机场都有数百甚至上千架飞机起降,空中交通的安全保障 就成为了一个非常重要的课题,目 前空中交通管制主要采用自 动 化空管系统来保障航空交通的安全、实现航空交通的有序化和有 效化,显然,自 动化空管系统是保障航空飞行秩序和安全的一个 极为关键的部分。 传统的空管系统采用程序管制方式,空中指挥主要依靠管制 员通过无线电和飞行员对话,主要的辅助操作如进程单的填写、 起飞报落地报的拍发都是通过手工方式完成, 这种手工管制方式 的特点是管制过程比较可靠、发生故障概率小,但是它的缺点也 很明显,例如管制效率差、管制员的工作量大等。随着空中交通 流量的急剧增长, 这种以手工管制为基础的方式己 经不能够适应 形式的发展,上个世纪七十年代末开始,自 动化空管系统得到了 很大发展。 自 动化空管系统的主要特点是采用i t 设施为基础的管制系 统,各种数据的计算和处理由系统自 动完成,管制员的主要精力 可以 集中在对飞机的指挥上。这样带来的好处是整个系统的处理 能力大大增加、管制员的劳动强度大为减轻、对各种飞行数据的 管理更为科学、有效。自 动化空管系统通常由下图所示的几个部 分组成: 四川大学计算机学院8 软件工程的实施与欧洲猫网 络监控系统研发第一章,课题基本情况概述 笔者从2 0 0 3 年初开始参与成都双流机场e u r o c a t 项目,主要 工作是参与e u r o c a t 系统网络管理软件的研发,e u r o c a t 系统网 络管理软件是一个实时性要求很强的软件,而应用软件工程规范 对此软件进行开发正好符合我的专业方向“ 实时软件工程”,因 此,在四川大学计算机学院和t h a l e s a t m 公司的共同协调下,我 的毕业设计课题选定为e u r o c a t 系统网络监控软件的研发。从锻 炼的角度出发,公司决定在公司资 深工程师s t e p h e n b r u c e , m o o n s u y i 和s a m u e l l u 的指导下由我来主要完成整个系统的开 发工作。新的e u r o c a t 系统网络监控软件项目 取名为t k s u p ,即 t e c h n i c a l s u p e r v i s i o n . 1 . 3课题目 标和意义 从以上的一些课题背景介绍中我们可以清楚的看到,课题的 目标主要定为开发操作级别的,网络环境下的欧洲猫监控软件, 运用软件工程规范、高质量的完成研发,不断完善并逐步替代昂 贵的o a s y s 系统。本课题的意义主要包括以下几个方面: 首先在经济效益方面,t k s u p 的成功开发和不断完善将会逐 步取代o a s y s 系统,这样t h a l e s a t m 公司以后的每个项目 都可以 节约至少数万美元的许可证费用,经济效益巨大。 其次在学术方面,通过参与此项目的开发,我将可以学到完 整的软件开发流程管理知识, 积累宝贵的科研经验,并能够在一 些具体开发技术上有所提高。 此外,从软件的功能上来说,我们针对系统的特点自己全面 定义了需求,这将有助于研制出对t k s u p 更加有针对性的监控软 件,增强t k s u p的专有功能。 四川大学计算机学院1 4 软件工程的实施与欧洲猫网络监控系统研发第一章,课题基本情况概述 可以看到,t k s u p 项目 作为我的硕士毕业设计课题,其课题 难度、意义和工作量都是很有分量的,此项目的完成将会有力的 支撑我的毕业论文。 1 . 4本文主要研究目 标 目 前,t k s u p 项目已 经完成,主要工作量包括完成代码量 1 5 0 0 0 余行,完成各种英文文档2 0 0 余页等。 本文将根据作者在近一年的研发过程中积累的一些经验和体 会,对软件工程在工业软件中的实施和软件设计中一些创新点和 难点进行分析,总的目 标是希望能够通过这些讨论、分析在软件 工程的实施和网络监控软件的设计等方面对读者有所帮助。 四川大学计算机学院1 5 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程埋论概述 第二章 软件工程理论概述 2 . ,软件工程简介 2 . 1 . 1 软件工程产生背景及定义 随着计算机硬件技术进步,计算机生产成本不断下降,导致 更广泛的计算机应用,由之导致的软件生产规模不断增大,软件 本身的复杂性不断增加,使研制周期显著变长,正确性难以保 证,软件开发费用上涨,生产率急剧下降,从而出现了人们难以 控制软件发展的局面,称之为软件的危机,其主要表现主要有以 下几个方面: ( 1 )软件代价高 ( 2 )难于控制开发进度 ( 3 )工作量估计困难 ( 4 )软件质量低 ( 5 )软件修改维护困难 ( 6 )软件生产效率底下 针对由于软件开发中遇到的困难,学术界在6 0 年代末 ( 1 9 6 8 )提出了软件工程作为解决方案。其定义归纳如下: 软件工程是一类求解软件的工程,它应用计算机科学,数学 以及管理科学等原理,借鉴传统工程的原则、方法,创建软件以 达到提高质量、降低成本的目的。其中计算机科学、数学用于构 造模型与算法,工程科学用于制定规范、设计范型、评估成本以 及确定权衡,管理科学用于计划、资源、质量、成本等管理。软 件工程是一门指导计算机软件开发和维护的工程学科。 软件工程的主要目标可以归纳为以下几点: ( 1 ) 付出较低的开发成本 四川大学计算机学院1 6 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 ( 2 )达到要求的软件功能 ( 3 )取得较好的软件性能 ( 4 )开发的软件易于移植 ( 5 )需要较低的维护费用 ( 6 )能按时完成开发工作,及时交付使用 2 . 1 . 2 软件生存周期 软件生存周期 ( s o f t w a r e l i f e c y c l e )指软件产品从考虑其 概念开始,到该软件产品不再能够使用为止。一般包括问题定义 可行性研究阶段、需求阶段、设计阶段、代码实现阶段、测试阶 段、以及运行和维护阶段六个阶段。 ( 1 ) 问 题定义 可行性研究阶段 ( s y s t e m a n a l y z e a n d d e s i g n ),这一阶段又称为软件计划阶段,主要工作是通过和用 户交互弄清项目 性质、目 标、规模;用最小的代价确定问题定义 阶段所确定的系统目 标和规模是否现实,所确定的问题是否可以 解决,系统方案在经济上、技术上和操作上是否可以接受。这一 阶段的主要产品是系统定义文档 ( s y s t e m s e g m e n t s p e c i f i c a t i o n , s s s )、系统设计文档 ( s y s t e m s e g m e n t d e s i g n d o c u m e n t , s s d d )。 ( 2 ) 需求分析阶段 ( s p e c i f i c a t i o n ),在这一阶段,系统分 析人员和用户密切配合,确定软件必须做什么,具备哪些功能, 并建立起软件的逻辑模型。所有的结论性成果都必须形成文档, 这 一阶 段的 主要 产品 是软 件需 求 说明 书( s o f t w a r e r e q u i r e m e n t s p e c i f i c a t i o n , s r s ), s s s 文档和s r s 文档是以后设计、实 现、测试等各阶段的参照基础。 ( 3 ) 设计阶段 ( d e s i g n ),设计阶段分为总体设计 ( p r e l i m i n a r y d e s i g n )和详细设计 ( d e t a i l e d d e s i g n )两个阶 四川大学计算机学院1 7 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 段。总体设计的主要工作是建立软件的总体结构、模块组成、层 次结构关系等大框架。详细设计的主要工作是针对单个模块设计 内部结构和算法,给出模块的过程性描述,不需要编写代码。因 此这一阶段又称为算法设计阶段。 这一阶段的主要产品是软件设 计文档 ( s o f t w a r e d e s i g n d o c u m e n t , s d d )、界面设计文档 ( i n t e r f a c e d e s i g n d o c u m e n t , i d d )。 ( 4 ) 代码实现阶段 ( c o d i n g ), 这一阶段的主要任务是将设计 阶段的模块结构、 算法用代码实现出来,主要产品是源程序代码 ( s o u r c e c o d e )。 ( 5 ) 测试阶段 ( t e s t i n g ), 测试阶段的主要任务是尽可能多 的发现和排除以前各阶段中产生的各种错误。一般分为单元测试 ( u n i t t e s t )、集成测试 ( i n t e g r a t i o n t e s t )和有效性钡 j 试 ( v a i d a t i o n t e s t )。 单元测试的任务主要是查找单个模块在中 的错误。集成测试的任务主要是将相关模块集成起来并进行测 试,主要查找各模块接口上存在的问题。有效性测试的任务主要 是按需求说明书上的各项功能对软件产品进行测试,看是否达到 用户需求。这一阶段的主要产品是测试报告,包括测试计划,测 试用例和测试结果等。 ( 6 ) 运行和维护阶段 ( m a i n t a i n ),这一阶段是软件生存周期 中时间最长的阶段。维护的目 的是使软件在这段时期内保证用户 需求、增强软件功能、延长软件使用寿命。每一次维护活动都应 该准确记录下来形成正式文档资料保存。 这一阶段最重要的文档 是ibl题报告文档 ( p r o b l e m c r e a t i o n r e p o r t , p c r )。同硬件产 品不同,任何软件产品提交给用户后都会有各种b u g ,每当发现 了b u g , 用户就可以 建立p c r 文档报告问 题,研发工程师将根据 用户报告的情况召集相关人员进行研究,确认是否接受这个 p c r 。如果决定接受此p c r ,公司将立即安排资源处理此p c r ,尽 快解决问题;如果经过研究认为这不是一个软件质量问题,公司 四川大学计算机学院1 8 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 将提交正式报告给用户阐释此问题。所有 p c r 应该以数据库为基 础进行保存、维护,以便将来使用。 需要特别注意的是,以上的每个阶段都必须形成正式的文档 资料。这是下一阶段工作的基础,也是项目管理的基础部件。软 件生命周期中各阶段产生的文档如下图。 f s sp d s y s t e m r e q u ir e m e n t a n a ly s i s a n d d e s 匆 n_ s s ss s r 1- 一tr 一 p c r n-一9-一19一-1111 庵-七-.一-a 0-一c-不一-九 图4 ,软件生存周期结构图 2 . 1 . 3 软件开发模型介绍 软件开发模型是指软件开发全部过程、活动和任务的结构框 架,它是指导软件开发的一个框架性模型。主要的软件开发模型 包括有浮布模型 ( w a t e r f a l l m o d e l )、原型模型 ( p r o t o t y p e m o d e l )、增量模型 ( i n c r e m e n t a l m o d e l )、螺旋模型 ( s p i r a l m o d e l )、v 模型 ( v - c y c l e ) 等, 下面分别做简要的介绍。 四川大学计算机学院1 9 软件工程的实施与欧洲猫网 络监控系统研发第二章,软件工程理论概述 2 . 2本文将涉及的部分 软件工程是一门实践性很强的学问,学习者只有在实践中才 能够有真实的体会和提高。本文将根据作者研究生学习阶段所接 触的软件工程理论和从事开发工作积累的经验,重点研究软件工 程中的以下几个阶段: 1 . 需求分析阶段,这一部分,主要希望能够探讨如何有效地 运用软件工程规范实施需求分析。 2 . 设计阶段 ,这一部分,主要希望能够探讨如何有效地运用 软件工程规范进行软件的设计。 3编码测试阶段,这一部分,主要希望能够探讨如何有效地 运用软件工程规范进行编码和测试。 这几个阶段是软件工程中最重要的阶段,在本章接下来的内 容中,下面将我们重点介绍一下这几个阶段的知识。 2 . 2 . , 需求分析相关理论知识 2 .2 . 1 . 1 需求分析的基本特点 需求分析是一种软件工程活动,它在系统级软件分配和软件 设计间起到桥梁的作用。其基本任务是准确地定义目 标系统的目 标、功能;确定为了满足用户需求系统必须做什么,而不包括具 体的怎么做,即实现。其主要作用如下: ( 1 )需求分析使得系统工程师能够刻划出软件的功能和性能,指 明软件和其它系统元素的接口,并建立软件必须满足的约束。 ( 2 )需求分析允许软件工程师 ( 分析员)精化软件分解模块,并 建造将被处理的数据,功能和行为模型。 四川大学计算机学院2 5 软件工程的实施与欧洲猫网 络监 控系统研发第二章,软件工程理论概述 ( 3 )需求分析为软件设计者提供了可被翻译成数据、体系结构、 界面设计的模型。 ( 4 )需求分析说明书为开发者和客户提供了软件建造完成后质量 评估的依据。 2 . 2 . 1 . 2 需求分析的步骤 需求分析可被划分成5 个工作阶段: ( 1 ) 问题理解, 分析员研究上一阶段即问题定义 可行性研究阶 段成生的文档中所述的软件系统的目 标,软件的作用范围,用户 环境并与用户达到一致的理解。 ( 2 ) 问题分析, 分析软件作用范围中的功能、性能要求,接口 说明是否正确,约束条件是否恰当,可实现性如何,作出必要的 补充说明。 ( 3 ) 问题评估及建模, 这是一个十分重要的阶段,通过对当前 问题和希望的信息 ( 输入输出)进行的评估,分析员开始综合一 个或多个解决方案。必须详细的定义系统的数据,处理功能和行 为。此时分析员根据项目的规模、特征、性质等因素,结合类似 软件开发经验,决定选取那种需求分析方法,并随之创建系统模 型,以便更好的理解数据和控制流,处理功能和操作行为,以及 信息内容。模型是软件设计的基础,也是制定软件需求说明书的 基础。 ( 4 ) 规约, 这一阶段主要工作是根据以 上工作的成果,写出软 件规格说明书。 ( 5 ) 复审, 复审是确认需求分析阶段工作完成的一步。复审可 能进行多次,其对象是各级文档,复审的标准主要有: 软件需求规格说明书中的目 标是否与系统规格说明书中的 目标一致。 四川大学计算机学院2 6 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 软件需求规格说明书中对重要的系统元素接口,所有的数 据流和数据文件的定义是否明确,是否有不一致或遗漏。 每个功能是否已 清楚地描述,设计的主要约束是否实现, 对未来可能的软件需求是否有所考虑。 是否与用户取得了一致的意见。 文档是否清晰、完备。 软件计划中的估算是否受到影响。 复审可以较早的发现问题,以免后期付出更大代价。软件问 题的发现/ 解决越早成本消耗越低, 定义阶段发现问 题,更正成本 为1 的化,设计阶段为2 倍,开发阶段发现问题并更正的成本随 过程的深入为3 -6 倍,运行维护器错误更正费用为原来的6 0 - 1 0 0 倍,可见复审对于项目 是绝对重要的。 值得特别注意的是在需求分析这一阶段,用户和软件开发者 均扮演了 积极的角色, 而不是软件开发者单方面的工作。客户必 须尽力将有时有些模糊的软件功能和性能概念重新具体详细地描 述出来,而开发者则是软件功能地咨询者,咨询顾问和问题解决 者。 四川大学计算机学院2 7 软件工程的实施与欧洲猫网络监控系统研发第二章。软件工程理论概述 2 . 2 . 2 设计相关理论知识 2 .2 . 2 . , 设计综述 软件设计作为软件生命周期的一个组成部分,处于软件工程 过程中的核心技术位置,具有非常重要的作用,并且它的应用不 考虑所使用的软件和过程模型。软件设计开始于对软件需求进行 分析和规约之后,它是构造和验证软件所需的三项技术活动 设计、编码、测试之一。 软件设计的重要性可以用一个词来表达质量。设计是 在软件开发中形成质量的地方。设计的重要性可以归纳为以下几 个方面: ( 1 )设计为我们提供了可以用于质量评估的软件表示。 ( 2 )设计是我们能将用户需求准确地转化为完整的软件产品或系 统的唯一方法。 ( 3 )软件设计是所有软件工程和软件维护步骤的基础,没有设 计,我们将冒构造出不稳定系统的风险,稍做改动就会失败: 难以 测试的系统;到很晚才能评估质量等。 软件设计过程应遵循的基本指导思想是: ( 1 ) 模块化, 模块化是指解决一个复杂问题时,自 顶向 下逐层把 软件系统划分成若干个模块的过程。 每个模块完成一个特定的功 能,所有模块按某种方式组装起来, 构成整体实现软件系统所要 求的功能。 ( 2 ) 抽象化, 抽象化就是抽出事物的本质特性而暂不考虑其细 节。软件工程实施过程的每一步都是对软件解法的抽象层次的一 次细化。 ( 3 ) 信息隐蔽和局部化, 信息隐蔽是指在设计和确定模块时,使 得一个模块内包含的信息( 过程和数据) ,对于不需要这些信息的 模块来说是不能访问的。局部化指把一些关系密切的软件元素物 四 川大学计算机学院2 8 软件工程的实施与欧洲猫网络监控系统研发 第二章。软件工程理论概述 理地放得彼此靠近。信息隐蔽和局部化可以为设计、测试、维护 带来极大的好处。 ( 4 ) 模块独立, 模块独立指每个模块只完成系统要求的 独立子功 能,并且与其它模块的联系最少且接口简单。模块独立是模块 化、抽象、信息隐蔽和局部化概念的直接产物。模块独立的量度 标准是祸合性和内聚性,这是个重要的概念,好的设计应该是低 祸合,高内聚。 祸合性( c o u p l e l i n g ) :指软件系统结构中各模块间相互联 系的紧密程度。模块间联系越紧密,其祸合性就越强,模 块独立性就越差。 内聚性( c o h e n s i o n ) :指一个模块内各元素彼此结合的紧密 程度。一个模块内各元素间联系越紧密,则它的内聚性就 越高。高内聚性往往意味着低祸合性。 设计模块时应该遵循低祸合高内聚的原则进行。 2 .2 . 2 . 2 总体设计 经过需求分析阶段的工作,系统做什么已经清楚, 总体设计基 本任务是设计确定系统的具体实现框架方案,确定软件结构。总 体设计方法主要包括:逐步精化自 顶向下设计方法,面向数 据的设计方法,面相对象的设计方法等。 一般说来总体设计应该完成以下几个内容: ( 1 ) 完成软件开发技术的选择。 软件的设计和所选用的技术有相当大的关系,在这一部分, 我们必须根据系统的各种特点选择最有效的开发技术,开发技术 的确定,为下面软件框架结构设计确立了技术基础。 ( 2 )完成软件框架结构的设计。 四川大学计算机学院2 9 软件工 程的实施与欧洲猫网 络监控系统研发第二章,软件工程理论概述 在这一部分,根据系统的各种特点和所选择的开发技术,我 们就可以设计相应的系统体系结构,主要的设计工作包括包括顶 层模块结构设计、模块功能设计、网络结构设计、数据库结构设 计等。 ( 3 ) 完成相应的复审。 在这一部分,我们将对所进行的设计进行复审,确保设计所采 用的技术和设计结果是符合需求的并且是高效率的。 2 . 2 .2 . 3 详细设计 详细设计的主要目的是得出对目 标系统的精确描述,确定应 怎样具体实现所需要的系统,从而在编码阶段可以把这个描述直 接翻译成某种程序设计语言书写的具体程序。 详细设计的基本任务主要有以下几个方面: ( 1 ) 算法设计。用某种图形、表格、语言等工具将每个模块 处理过程的详细算法描述出来。 ( 2 )数据结构设计。对需求分析、总体设计确定的概念性的 数据类型进行确切定义。 ( 3 )确定每个模块的接口细节。包括对系统外部的接口和用 户界面与系统内部其它模块的接口,以及确定关于模块输入数 据、输出数据及原始数据的全部细节。 ( 4 ) 编写详细设计说明书并通过复审形式正式文档。 2 . 2 . 2 . 4界面设计 对于带有图形界面的项目,我们还应该专门进行图形界面 ( mm i )的设计,一个好的m mi 具有以下一些特点: ( 1 )完全符合需求分析的定义。 四川大学计算机学院3 0 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 ( 2 )易于使用,操作简便。 ( 3 )界面各部分功能划分清楚。 这一部分的产生两部分产品,一个是界面设计效果模型, 个是界面设计文档 ( i n t e r f a c e d e s i g n d o c u m e n t , i d d )。 2 .2 . 2 . 5 设计阶段产生的文档 设计阶段所需交付的文档主要包括: ( 1 )软件设计文档 ( s o f t w a r e d e s i g n d o c u m e n t , s d d )。这一 文档包括了对软件结构、算法描述等在内的关于软件功能实现的 具体信息。 ( 2 )界面设计文档 ( i n t e r f a c e d e s i g n d o c u m e n t , i d d )。此文 档则是主要包括了关于对软件界面设计的详细描述。 ( 3 )复审文档。此文档包括软件设计复审文档 ( s o f t w a r e d e s i g n r e v i e w , s d r )和界面设计复审文档 ( i n t e r f a c e d e s i g n r e v i e w , i d r )。 ( 4 )测试计划 ( s o f t w a r e t e s t p l a n )。此文档根据设计内容描 述了包括测试策略,测试方案,预期的测试结果等在内的各种测 试计划信息。 我们将在接下来的几章里根据理论知识结合t k s u p 中各阶 段的实施情况对这几个部分进行深入地分析. 2 . 2 . 3 编码相关理论知识 编码阶段的任务是为每个模块编写程序,也就是将详细设计 的结果转换成用某种程序语言的源程序,编译程序再将这些源程 序变成依赖于具体机器的代码。 编码阶段主要考虑的几个方面是: 四川大学计算机学院3 1 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 ( 1 ) 代码的可移植性 指程序从一个计算机环境移植到另一个计算机环境的难易程 度。 2 ) 代码的 编译效率 指与程序设计语言对应的编译器的性能决定了目 标代码的运行 效率。 ( 3 )代码的可重用性 指编程语言能否提供可重用的软件成分。 ( 4 )可维护性 指源程序的应该为未来的修改和其他开发人员的阅读提供保 障。 2 . 2 .4 测试相关理论知识 软件测试是根据程序功能说明书或程序逻辑结构,设计一组 测试用例,在精心控制的环境下,按测试用例作为输入运行程 序,对其结果进行检验. 确定其是否与预期结果不一致,即发现 程序错误的全过程。 好的测试方案是尽可能地发现至今尚未发现地错误的测试方 案,成功的测试是发现出至今尚未发现的错误的测试。测试的目 的是为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消 灭,以期提高软件的质量。 测试的原则可以主要归纳如下: ( 1 ) 所有的测试都应该追溯到用户需求。 ( 2 ) 应该从测试工作真正开始前的 较长时间内 就进行测试计 划。 四川大学计算机学院3 2 软件工程的实施与欧洲猫网络监控系统研发第二章,软件工程理论概述 ( 3 ) p a r e t 。 原则应用于软件测试。即测试发现的 错误中8 0 % 很 可能起源于模块中的2 0 %. ( 4 ) 测试应该从 “ 小规模” 开始, 逐步转向“ 大规模”。 ( 5 ) 穷举测试是不可能的。 ( 6 ) 为达到最佳效果, 应该由 独立的第三方来进行测试。 软件测试中根据设计的测试用例不同,可以将软件测试技术 分类为白盒测试和黑盒测试。白盒测试,黑盒测试实际上是测试 用例的设计方法。 白盒测试方法是将被测试的对象看成一个可以看见内部结构 的盒子,测试人员必须了解程序的内部结构和处理过程,测试用 例要根据程序的内部逻辑来设计。 黑盒测试方法是测试人员完全不考虑程序内部的结构和处理 过程,只在软件的接口处进行功能性测试,检查程序是否满足定 义的功能需求。黑盒测试不是白盒测试的替代品,而是辅助白盒 测试发现其它类型的错误。 测试按不同的进行阶段可以 分为 单元测试 ( u n i t t e s t )、 集 成测试 ( i n t e g r a t i o n t e s t )和有效性测试 ( v a l i d a t i o n t e s t )。单元测试的任务主要是查找单个模块在中的错误。集成 测试的任务主要是将相关模块集成起来并进行测试,主要查找各 模块接口上存在的问题。有效性测试的任务主要是按需求说明书 上的各项功能对软件产品进行测试,看是否达到用户需求。 四川大学计算机学院3 3 软件工程的实施与欧洲猫网络监控系统研发第三章,t k s u p 项目的实施 第三章 t k s u p项目 的实施 3 . 1 t k s u p 需求分析的实施 在这一部分,我们将根据在e u r o c a t 网络监控系统开发中的 实际经验研究如何有效的运用软件工程规范实施需求分析。 3 . 1 . , 需求分析的裁剪 在上一部分我们看到,标准的需求分析可以分为问题理解、 问 题分析、问 题评估及建模、规约和复审五个阶段, 这里我们将 根据具体情况对t k s u p 的需求分析阶段进行裁减,以使需求分 析的实施能够贴近具体情况。 由 于t k s u p 项目 工作量不是很大, 项目 的目 标和理解较为 直接,我们将上述五个阶段合并为问题理解分析、问题评估建 模、规约和复审四个阶段。 问题理解分析阶段的主要任务是完成对t k s u p 项目的全面 了 解,初步了解需求可能涉及的方向。 问题评估建模阶段则主要是完成对t k s u p 需求层次的全局 性框架分析,提出可行的开发结构。 规约阶段主要工作是完成各种文档的编制。 工作复审则是对文档进行审核,确保产生的文档符合问题的 分析理解。 以 上 各部 分阶 段的 主 要 产 物 是s r s ( s o ft w a r e r e q u ir e m e n t s p e c i f i c a t i o n )文档和o h k ( o p e r a t i o n h a n d b o o k ) 草案文档。 四川大学计算机学院3 4 软件工程的实施与欧洲猫网络监控系统研发第三章, t k s u p 项目 的实施 3 . 1 . 4规约 根据对问题的理解分析和评估建模,我们已经从需求层次对 整个t k s u p 项目 有了较好的 把握, 接下来需要做的工作是完成 s r s ( s o f t w a r e r e q u i r e m e n t s p e c i f i c a t i o n )文档。s r s 文档中 详细描述了所有具体的需求条款。在t k s u p 中,我们主要按照以 下流程进行需求分析文档制作: ( 1 )由需求分析人员制定s r s 草案,t k s u p的s r s 文档中, 包 括了 两 个r e q u i r e m e n t s e t 。 所有需 求都采 用标准化格式, 例如 e u r t k s u p sy s 1 0 3 t h e t k s u p c s c i s h a ll b e a b le t o v ie w h is t o r y i n f o r m a t io n o f s p e c k e d c o mp o n e n t . # # c o m p o n e n t in c lu d e s u b s s p r o c e s s , u b s s u lin e s / d e v , n o d e r e s o u r c e ( c p u , m e m o ry , d is k c a p a c i ty , e t c ) , n e t w o r k l i n k e v e n t s , u ps e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园中班数学《认识数字6》课件
- 安全培训班自我鉴定课件
- 购房质押担保借款合同4篇
- 安全培训班感谢话课件
- 2024年济南市章丘区殡仪馆工作人员招考真题有完整答案详解
- 木工安全培训课件
- 《Hadoop大数据原理与应用》课件4.课件-第7章分布式数据库HBase(2020春)
- XX行业2025年目标用户需求消费升级报告
- 安全培训特色课件
- XX企业航空航天2025年数字化转型策略规划报告
- 避孕药具宣传培训课件
- GB/T 45777-2025水泥中石膏掺量评估方法
- 大盘鸡的介绍
- 锂电行业仓储管理办法
- 《老年康体指导》课件-项目一 运动健身活动健康评估
- 下肢静脉血栓的护理及预防
- 2025年新修订治安管理处罚法课件
- DB11T 2423-2025 城市道路挖掘与修复技术规范
- 头颈部肿瘤护理指南
- 人教版 三年级 数学 上册 第一单元 观察物体《第1课时 观察物体(1)》课件
- 2025年党建工作应试题库及答案
评论
0/150
提交评论