软件工程中的高级课题.ppt
《软件工程中的高级课题.ppt》由会员分享,可在线阅读,更多相关《软件工程中的高级课题.ppt(86页珍藏版)》请在三一办公上搜索。
1、软件工程中的高级课题,李 宣 东 南京大学计算机科学与技术系,Advanced Topics in SE,Computer-Aided Software EngineeringFormal MethodsSoftware ReuseReengineeringComponent-Based Software EngineeringCleanroom Software EngineeringClient/Server Software EngineeringWeb Engineering,Computer-Aided Software Engineering(CASE),支持软件开发生存期的集成化
2、工具、技术和方法,CASE Concepts,CASE技术(technology):为软件开发、维护和项目管理提供自动化、工程化准则的软件技术;包括自动化结构化方法和自动化工具。CASE工具(tool):支持特定的软件生存期活动自动化(至少部分自动化)的软件工具。CASE系统(system):能共享一个公用的用户界面、并且在公用的计算机环境中运行的一组集成化的CASE工具。CASE工具箱(toolkit):一组集成化的CASE工具,能够使得软件生存期的一个阶段或一个特殊的软件工作的活动自动化(或部分自动化)。,CASE Concepts,CASE工作台(workbench):一组集成化的CAS
3、E工具,能够使得整个软件生存自动化(或提供自动化辅助),包括分析、设计、编码和测试。CASE方法学(methodology):一种“可自动化”的方法学,它对软件开发和维护的所有方面或者某些方面定义了严格的、类似工程的研究途径。CASE方法学伙伴(methodology companior):一组CASE工具,这些工具按某一种特殊的CASE方法学自动完成一些任务,并且自动产生由该方法学所要求的文档和其他交付的任务。CASE工作站(workstation):为CASE工具提供操作平台的一个一层、二层或三层的硬件系统体系结构。,CASE Methodology,由于CASE工具对整个信息系统或软件工
4、程开发过程的全面支持,引起了系统开发方法学领域从技术、方法到观念、认知体系的变化,方法学领域也受到了冲击和挑战,从而使CASE演变成了一种独特的、以自动化支持环境为基础的系统开发方法学。结构化方法面向对象方法快速原型方法,CASE Integration集成化CASE环境的总体结构,界面集成层:用户界面开发工具包,界 面协议。工具集成层:触发执行机制,通信机制。信息集成层:信息与CASE工具的集成,信息与信息的集成。软件工程信息库:元模型,软件开发信息,Interface IntegrationCASE界面集成层,界面集成层主要由一个标准化的用户界面开发工具包以及各CASE工具共同遵守的界面协
5、议组成。界面集成有两方面的目标:(1)开发人员可在统一而不是分离的界面框架下操作所有的CASE工具,完成软件开发过程。(2)所有CASE工具的用户界面和操作风格必须协调一致。,Tool IntegrationCASE工具集成层,工具集成层负责管理所有的CASE工具并协调它们的行为。在多任务操作系统中,开发人员可以同时启动多个CASE工具,此时工具集成层必须在CASE工具之间进行信息传递和同步。协调CASE工具与软件工程信息库之间的信息流,实施安全检查和审计功能。此外,工具集成层往往还能够收集各CASE工具使用情况的统计信息以便改进软件开发方法,提高环境运行效率。,Tool Integratio
6、n,为了完成上述任务,工具集成层至少要具备执行机制和通信机制:执行机制是指环境能够根据某些软件开发触发CASE工具的启动。此外,执行机制还包含对CASE工具执行过程的其他控制手段,例如挂起、恢复和终止。通信机制是指环境能够在CASE工具之间传递信息。大型软件开发项目的众多开发人员往往是在网络环境下协同完成开发任务的。这就对集成化环境提出了新的要求。为此,工具集成层还应提供分布机制,以便上述基本的执行和通信机制以用户透明的方式在网络分布环境下运行。,Information IntegrationCASE信息集成层,信息集成包含两方面的内容:信息与CASE工具的集成:主要表现为CASE工具实现了对
7、软件工程信息库中信息对象的某些操作功能。信息与信息之间的集成:指集成环境必须具有表示、维护信息项并利用信息项之间的关系完成相应动作的能力,如一致性和完整性检查,确定信息项修改的影响传播范围等。,CASE Repository软件工程信息库,软件工程信息库是集成化环境的核心,它为整个CASE环境提供支持。软件工程信息库要完成对软件信息项的存储、查询、修改与删除等操作,所以它必须具备普通数据库管理系统的大部分基础功能。,CASE Repository,除此之外,为了给集成化环境提供良好的信息服务,软件工程信息库还要支持:信息完整性:当信息项目修改或删除时,自动检查信息项之间的一致性,自动完成对相关
8、信息项的必要调整。信息与工具的集成:控制CASE工具和开发人员对信息项的访问,提供友好的信息服务。信息与信息的集成:建立并维护信息项之间的关系。开发方法学的引导与强制:利用元模型引导并强制开发人员按照既定的开发方法学实施软件开发。文档规范化:根据元模型对各类文档的定义,统一生成软件文档。版本控制与配置管理:存储软件信息项的各种版本,为开发人员生成阶段性成果或最终产品自动组合最新版本,并允许在测试过程中随时恢复旧版本。,Implementation of CASE Repository 软件工程信息库的实现,考虑到软件开发过程中各类数据的纷繁复杂,仅按常规方法组织软件工程信息库是无法满足要求的。
9、应该将软件信息项不论粒度大小均视为对象,信息库的结构组织为元模型,系统通过元模型管理机制实现各种功能。,Metamodel in CASE Repository软件工程信息库的元模型,元模型是对各CASE工具生成的软件开发信息项的元级描述,主要内容为:信息项的定义性描述,包括类型、属性、表示方法、生产者与消费者,等等。在各种粒度级别上的信息项之间的关系和依赖性描述。可能的粒度级别有:数据流程图级、数据项级、代码段级。软件设计规则。例如数据流程图的平衡规则,数据流程图中转换的输入、输出流与其相应过程的输入、输出参数的一致性规则。软件开发过程的工作流程和事件的描述,包括开发阶段界定、里程碑定义、错
10、误发生、需求变更,等等。,Metamodel in CASE Repository,除上述内容之外,元模型还定义了软件信息的组织形式、CASE工具和软件开发人员访问信息项的途径、数据安全性和完整性控制方法以及为适应新的软件开发项目而对现有元模型进行扩充的方法。,CASE Repository,除元模型外,软件工程信息库还应包含以下各方面的软件开发信息:有关应用问题及问题领域的描述。各类文档(需求说明,设计文档,源代码,测试方案与用例等)。由软件开发方法学限定的规则与指导性原则。项目规划、可用资源描述和开发历史信息。相对于元模型而言,以上各类信息为目标级信息对象。,Implementation
11、of CASE Repository,软件工程信息库的建造过程可以借用传统的数据库管理系统提供的下述技术手段:无冗余的信息储存事物控制机制安全机制用户界面开放性,Implementation of CASE Repository,软件工程信息库的许多高级功能是大多数商用数据库管理系统不能直接支持的:复杂数据结构的存储信息完整性检查项目管理版本控制与配置管理需求追踪,Industry Standard for CASE IntegrationCSAE工具集成的工业标准,信息资源字典标准(Information Resource Dictionary Standard,IRDS,ANSI338-1
12、988)。IRDS最初是作为需求分析的数据字典标准而开发的。其主要特征是使用多级元模型并强调信息资源的协调管理,有助于在相关联的CASE工具之间建立信息通道。它支持CASE工具在不同的操作系统平台之间移植。Atherton IDEC工具集成标准(ATIS)。ATIS已被CASE Integration Standards Committee of Software Productivity Consortium采纳。ATIS主要强调软件工程信息库的总体结构定义,支持配置管理、工具集成、数据安全性与跨平台移植。公共ADA接口标准(CAIS)。CAIS侧重于ADA软件开发工具的集成,它为这些工具构
13、成集成化环境定义了接口标准。可移植的通用环境(PCTE)。PCTE是欧共体ESPRIT计划的一部分。它已被Europen Computer Manufacturer Association(ECMA)所接纳。,Taxonomy of CASE Tools,Business process engineering toolsProcess modeling and management toolsProject planning toolsRisk analysis toolsProject management toolsRequirements tracing toolsMetrics an
14、d management tools,Taxonomy of CASE Tools,Documentation toolsSystem software toolsQuality assurance toolsDatabase management toolsSoftware configuration management toolsAnalysis and design toolsPRO/SIM tools,Taxonomy of CASE Tools,Interface design and development toolsPrototyping toolsProgramming to
15、olsWeb development toolsIntegration and testing toolsStatic analysis toolsDynamic analysis tools,Taxonomy of CASE Tools,Test management toolsClient/server testing toolsReengineering tools,Formal Methods(形式化方法),研究背景定义形式验证模型检验,提高系统可靠性,随着计算机应用的日益普及,今天我们已经很难承受计算机系统发生故障所带来的损失;连续运行已成为现在许多计算机系统的关键需求,一旦发生故障
16、,终止系统运行进行维护是不现实的;,提高系统可靠性,测试(testing)或 仿真(simulation)以运行系统(模型)为主要手段发现系统错误。验证(Verification)建立系统模型,确认系统模型是否存在错误。质量管理 在系统开发过程中加强管理,防止可能出现的错误。,提高可信度的途径,测试(testing)或 仿真(simulation)无法回答系统一定没有错误这样一类问题验证(Verification)可以从某一个角度回答系统一定没有错误这样一类问题,从而进一步提高我们对系统可靠性的可信度,形式化方法,形式化方法是指为说明和验证复杂计算机系统所采用的基于数学的语言、技术和工具。形式
17、化方法不能确保系统的可靠性,但其可以通过揭示系统的不一致性、歧义性和不完备性来增加我们对系统的理解程度,从而提高我们对系统可靠性的可信度。,形式验证,形式化方法包括:说明(specification)验证(verification)形式验证包括:模型检验(model checking)推理验证(theorem proving),模型检验,模型检验是一种自动验证有穷状态系统的技术。模型检验的基本思想是通过遍历系统模型的状态空间来检验系统模型是否满足给定的性质。,模型检验,在模型检验中涉及两种形式说明语言:性质说明语言用于描述系统的性质;模型描述语言用于描述系统的模型。模型检验技术用于检验由模型描
18、述语言描述的系统模型是否满足由性质说明语言描述的系统性质。,模型检验,Finite-state model,Temporal logic formula,Model Checker,(F W),模型检验中的关键技术问题,模型检验中的关键技术问题是如何设计数据结构和算法,用以表示和遍历大规模的系统模型状态空间。解决由多个系统模型的并行组合而形成的状态空间爆炸问题。,解决状态空间爆炸问题的途径,状态空间的符号表示(Symbolic representation of state space)McMillans ordered binary decision diagrams(OBDD),1992,
19、10120偏序规约技术(Partial order reduction)抽象技术(Abstraction)对称技术(Symmetry),模型检验,关于具有时序性质的并发系统的模型检验理论和技术在工业界已经得到实际的应用。目前模型检验理论和技术的研究热点已经转向实时系统和软件系统。,实时和混成系统的模型检验,对于实时系统来说,由于时间的引入,其状态空间是无穷的。要设法遍历无穷的状态空间,这对研究人员来说是一个新的挑战。目前人们关注的主要问题包括:针对典型实时性质开发检验算法探索解决状态空间过大的有效途径,混成系统,混成系统(Hybrid Systems)是一类复杂的计算机系统,这类系统的运行过程
20、中既有连续的状态变化,又有离散的状态变化。,混成系统实例,水箱监控系统,混成系统实例,水箱监控系统初始状态时,水箱中水面的高度为1英寸;水泵打开时,水箱中水面以每秒1英寸的速度上升;水泵关闭时,水箱中水面以每秒2英寸的速度下降;监控器发出信号打开(关闭)水泵到实际打开(关闭)水泵之间有2秒钟的延迟;要求监控器将水箱中的水面高度控制在1至12英寸之间。,混成自动机(hybrid automata),S1x=1y=1y 10,S2x=1y=1x 1,S3x=1y=-2x 2,S4x=1y=-2y 5,y=1,.,.,.,.,.,.,.,.,y=10?,x:=0,y=5?,x:=0,x=2?,x=2
21、?,混成自动机(hybrid automata),混成自动机是不可判定的;目前国际上相关领域的研究热点在于寻找混成自动机的可判定子集。,线性时段性质,线性时段性质可以通过系统在各个状态上的累积时间来约束系统的行为。一个线性时段性质是如下形式的线性积分不等式:ie cisiM 其中si表示系统状态,ci是实型系数,M是实数。,线性时段性质,在水箱监控系统中,要求监控器将水箱中的水面高度控制在1至12寸之间,可以表示成以下线性时段性质:s1+s2-2(s3+s4)11 s1+s2-2(s3+s4)0,满足性问题,检验混成自动机相对于线性时段性质的满足性问题:一个混成自动机满足一个线性时段性质当且仅
22、当该混成自动机的所有行为满足该线性时段性质。,混成自动机的行为表示,混成自动机的行为可以表示如下时间状态序列:(s1,t1)(s2,t2)(sm,tm)其中si表示系统状态,ti表示系统在si上的停留时间,t1,t2,tm必须满足相应的时间约束。,带时段约束的规则表达式,在规则表达式中引入时段约束形成带时段约束的规则表达式。时段约束表示成如下形式:a ie cisi b,带时段约束的规则表达式,R=s0(s0(s1,s1=9)R1)(s0(s1,s1=9)R1(s2,s2=2)(s0(s1,s1=9)R1(s2 s3,s2=2,2s3-s2=5)(s0(s1,s1=9)R1(s2 s3 s4,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 中的 高级 课题
链接地址:https://www.31ppt.com/p-4873677.html