《《程序设计方法与优化》.docx》由会员分享,可在线阅读,更多相关《《程序设计方法与优化》.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计方法与优化西安交通大学出版覃征王志敏等软件工程与程序设计提要(一)、面向对象的软件工程基础1、面向对象的软件工程的基本概念:问题域;求解域。2、软件工程的各类部件:Project ,Activity,Task,Resource,System,Model,Document。3、软件工程的建模语言:UML(Unified Modeling Language )4、软件工程的基本过程:需求分析:功能性需求,系统性需求;系统分析:对象的模型化;系统设计:界面、数据、功能设计;5、软件开发的管理:标准管理、文档管理、模块测试、配置管理。(二)、面向对象的建模基础1、采用UML(Unified M
2、odeling Language )建模的基本过程;2、用例图:主要解决系统的功能描述;3、类图:对象、类、属性、操作的描述;4、动态模型顺序图:动作相应的时序关系;5、动态模型状态图:微观状态间的转换;6、动态模型活动图:功能状态之间的转换。(三)、面向对象的建模方法1、对系统的认识:系统、子系统;2、模型与建模:模型是对系统的抽象,复杂系统的层次建模;3、视图:模型的单个子集;4、概念与属性:概念一组现象;5、数据类型、抽象数据类型;6、面向对象的编程对象类,细化类、超类、子类;7、事件,事件类,消息;8、面向对象的建模:应用域应用域模型;方案域系统模型。(四)、面向对象的建模系统1、对用
3、例图的分析:用例主体命名、执行者、启动条件、动作系列、出口条件;用例图的关系:指令交流、包含关系、扩展关系;2、对类图的分析:类图的组成:名字、属性、操作;类之间:链接关系;3、对顺序图的分析:对象间的消息传递,操作执行(状态变化)、新信息;4、对状态图的分析:状态类属性的抽象;转化事件、条件、时间触发的状态转化;5、对活动图的分析:动作的状态图,活动图的优先级,多重活动的同步;6、面向对象的系统设计实例。(五)、面向组件的程序设计1、组件技术的特点:软件重用性,接口可靠性,可扩充性,在静态和动态下的组装;2、基本模型CORBA(Common Object Request Broker Arc
4、hitecture),包括:对象服务对象请求代理ORB应用界面、域界面、公用设施支持;3、接口定义语言(Interface Define Language);4、组件技术和面向对象技术的比较。(六)、面向组件的CORBA基本过程1、对象请求代理机制ORB:对象定位验证服务器接受请求请求定位返回结果,平台无关;2、接口定义语言IDL:IDL Stub,IDL Skeleton,语言无关;3、面向组件的CORBA程序设计实例。(七)、利用面向组件的CORBA技术实现面向对象建模方法的改进1、建立对象模型:系统需求、系统抽象模型、对象模型、用IDL描述对象模型;2、利用面向组件的CORBA技术实现面
5、向对象建模实例。(八)、EJB(J2EE核心)组件模型与应用1、服务器端的服务框架:EJB角色定义;EJB 中可重用组件Bean实体类、会话类:EJB的体系结构;2、EJB组件的开发方法:编制远程接口,主机接口,若干可重用组件Bean组件编译创建描述符部署组装;3、EJB组件模型与应用实例;4、软件的体系结构与基于组件的开发的结合,从系统到组件从组件到系统。(九)、程序设计优化方法1、程序设计优化的目的:优化代码,提高执行速度;2、优化的层次:算法级优化短代码实现计算方法;语言级优化减少语句;指令级优化指令周期优化;3、优化手段:代码替换,减少分支,并行计算,MMX指令使用,预读;4、程序结构
6、优化:书写结构,标识,程序结构的模块化,条件编译,全局和局部变量;5、程序代码优化:算法、数据类型、循环、延时、查表等方法;6、JAVA程序性能优化方法:JAVA程序的主要瓶颈分析;减少瓶颈影响的步骤系统对性能要求,程序性能,性能瓶颈,对应性措施,改进;JAVA环境和编译改进及时编译,选择性编译,提前编译,JAVA函数利用,异常处理,线程利用,缓存利用。(十)、软件测试技术概要1、软件质量控制:方法学控制加强封装,减少耦合;配置管理:模型和代码的一致性,接口定义;验证技术:局部验证;评审技术:设计结果的对应性;2、检错测试技术:单元测试、集成测试、系统测试;3、测试实例:名称、路径、输入数据或命令、结果与期待结果的比较、测试结果;4、单元测试:等价测试代表性、覆盖、不相交;边界测试合法的特殊值;路径测试路径的遍历性;状态测试激励与相应的状态;5、集成测试:一次性集成测试;自底向上测试;自顶向下测试;多层分解测试;6、系统测试:功能测试;性能测试;典型测试;验收测试;安装测试。