版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024年12月9日第1页第15章软件工程(ruǎnjiànɡōnɡchénɡ)新技术本章内容(nèiróng)结构本章引言学习目标教学内容本章小结思考和练习共七十七页本章(běnzhānɡ)引言软件工程领域研究使用的新技术:迭代开发,以时间换空间,消除市场风险。敏捷开发或轻量级过程(guòchéng),以不变应万变。永远的Beta,不断推陈出新,永无止境。持续集成、持续构建、全程测试。知识管理,将软件工程纳入知识管理的范畴。软件即服务(SaaS),面向服务架构(SOA)的开发思想。用例驱动开发,用户为本思想在软件中的体现。以顾客为中心的全面质量管理。
2024年12月9日第2页共七十七页2024年12月9日第3页学习(xuéxí)目标掌握软件复用的概念、分类、关键技术及复用粒度理解基于构件的软件工程技术的相关(xiāngguān)概念及应用理解软件过程和标准化的作用及应用理解敏捷软件开发过程概念及模型理解Web软件工程的相关概念和特色理解软件产品线技术的概念及发展共七十七页2024年12月9日第4页教学内容15.1软件复用技术15.2基于构件的软件工程技术15.3软件过程与标准化15.4敏捷软件开发过程15.5Web软件工程15.6软件产品线技术15.7本章小结(xiǎojié)和习题共七十七页2024年12月9日第5页15.1.1软件复用概念(gàiniàn)及分类软件复用:重复使用“为了复用目的而设计的软件”的过程。实施软件复用的目的:要使软件开发工作进行得更快、更好、更省。软件复用与共享、软件移植(yízhí)的区别:共享:是在一个系统中多次使用一个相同的软件成分软件移值:对一个软件进行修改,使它运行于新的软硬件平台共七十七页2024年12月9日第6页15.1.1软件复用概念(gàiniàn)及分类(1)依据复用的对象分类产品复用、过程复用(2)依据对可复用信息进行(jìnxíng)复用的方式分类黑盒复用、白盒复用(3)依据复用的组织方式分类个别的软件复用、系统化的软件复用(4)根据所应用的领域范围分类横向复用、纵向复用共七十七页2024年12月9日第7页15.1.2软件复用(fùyònɡ)的关键技术和复用(fùyònɡ)粒度软件复用有3个基本问题:必须有可以复用的对象所复用的对象必须是有用的复用者需要知道如何去使用被复用的对象。软件复用包括(bāokuò)两个相关过程:可复用软件(构件)的开发基于可复用软件(构件)应用系统的构造(集成和组装)共七十七页2024年12月9日第8页15.1.2软件复用(fùyònɡ)的关键技术和复用(fùyònɡ)粒度实现软件复用的关键技术因素:软件构件技术、领域工程、软件构架技术、软件再工程技术、开放系统技术、软件过程、CASE技术等。软件复用的非技术因素:机构组织(zǔzhī)如何适应复用的需求;管理方法如何适应复用的需求;开发人员知识的更新;创造性和工程化的关系;开发人员的心理障碍;知识产权问题;保守商业秘密的问题;复用前期投入的经济考虑;标准化问题等。
共七十七页2024年12月9日第9页15.2.1中间件技术(jìshù)中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源;中间件位于(wèiyú)客户机/服务器的操作系统之上,管理计算资源和网络通信。图15.1中间件概念共七十七页2024年12月9日第10页15.2.1中间件技术(jìshù)图15.2中间件在应用系统(xìtǒng)中的位置中间件的作用:建立分布式软件模块之间互操作的机制,屏蔽底层分布式环境的复杂性和异构性,为处于自己上层的应用软件提供运行与开发环境,帮助用户灵活、高效地开发和集成复杂的应用软件。共七十七页2024年12月9日第11页15.2.1中间件技术(jìshù)1.中间件要解决的问题(1)应用的互连和互操作问题(2)针对不同的应用领域,对中间件又有各种(ɡèzhǒnɡ)不同的要求中间件具有以下特点:满足大量应用的需要;运行于多种硬件和操作系统平台;支持分布式计算;提供跨网络、硬件和操作系统平台的透明性;支持标准的协议和接口。共七十七页2024年12月9日第12页15.2.1中间件技术(jìshù)2.中间件的分类(1)根据中间件具有的功能和所提供的服务面向对象中间件、消息中间件、容错中间件、反射中间件(2)基于IDC分类方法终端仿真/屏幕转换(zhuǎnhuàn)、数据访问中间件远程过程调用中间件、消息中间件交易中间件、基于对象请求代理(ORB)中间件共七十七页2024年12月9日第13页15.2.1中间件技术(jìshù)3.中间件的发展及认识度早期的中间件市场中事务中间件与消息中间件占的份额最大,近年来随着(suízhe)Web应用的逐渐普及,支持Web服务和应用的应用服务器中间件的占有量已经居于各类中间件的首位,消息中间件和事务中间件分别居第二、三名。表15.1操作系统、数据库管理系统和中间件的类比共七十七页2024年12月9日第14页15.2.2构件(gòujiàn)与构件(gòujiàn)化构件:是一些可执行单元,可以通过独立的开发、购买和配置组合到一个功能系统中去,是软件系统内被标识、符合某种标准要求(yāoqiú)并可复用的软件组成成分,类似于传统工业中的零部件。从广义上来讲,构件可以是被封装的对象类、类簇、一些功能模块、构件框架或构架、文档、分析件、设计模式等;从狭义上来说,一般指对外提供的具有规约化接口、符合一定标准、可替换的软件系统的程序模块。共七十七页2024年12月9日第15页15.2.2构件(gòujiàn)与构件(gòujiàn)化构件技术的基本思想:创建和利用可复用的软件构件来解决软件开发的问题(wèntí)。可复用构件:具有相对独立功能和可复用价值的构件。构件化的软件开发方法是一种将一个完整系统看作是若干个独立部分(构件)组装的软件开发方法,每一部分是一个可重用的单元,通过替换和重新配置来完成软件的升级。共七十七页2024年12月9日第16页15.2.3构件(gòujiàn)模型及描述语言两个主要的构件描述模型:Tracz提出的3C模型:主要用于对构件的可重用信息(xìnxī)进行描述,
Component=(Concept,Content,Context)REBOOT项目中提出的REBOOT(ReuseBasedonObjectOrientedTechniques)模型:主要用于对可重用构件进行分类与检索,它与构件检索的关系更为密切。共七十七页2024年12月9日第17页15.2.3构件(gòujiàn)模型及描述语言北京大学青鸟构件模型是一个具有面向对象风格的模型,从3个不同的、相互正交的视角来看待构件,每个具体的构件都是形态、层次和表示构成的三维空间中的一个点。构件形态:类、类树、框架、设计模式、体系结构;构件层次:分析件、设计件、编码件、测试件构件的表示与层次有关,不同层次的构件具有不同的表示媒介和手段,如图形、复合文档、正文、伪码、编程语言、目标码等。青鸟构件模型从9个方面来描述构件,即概念(gàiniàn)、操作规约、接口、类型、实现体、构件复合、构件性质、构件注释、构件语境。共七十七页2024年12月9日第18页15.2.3构件(gòujiàn)模型及描述语言构件实现模型标准:CORBA、COM/DCOM/COM+、JavaBeans/EJB基本思想:第一,采用将构件的接口和实现相分离的原则;第二,采用黑盒重用的方式,外界仅可以通过构件的接口来访问构件的功能;第三,在实现方法上都使用接口描述语言(InterfaceDescriptionLanguage,IDL)进行构件接口定义,利用相应(xiāngyīng)的中间件作为支持该构件模型的运行时环境,从而达到由不同的编程语言所实现、运行在不同的操作系统环境中及在不同主机上的构件都能相互交互的目的。共七十七页2024年12月9日第19页15.2.3构件(gòujiàn)模型及描述语言主要不同在于技术(jìshù)的提出者及应用背景
COM/DCOM是由微软公司提出的,由于Microsoft在PC软件领域的垄断地位,因此在基于Microsoft的环境中,使用COM/DCOM/COM+是一种当然的选择;CORBA是由OMG组织提出的,它的标准是开放的,并且OMG成员广泛,所以CORBA最具普遍性,是异构环境中的理想选择;在Internet和移动计算(如手机)中,Java是普遍采用的一种技术,因此JavaBeans/EJB在这类Internet和移动计算应用环境中比较适合。共七十七页2024年12月9日第20页15.2.3构件(gòujiàn)模型及描述语言构件描述语言比较典型的有CORBA规范中的接口(jiēkǒu)描述语言IDLUML规范中的对象约束语言OCL北大青鸟构件系统中的青鸟构件描述语言JBCDL加州理工大学提出的构件描述语言CDL等共七十七页2024年12月9日第21页15.2.4构件(gòujiàn)的检索与组装1.构件(gòujiàn)的检索W.Frakes从构件表示出发,将现有方法分为人工智能方法、超文本方法和信息科学方法3类。H.Mili则按照复杂度和检索效果的递增,将其分为基于正文的、基于词法描述符的、基于规约的分类和检索3类。共七十七页2024年12月9日第22页15.2.4构件的检索(jiǎnsuǒ)与组装W.Frakes重点讨论了信息科学方法,因为这是实际复用项目(xiàngmù)中,应用较为成功的途径。将信息科学方法分为基于受控词汇表和基于不受控词汇表分类两种形式。图15.3信息科学的编目方法分类图共七十七页2024年12月9日第23页15.2.4构件的检索(jiǎnsuǒ)与组装常用分类方式枚举(méijǔ)分类刻面分类属性值分类正文检索关键词分类共七十七页2024年12月9日第24页15.2.4构件的检索(jiǎnsuǒ)与组装2.构件(gòujiàn)组装技术目的:利用现有的构件组装成新的系统。本质:是在构件之间建立关联,根据这种关联,协调它们的行为,把它们组织成为一个有机的整体。构件组装的研究内容包括两部分:对复合构件形成过程的研究面向体系结构(或者组装框架)的研究共七十七页2024年12月9日第25页15.2.4构件(gòujiàn)的检索与组装3.构件(gòujiàn)组装技术及方法的分类(1)根据组装场景的不同分类不同的组装层次:源代码级的组装、运行级组装不同的组装模式静态组装:设计时的组装。动态组装:运行时的组装。(2)按照构件在组装之前需要对构件内部细节了解的程度及是否需要进行修改、封装黑盒组装方式、白盒组装方式和灰盒组装方式共七十七页2024年12月9日第26页15.2.4构件(gòujiàn)的检索与组装4.构件(gòujiàn)组装的实现方法(1)以框架为基础的方法(2)以连接件为基础的方法(3)以胶合代码为基础的方法(4)基于总线的方法共七十七页2024年12月9日第27页15.2.5基于构件的软件工程(ruǎnjiànɡōnɡchénɡ)方法基于构件的软件工程(Component-BasedSoftwareEngineering,CBSE):以面向对象的方法为基础,强调软件重用的作用,在软件体系结构设计的基础上,使用可复用(fùyònɡ)的软件“构件”来设计和构造基于计算机的系统过程。基于构件的开发(CBD,Component-BasedDevelopment):是一个与领域活动并行的CBSE活动。为了实现软件重用,基于构件的软件工程强调领域工程与软件工程同步进行。共七十七页2024年12月9日第28页15.2.5基于(jīyú)构件的软件工程方法图15.4一个典型的可重用的过程(guòchéng)模型图15.4给出了一个典型的可重用的过程模型,描述了领域工程与软件工程的关系。共七十七页2024年12月9日第29页15.2.5基于构件的软件工程(ruǎnjiànɡōnɡchénɡ)方法图15.5给出了一个基于构件的开发(kāifā)模型。该模型中,建模和构建活动开始于识别可选构件。这些构件有些设计成通用的软件模块,有些设计成面向对象的类或软件包。图15.5基于构件的开发模型共七十七页2024年12月9日第30页15.2.5基于(jīyú)构件的软件工程方法基于构件的开发模型可以由以下步骤组成(采用演进方法):(1)对于该问题领域的基于构件的可用产品进行研究和评估(2)考虑构件集成的问题(3)设计软件架构以容纳这些构件(4)将构件集成到架构中(5)进行充分的测试以保证(bǎozhèng)功能正常共七十七页2024年12月9日第31页15.2.5基于构件的软件工程(ruǎnjiànɡōnɡchénɡ)方法基于构件的开发(kāifā)模型存在的问题:(1)构件的信赖度问题(2)构件认证(3)自然特性预测(4)需求折中共七十七页2024年12月9日第32页15.2.6SOA与SaaSSOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,从而(cóngér)可以通过不同的渠道提供服务,并可以把企业现有的应用作为服务,从而(cóngér)保护了现有的IT基础建设投资。图15.6面向服务(fúwù)的分析与设计原理示意图共七十七页2024年12月9日第33页15.2.6SOA与SaaSSOA模型的典型特征:松散耦合、粗粒度服务和标准化接口SOA的设计实践原则:业务驱动服务,服务驱动技术(jìshù);业务敏捷是基本的业务需求。SOA的目标:最大限度地重用现有服务以提高IT的适应能力和利用效率。图15.7一个(yīɡè)完整的面向服务的体系结构模型共七十七页2024年12月9日第34页15.2.6SOA与SaaS图15.8单个服务(fúwù)内部结构共七十七页2024年12月9日第35页15.2.6SOA与SaaSSaaS(Software-as-a-Service,软件即服务),国内通常叫做软件运营服务模式,简称为软营模式:是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商订购所需的应用软件服务,按订购的服务多少和时间长短向厂商支付(zhīfù)费用,并通过互联网获得厂商提供的服务。共七十七页2024年12月9日第36页15.3软件(ruǎnjiàn)过程与标准化软件过程(guòchéng):软件生存周期中,将用户需求转化为可执行系统的演化过程所进行的软件工程活动的全体,是用于生产软件产品的工具、方法和实践的集合。软件过程技术的目标:通过工程化、标准化和形式化的方法管理软件的开发过程,从而改变目前的软件生产方式,实现大规模的软件生产。软件过程的研究:主要针对软件生产和管理,不仅要有工程观点,还要有系统观点、管理观点、运行观点和用户观点。共七十七页2024年12月9日第37页15.3.1软件(ruǎnjiàn)过程及其改进软件过程改进:在软件过程活动中,为了更有效地达到优化软件过程的目的所实施的改善或改变(gǎibiàn)其软件过程的系列活动。软件过程改进主要包括以下几个关键步骤:①对比目前的状态和期望达到的状态,找出存在的差距②确定要改变哪些差距,需要改变到什么程度③制定相应的具体实施计划共七十七页2024年12月9日第38页15.3.2ISO9000标准(biāozhǔn)ISO9000是国际标准化组织ISO制定(zhìdìng)的世界上第一套质量管理和质量保证标准,主要目的是为了满足国际贸易中对质量管理和质量保证需要有共同语言和共同准则的需要。表15.3ISO9000标准体系共七十七页2024年12月9日第39页15.3.3软件能力(nénglì)成熟度模型(CMM)CMM(CapabilityMaturityModel)是卡内基梅隆大学软件工程研究院SEI受美国国防部委托制定的软件过程的改良、评估模型,也称为SEISW-CMM(SoftwareEngineeringInstituteSoftware-CapabilityMaturityModel)。该模型于1991年发布,并发展成为系列标准模型,描述了有效的软件过程单元的框架,为软件机构提供了一条从混乱的、不成熟的软件过程向成熟的、有纪律的软件过程改进的途径。CMM涵盖了有关计划、设计和管理(guǎnlǐ)软件开发和维护的实践,软件机构只要遵循这些实践,就能够提高该机构的能力,以满足成本、进度计划、功能及产品质量等目标。共七十七页2024年12月9日第40页15.3.3软件(ruǎnjiàn)能力成熟度模型(CMM)1)初始级(Initial)2)可重复(chóngfù)级(Repeatable)3)已定义级(Defined)4)已管理级(Managed)5)优化级(Optimizing)
图15.9CMM模型的5个成熟级1.CMM的内容共七十七页2024年12月9日第41页15.3.3软件(ruǎnjiàn)能力成熟度模型(CMM)表15.4软件过程(guòchéng)的可视性与各成熟度能力模型的比较共七十七页2024年12月9日第42页15.3.3软件能力(nénglì)成熟度模型(CMM)2.关键过程(guòchéng)域(KeyProcessArea,KPA)一系列相互影响的关键操作活动,这些活动反映一个软件组织改进软件过程时,必须集中力量改进的几个方面共七十七页2024年12月9日第43页15.3.3软件(ruǎnjiàn)能力成熟度模型(CMM)3.CMM实施中应注意的问题(1)剪裁的问题(2)ISO9000与CMM的关系(3)时间(shíjiān)和效果的问题①CMM只是说明达到某一级别必须做的工作,并未说明如何实施②CMM费用远大于实施ISO9000的费用③实际一个管理过程的改进是一步步实现的共七十七页2024年12月9日第44页15.3.4PSP、TSP和CMMI1.个体软件过程(PersonalSoftwareProcess,PSP)PSP可以为基于个体和小型群组软件过程的优化提供具体而有效的途径,PSP的着眼点在于软件缺陷的预防2.小组软件开发过程(TeamSoftwareProcess,TSP)TSP实施集体管理与自己管理相结合的原则,最终目的在于指导一切人员如何(rúhé)在最少的时间内,以预定的费用生产出高质量的软件产品。共七十七页2024年12月9日第45页15.3.4PSP、TSP和CMMI3.能力成熟度集成模型(CapabilityMaturityModelIntegration,CMMI)SW-CMM(SoftwareCMM)软件CMMSE-CMM(SystemEngineeringCMM)系统工程CMMSA-CMM(SoftwareAcquisitionCMM)软件采购(cǎigòu)CMMIPT-CMM(IntegratedProductTeamCMM)集成产品群组CMMP-CMM(PeopleCMM)人力资源能力成熟度模型共七十七页2024年12月9日第46页15.3.4PSP、TSP和CMMICMMI为企业带来价值主要体现在以下几个方面:(1)能保证软件开发的质量与进度,能对“杂乱无章、无序管理”的项目开发过程进行规范(2)有利于成本控制(3)有助于提高软件开发者的职业素养(4)能够解决(jiějué)人员流动所带来的问题(5)有利于提升公司和员工绩效管理水平,以持续改进效益共七十七页2024年12月9日第47页15.4.1敏捷(mǐnjié)及敏捷(mǐnjié)过程相关概念1.“敏捷过程”在软件业中的提出2001年2月,17位“轻量级”软件开发方法的创始人和专家(被称为敏捷联盟)共同签署了“敏捷软件开发宣言”,标志着敏捷软件开发正式出现。该宣言声明:个体和交互胜过过程和工具可工作(gōngzuò)软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划共七十七页2024年12月9日第48页15.4.1敏捷及敏捷过程(guòchéng)相关概念2.敏捷的概念敏捷软件过程很容易适应变化并迅速做出自我调整,在保证质量的前提下,做到文档、度量适度,适用于各类中小型软件企业应用。敏捷过程的适用范围包括以下要求:软件需求经常变化或者需求变化比较大项目团队与用户之间进行沟通比较容易项目的开发风险比较高规模比较小,一般(yībān)项目组成员在50人之内项目团队的成员能力比较强,而且具有责任感项目的可测试性比较好共七十七页2024年12月9日第49页15.4.1敏捷及敏捷过程相关(xiāngguān)概念3.敏捷宣言所遵循的12条原则(1)人们(rénmen)最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。(2)即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。(3)经常性的交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。(4)在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。(5)围绕被激励起来的个体来构建项目。给它们提供所需的环境和支持,并且信任它们能够完成工作。共七十七页2024年12月9日第50页15.4.1敏捷(mǐnjié)及敏捷(mǐnjié)过程相关概念(6)在团队内部,最具有效果并且富有效率的传递信息的方法就是面对面的交谈。(7)工作的软件是首要的进度度量标准。(8)敏捷过程提倡可持续的开发进度。责任人、开发者和用户应保持一个长期恒定的开发速度。(9)不断(bùduàn)关注优秀的技能和好的设计会增强敏捷能力。(10)简单——使未完成的工作最大化的艺术——是根本的。(11)最好的构架、需求和设计出自于自组织的团队。(12)每隔一定时间,团队会在如何才能更有效的工作方面进行反省,然后相应地对自己的行为进行调整。共七十七页2024年12月9日第51页15.4.1敏捷(mǐnjié)及敏捷(mǐnjié)过程相关概念4.敏捷软件过程的特性①轻载(qīnɡzǎi)软件过程(LightWeightSoftwareProcess)②基于时间③够用就好(JustEnough)④并行⑤基于构件的软件工程敏捷软件过程模型可定义如下:敏捷软件过程模型=
功能模型+合作模型+资源模型+产品模型共七十七页2024年12月9日第52页15.4.2典型的敏捷(mǐnjié)过程模型敏捷过程模型:eXtremeProgramming(XP,极限编程)Scrum、DSDM(动态,系统开发方法)自适应软件开发(AdaptiveSoftwareDevelopment,ASD)FeatureDrivenDevelopment(FDD,特性(tèxìng)驱动开发)CrystalFamily共七十七页2024年12月9日第53页15.4.2典型的敏捷(mǐnjié)过程模型1.极限编程(eXtremeProgramming,XP)XP的目标:在规定的时间生产出满足客户需要的软件。XP方法主要适用于下述情况:需求不明确、变化快;风险较高(在特定时间内,面对一个相当难开发的系统);人数不超过10个的中小型团队;开发地点(dìdiǎn)适宜在集中的场合。XP体现4个价值目标:沟通、简化、反馈和勇气共七十七页2024年12月9日第54页15.4.2典型的敏捷过程(guòchéng)模型图15.10XP方法的开发(kāifā)过程共七十七页2024年12月9日第55页15.4.2典型的敏捷(mǐnjié)过程模型2.Scrum方法开发软件就像是开发新产品,无法一开始就定义最终产品的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证项目(xiàngmù)成功。Scrum开发团队通常由5~9(7±2)人组成。Scrum偏重项目管理,XP偏重编程实践。共七十七页2024年12月9日第56页15.4.2典型(diǎnxíng)的敏捷过程模型3.特征驱动开发(kāifā)(FeatureDrivenDevelopment,FDD)①领域对象建模。②按照特征开发。③类(代码)拥有权。④特征小组。⑤审查。⑥定期构造。⑦配置管理。⑧可视性进度报告。
共七十七页2024年12月9日第57页15.4.2典型的敏捷过程(guòchéng)模型FDD方法包括5个过程(guòchéng)组成,如图所示。共七十七页2024年12月9日第58页15.5Web软件工程(ruǎnjiànɡōnɡchénɡ)15.5.1Web软件工程概述15.5.2Web软件的需求分析15.5.3Web软件的设计(shèjì)15.5.4Web软件的测试共七十七页2024年12月9日第59页15.5.1Web软件工程(ruǎnjiànɡōnɡchénɡ)概述WebApp软件几乎具备下述所有属性(shǔxìng):(1)网络密集性(NetworkIntensive)(2)访问并发性(Concurrency)(3)工作负荷的跳跃性(Unpredictableload)(4)性能(Performance)要求苛刻(5)安全性(Security)要求苛刻(6)可用性(Availability)(7)数据驱动(Datadriven):(8)内容敏感性(ContentSensitive)(9)持续演化(ContinuousEvolution)(10)即时性(Immediacy)(11)美观性(Aesthetics)共七十七页2024年12月9日第60页15.5.1Web软件工程(ruǎnjiànɡōnɡchénɡ)概述Web工程过程整个(zhěnggè)Web工程过程的框架包括5个部分:(1)客户交流阶段(2)计划阶段(3)建模阶段(4)构建阶段(5)部署阶段Web工程方法一般包括如下4种:(1)交流方法:(2)需求分析方法(3)设计方法:(4)测试方法:共七十七页2024年12月9日第61页15.5.2Web软件的需求(xūqiú)分析根据Web工程(gōngchéng)的分析特点,Web软件的需求分析会有以下5种主要的模型类型:(1)内容模型(2)交互模型(3)功能模型(4)配置模型(5)导航模型共七十七页2024年12月9日第62页15.5.3Web软件(ruǎnjiàn)的设计Web软件的设计由需求分析阶段所获取的信息驱动,主要可分为6个步骤:(1)内容设计利用内容模型作为建立内容对象设计的基础;(2)美学设计建立了最终用户所关注的外观和感觉;(3)架构设计重点关注所有内容对象和功能(gōngnéng)的总体超媒体结构;(4)界面设计创建了定义用户界面的总体布局和交互机制;(5)导航设计定义了最终用户对超媒体结构的导航关系;(6)构件设计表示了WebApp功能元素的详细内部结构。这6个步骤分别会产生内容、美学外观、体系架构、界面、导航和构件,这些都是Web软件设计阶段的成果。共七十七页2024年12月9日15.5.3Web软件(ruǎnjiàn)的设计WebApp设计的方法1.WebApp界面设计2.美学设计3.内容(nèiróng)设计4.体系结构设计:线性、网络和层次5.导航设计6.构件级设计共七十七页2024年12月9日第64页15.5.4Web软件(ruǎnjiàn)的测试测试和评价WebApp的质量(zhìliàng)的原则:(1)内容:句法、语义(2)功能(3)结构(4)易用性(5)导航性(6)性能(7)兼容性(8)互操作性(9)安全性共七十七页2024年12月9日第65页15.6.1软件产品线基本概念美国卡内基梅隆大学软件工程研究所(CMU/SEI)给出的定义:
“产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的
市场或任务领域的特定需求。这些系统(xìtǒng)遵循一个预
描述的方式,在公共的核心资产基础上进行开发。”共七十七页2024年12月9日第66页15.6.1软件产品线基本概念软件产品线的理论基础:特定领域(lǐnɡyù)(产品线)内的相似产品具有大量的公共部分和特征,通过识别和描述这些公共部分和特征,可以开发需求规范、测试用例、软件构件等产品线的公共资源。典型的产品线开发过程(guòchéng)包括两个关键过程(guòchéng):领域工程应用工程共七十七页2024年12月9日第67页15.6.1软件产品线基本概念(1)领域工程主要任务:通过识别给定领域或相似(xiānɡsì)产品的公共结构和特征,开发产品线内产品的公共资源。领域工程包括3个阶段:领域分析、领域设计、领域实现。(2)应用工程应用工程是在领域工程生成的公共资源基础上开发特定产品。在产品线应用开发中,不仅仅考虑客户需求,也要受产品线公共资源约束。应用工程的3个阶段:
需求分析、系统设计、系统实现。共七十七页2024年12月9日第68页15.6.1软件产品线基本概念软件产品线的3大基本活动核心资产的开发利用(lìyòng)核心资产的产品开发技术和组织管。共七十七页2024年12月9日第69页15.6.1软件产品线基本概念产品线的双生存周期模型:由STARS的双生存周期模型发展而来的(美国国防部资助的一个关于过程(guòchéng)驱动、特定领域和基于重用的软件开发方法的研究项目)。共七十七页2024年12月9日第70页15.6.1软件产品线基本概念软件产品线可以为人们带来大量的好处:缩短开发周期、降低研发成本、减少产品(chǎnpǐn)更新和维护的难度提供更好的产品质量,进而在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版二零二五年度智慧城市基础设施建设合同规范4篇
- 二零二五版幕墙施工劳务分包合同施工进度监控与调整范本4篇
- 2025年度路灯工程照明效果评估与提升合同
- 2025年度二零二五年度超市供应链金融及转让合同
- 2025年度贷款中介机构信用评级服务合同模板
- 2025年度个人借款合同(保密条款)4篇
- 二零二五年度房屋租赁合同签订中租赁双方违约责任的重要性探讨
- 二零二五年度矿石破碎加工与矿山环保治理合同
- 二零二五年度私人公司股权转让及管理权移交合同
- 二零二五年度汽车二手车评估贷款合同
- 垃圾处理厂工程施工组织设计
- 天疱疮患者护理
- 2025年蛇年新年金蛇贺岁金蛇狂舞春添彩玉树临风福满门模板
- 四川省成都市青羊区石室联中学2024年八年级下册物理期末学业水平测试试题含解析
- 门诊导医年终工作总结
- 新生物医药产业中的人工智能药物设计研究与应用
- 损失补偿申请书范文
- 压力与浮力的原理解析
- 铁路损伤图谱PDF
- 装修家庭风水学入门基础
- 移动商务内容运营(吴洪贵)任务二 社群的种类与维护
评论
0/150
提交评论