软件文档编写技巧备课讲稿.ppt

上传人:豆**** 文档编号:63657377 上传时间:2022-11-25 格式:PPT 页数:251 大小:1.30MB
返回 下载 相关 举报
软件文档编写技巧备课讲稿.ppt_第1页
第1页 / 共251页
软件文档编写技巧备课讲稿.ppt_第2页
第2页 / 共251页
点击查看更多>>
资源描述

《软件文档编写技巧备课讲稿.ppt》由会员分享,可在线阅读,更多相关《软件文档编写技巧备课讲稿.ppt(251页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件文档编写技巧编写目的用户公司名称前期已做工作将要涉及项目的开发目的可行性研究的前提项目基本要求项目基本目标项目开发条件、假定和限制项目基本要求主要功能性能要求系统的输入输出安全和保密要求项目与其它软件系统的关系完成期限要求所建议系统概况所建议系统概述所建议系统的处理流程和数据流程所建议系统对现有系统的改进、影响和局限性可行性分析技术可行性经济可行性可行性分析结论思考、涉及的几个问题如何定义系统需求?v如何识别、获取需求?你能够采取何种手段与用户进行交流沟通?v何为需求建模?你如何理解模型与建模?需求分析软件需求分析的几个阶段问题分析问题分析问题评估和方案综合问题评估和方案综合建模建模规约规

2、约复审复审 系统分析员的主要系统分析员的主要焦点焦点是是 “做什么(做什么(whatwhat)”,不是,不是 “怎样做(怎样做(howhow)”需求获取需求获取的目的需求获取的目的 清楚地理解所要解决的问题清楚地理解所要解决的问题 完整地获取用户需求完整地获取用户需求需求获取面临的挑战:需求获取面临的挑战:(1)(1)问题空间理解问题空间理解(2)(2)人与人之间的通信人与人之间的通信(3)(3)需求的不断变化需求的不断变化某出版社系统调查表编号提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据

3、、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效工作中手工处理什么问题解决不了?影响效率的问题有哪些?率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?工作强度可采取哪些办法?某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解

4、决哪些问题是目前传统手工方法根本无法解决的?的?11出版社计算机管理信息系统需要解决什么问题?需求获取的内容需求获取的内容 1.1.用户需求分类用户需求分类 (1)(1)功能性需求功能性需求:定义了系统做什么(描述系统必须支持定义了系统做什么(描述系统必须支持 的功能和过程)的功能和过程)(2)(2)非功能性需求(技术需求)非功能性需求(技术需求):定义了系统工作时的特性定义了系统工作时的特性 (描述操作环境和性能目标)(描述操作环境和性能目标)2.2.两类需求包括的内容两类需求包括的内容(1)(1)功能功能(2)(2)性能性能(3)(3)环境环境(4)(4)界面界面(5)(5)用户或人的因素

5、用户或人的因素(6)(6)文档文档 (7)(7)数据数据(8)(8)资源资源(9)(9)安全保密安全保密(10)(10)软件成本消耗与开发进度软件成本消耗与开发进度(11)(11)质量保证质量保证(1)(1)功能需求功能需求 系统做什么?系统做什么?系统何时做什么?系统何时做什么?系统何时及如何修改系统何时及如何修改 或升级?或升级?(2)(2)性能需求性能需求 软件开发的技术性指标软件开发的技术性指标例如:例如:存储容量限制存储容量限制 执行速度、相应时间执行速度、相应时间 吞吐量吞吐量(3)(3)环境需求环境需求 硬件设备:硬件设备:机型、外设、接口、机型、外设、接口、地点、分布、温度、地

6、点、分布、温度、湿度、磁场干扰等湿度、磁场干扰等软件:软件:操作系统操作系统 网络网络 数据库数据库(4)(4)界面需求界面需求 有来自其它系统的输入吗?有来自其它系统的输入吗?到自其它系统的输出吗?到自其它系统的输出吗?对数据格式有规定吗?对数据格式有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?(5)(5)用户或人的因素用户或人的因素 用户类型?用户类型?各种用户熟练程度?各种用户熟练程度?需受何种训练?需受何种训练?用户理解、使用系统的难度?用户理解、使用系统的难度?用户错误操作系统的可能性?用户错误操作系统的可能性?(6)(6)文档需求文档需求 需哪些文档?需哪些文档?文档针

7、对哪些读者?文档针对哪些读者?(7)(7)数据需求数据需求 输入、输出数据的格式?输入、输出数据的格式?接收、发送数据的频率?接收、发送数据的频率?数据的准确性和精度?数据的准确性和精度?数据流量?数据流量?数据需保持的时间?数据需保持的时间?(8)(8)资源需求资源需求 软件运行时所需的数据、软件。软件运行时所需的数据、软件。内存空间等资源。内存空间等资源。软件开发、维护所需的人力、软件开发、维护所需的人力、支撑软件、开发设备等。支撑软件、开发设备等。(9)(9)安全保密要求安全保密要求 需对访问系统或系统信息加以控需对访问系统或系统信息加以控 制吗?制吗?如何隔离用户之间的数据?如何隔离用

8、户之间的数据?用户程序如何与其它程序和操作用户程序如何与其它程序和操作 系统隔离?系统隔离?系统备份要求?系统备份要求?(10)(10)软件成本消耗软件成本消耗 与开发进度需求与开发进度需求开发有规定的时间表吗?开发有规定的时间表吗?软硬件投资有无限制?软硬件投资有无限制?(11)(11)质量保证质量保证 系统的可靠性要求?系统的可靠性要求?系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?规定系统平均出错时间?规定系统平均出错时间?出错后,重启系统允许的时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?系统变化如何反映到设计中?维护是否包括对系统的改进?维护是否包括对系统的改进?

9、系统的可移植性?系统的可移植性?需求建模计算机学科的发展计算机学科的发展计算机科学计算机科学计算机科学计算机科学(CS)(CS)计算机科学计算机科学计算机科学计算机科学 (CS)(CS)计算机工程计算机工程计算机工程计算机工程(CE)(CE)软件工程软件工程软件工程软件工程(SE)(SE)信息系统信息系统信息系统信息系统(IS)(IS)计算学科计算学科计算学科计算学科(ccomputing disciplineomputing discipline)计算学科是研究通过在计算机上建立模型计算学科是研究通过在计算机上建立模型计算学科是研究通过在计算机上建立模型计算学科是研究通过在计算机上建立模型并

10、模拟物理过程来进行科学调查和研究的学科并模拟物理过程来进行科学调查和研究的学科并模拟物理过程来进行科学调查和研究的学科并模拟物理过程来进行科学调查和研究的学科.计算机科学与技术学科的方法论计算机科学与技术学科的方法论学科的学科的学科的学科的3 3 3 3个形态个形态个形态个形态 理论理论理论理论抽象抽象抽象抽象(模型化模型化模型化模型化)设计设计设计设计重复出现的概念重复出现的概念重复出现的概念重复出现的概念 绑定绑定绑定绑定(binding)(binding)(binding)(binding)概念与形式模型概念与形式模型概念与形式模型概念与形式模型 一致性和完备性一致性和完备性一致性和完备

11、性一致性和完备性抽象层次抽象层次抽象层次抽象层次 重用重用重用重用 典型的学科方法:典型的学科方法:典型的学科方法:典型的学科方法:数学方法数学方法数学方法数学方法 系统科学方法系统科学方法系统科学方法系统科学方法 计算中抽象的本质和计算中抽象的本质和计算中抽象的本质和计算中抽象的本质和计算中抽象的本质和计算中抽象的本质和使用。在处理复杂事务、使用。在处理复杂事务、使用。在处理复杂事务、使用。在处理复杂事务、使用。在处理复杂事务、使用。在处理复杂事务、构造系统、隐藏细节和获构造系统、隐藏细节和获构造系统、隐藏细节和获构造系统、隐藏细节和获构造系统、隐藏细节和获构造系统、隐藏细节和获取重复模式方

12、面使用抽象,取重复模式方面使用抽象,取重复模式方面使用抽象,取重复模式方面使用抽象,取重复模式方面使用抽象,取重复模式方面使用抽象,通过具有不同层次的细节通过具有不同层次的细节通过具有不同层次的细节通过具有不同层次的细节通过具有不同层次的细节通过具有不同层次的细节和指标的抽象,能够表达和指标的抽象,能够表达和指标的抽象,能够表达和指标的抽象,能够表达和指标的抽象,能够表达和指标的抽象,能够表达一个实体和系统一个实体和系统一个实体和系统一个实体和系统一个实体和系统一个实体和系统抽象抽象(模型化模型化)源于实验科学源于实验科学,主要要素为数据采集方法和假主要要素为数据采集方法和假设的形式说明设的形

13、式说明,模型的构造与预测实验分析结模型的构造与预测实验分析结果分析果分析.在为可能的算法数据结构和系统结构等构造在为可能的算法数据结构和系统结构等构造模型时使用此过程模型时使用此过程.抽象的结果是概念符号模型抽象的结果是概念符号模型模型模型(model)模型模型:现实世界某些重要方面的表示。现实世界某些重要方面的表示。有时我们使用术语有时我们使用术语“抽象抽象”来表示模型,来表示模型,因为我们从现实世界中因为我们从现实世界中抽象抽象出对我们特别有用的出对我们特别有用的东西。东西。需求分析的步骤需求分析的步骤当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理

14、模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义 逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型uu 模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征 抽象,概括性或近似地表示;抽象,概括性或近似地表示;抽象,概括性或近似地表示;抽象,概括性或近似地表示;uu 构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分 析的过程。析的过程。析的过程。析的过程。对象对

15、象系统系统模型模型系统系统抽象抽象(映射)(映射)模型应用模型应用模型构造的过程模型构造的过程 逻辑模型逻辑模型逻辑模型逻辑模型 物理模型物理模型物理模型物理模型 (本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型)(实施模型、技术模型实施模型、技术模型实施模型、技术模型实施模型、技术模型实施模型、技术模型实施模型、技术模型)现现行行系系统统目目目目标标标标系系系系统统统统描述重要的业描述重要的业描述重要的业描述重要的业务功能,无论务功能,无论务功能,无论务功能,无论系统是如何实系统是如何实系统是如何实系统是如何实施的。施的。施的。施

16、的。描述现实系统是描述现实系统是描述现实系统是描述现实系统是如何在物理上实如何在物理上实如何在物理上实如何在物理上实现的。现的。现的。现的。描述新系统的主描述新系统的主描述新系统的主描述新系统的主要业务功能和用要业务功能和用要业务功能和用要业务功能和用户新的需求,无户新的需求,无户新的需求,无户新的需求,无论系统应如何实论系统应如何实论系统应如何实论系统应如何实施。施。施。施。描述新系统是如描述新系统是如描述新系统是如描述新系统是如何实施的(包括何实施的(包括何实施的(包括何实施的(包括技术)。技术)。技术)。技术)。需求建模模型的作用模型的作用建模的原因:建模的原因:在建模过程中了解系统在建

17、模过程中了解系统通过抽象降低复杂性通过抽象降低复杂性有助于回忆所有的细节有助于回忆所有的细节有助于开发小组间的交流有助于开发小组间的交流有助于与用户的交流有助于与用户的交流为系统的维护提供文档为系统的维护提供文档 模型化或模型方法是通过抽象、概模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、究对象的整体结构、关

18、系或某一过程、某一局部、某一侧面的本质特征和变化某一局部、某一侧面的本质特征和变化规律。规律。模型的类型模型的类型数学模型数学模型描述模型描述模型图形模型图形模型需求分析的步骤需求分析的步骤当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义 逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型逻辑模型和物理模型uu 模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征模型是对对象系统的形式化

19、的特征 抽象,概括性或近似地表示;抽象,概括性或近似地表示;抽象,概括性或近似地表示;抽象,概括性或近似地表示;uu 构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分 析的过程。析的过程。析的过程。析的过程。对象对象系统系统模型模型系统系统抽象抽象(映射)(映射)模型应用模型应用模型构造的过程模型构造的过程 逻辑模型逻辑模型逻辑模型逻辑模型 物理模型物理模型物理模型物理模型 (本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型本质模型、概念模型)(实施模型、技术模型实施模型、技术模型实施模型

20、、技术模型实施模型、技术模型实施模型、技术模型实施模型、技术模型)现现行行系系统统目目目目标标标标系系系系统统统统描述重要的业描述重要的业描述重要的业描述重要的业务功能,无论务功能,无论务功能,无论务功能,无论系统是如何实系统是如何实系统是如何实系统是如何实施的。施的。施的。施的。描述现实系统是描述现实系统是描述现实系统是描述现实系统是如何在物理上实如何在物理上实如何在物理上实如何在物理上实现的。现的。现的。现的。描述新系统的主描述新系统的主描述新系统的主描述新系统的主要业务功能和用要业务功能和用要业务功能和用要业务功能和用户新的需求,无户新的需求,无户新的需求,无户新的需求,无论系统应如何实

21、论系统应如何实论系统应如何实论系统应如何实施。施。施。施。描述新系统是如描述新系统是如描述新系统是如描述新系统是如何实施的(包括何实施的(包括何实施的(包括何实施的(包括技术)。技术)。技术)。技术)。需求分析过程示意需求分析过程示意学学生生(1)通过对现实环境的调查,通过对现实环境的调查,获得当前系统的物理模型获得当前系统的物理模型 学学生生购购书书申申请请购购书书单单发发票票领领书书单单书书107张张教务科教务科206王王会计室会计室206李李出纳员出纳员303赵赵教材科教材科学生购买教材的物理模型需求分析过程示意需求分析过程示意(2)去掉具体模型中的非本质因素,去掉具体模型中的非本质因素

22、,抽抽象象出当前系统的逻辑模型出当前系统的逻辑模型 学生购买教材的逻辑模型学学生生学学生生购购书书申申请请购购书书单单发发票票领领书书单单书书审查审查有效性有效性开发票开发票开领开领书单书单发书发书需求分析过程示意需求分析过程示意(3)分析当前系统与目标系统的差别,分析当前系统与目标系统的差别,建立目标系统的逻辑模型建立目标系统的逻辑模型 计算机售书系统的逻辑模型计算机售书系统的逻辑模型学学生生学学生生购书单购书单发票发票领书单领书单审查并审查并开发票开发票开领开领书单书单无效书单无效书单分析阶段中常用的模型(逻辑模型)分析阶段中常用的模型(逻辑模型)数据流图(数据流图(DFD)实体实体联系图

23、(联系图(ERD)类图类图实例图实例图时序图时序图状态图状态图协作图协作图事件列表事件列表数据流定义数据流定义数据元素定义数据元素定义 某系统某系统的第的第1 1层层DFD控制控制面板面板与用户与用户交互交互控制控制面板面板显示显示密码密码电话号码拨音电话号码拨音传感器状态传感器状态显示显示信息信息配置请求配置请求用户命令用户命令和数据和数据配置配置系统系统警警铃铃电电话话线线传感器传感器配置信息配置信息显示信息显示信息和状态和状态监控监控传感器传感器激活不激活不激活系统激活系统传感器信息传感器信息密码密码处理处理警告类型警告类型检验检验idid信息信息开始开始停止停止状态信息状态信息 客户客

24、户保险销售人员保险销售人员签订一份签订一份保险单保险单销售统计销售统计客户统计客户统计使用用例图举例使用用例图举例 u状态图状态图 例:例:状态状态1Do:活动活动1状态状态2 .事件事件1条件条件1/动作动作1结束结束事件事件初始初始事件事件空闲空闲可视菜单可视菜单左边按钮按下左边按钮按下/显示弹出菜单显示弹出菜单左边按钮弹起左边按钮弹起/擦除弹出菜单擦除弹出菜单光标移动光标移动/高亮菜单项高亮菜单项 弹出菜单动作弹出菜单动作 接电话的顺序图接电话的顺序图:受话者受话者交换机交换机远程交换机远程交换机受话者受话者拿起话筒拿起话筒听通话声听通话声拨号码拨号码.铃响信号铃响信号铃响铃响铃响停止信

25、号铃响停止信号拿起话筒拿起话筒铃响停止铃响停止10 deabcb-a1e-d5c-b 20 20 20 20 15%15%5%5%20%20%30%30%条件类别条件类别四种条件组合四种条件组合操作操作条件组合下操作的执行条件组合下操作的执行1 16,10,116,10,11月月处理名处理名:计算折扣率计算折扣率(MHGP534MD)(MHGP534MD)编号编号:5.3.4:5.3.4激活条件激活条件:收到预订票信息收到预订票信息处理逻辑处理逻辑:计算折扣率计算折扣率执行频率执行频率:实时实时旅游时间旅游时间订订 票票 量量折折 扣扣 量量7 79 9,1212月月1 16,10,116,1

26、0,11月月20202020 20 20 20 20 15%15%5%5%20%20%30%30%判定树判定树(Decision 决策树决策树)条件条件1 1 条件条件2 2 结果结果计计 7 79,9,订票量订票量2020:15%15%算算 1212月月 订票量订票量2020:5%5%折折扣扣 1 16,6,订票量订票量2020:30%30%量量 10,1110,11月月 订票量订票量2020:5%5%二二.结构化分析实施步骤结构化分析实施步骤1.1.确定系统边界确定系统边界,画出系统环境图画出系统环境图2.2.自顶向下,画出各层数据流图自顶向下,画出各层数据流图3.3.定义数据字典定义数据

27、字典4.4.定义小说明定义小说明三三.需求规格说明书需求规格说明书(SRS)(Software Requirement Specification)需求分析阶段要完成的文档。需求分析阶段要完成的文档。SRSSRS的作用:的作用:开发者与用户间事实上的技术合同书开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础开发者下一步设计和编码的基础测试验收目标系统的依据测试验收目标系统的依据SRS大纲(模板)大纲(模板)引言引言 任务概述任务概述(项目概述项目概述)数据描述数据描述(DFD(DFD、DD)DD)功能描述功能描述 接口接口 性能需求性能需求 属性属性 其它需求其它需求三三.需求验证

28、需求验证(1)(1)正确性正确性(2)(2)无二义性无二义性(3)(3)完整性完整性(4)(4)可验证性可验证性(5)(5)一致性一致性(6)(6)可理解性可理解性(7)(7)可修改性可修改性(8)(8)可被跟踪性可被跟踪性(9)(9)可跟踪性可跟踪性(10)(10)设计无关性设计无关性(11)(11)注释注释需求文档的陈述与改进举例(需求文档的陈述与改进举例(1 1)产产品品必必须须在在固固定定的的时时间间间间隔隔内内提提供供状状态态消消息息,并并且且每每次次时时间间间间隔隔不不得得小小于于6060秒。秒。后台任务管理器后台任务管理器(BTM)应该应该在用户界面的指定区域显示状态在用户界面的

29、指定区域显示状态消息。消息。a.在后台任务进程启动之后,消后台任务进程启动之后,消息必须每隔息必须每隔60(60(1010)秒更新一次,秒更新一次,并且保持连续的可见性。并且保持连续的可见性。b.如果正在正常处理后台任务进程,如果正在正常处理后台任务进程,那么后台任务管理器那么后台任务管理器(BTM)必须必须显示后台任务进程已完成的百分显示后台任务进程已完成的百分比。比。c.当完成后台任务时当完成后台任务时,后台任务后台任务管理器管理器(BTM)必须显示一个必须显示一个“已已完成完成”的消息。的消息。d.如果后台任务中止执行,那么如果后台任务中止执行,那么后台任务管理器后台任务管理器(BTM)

30、必须显示必须显示一个出错信息。一个出错信息。需求不完整,需求不完整,需求不完整,需求不完整,需求不完整,需求不完整,导致需求不可验证导致需求不可验证导致需求不可验证导致需求不可验证导致需求不可验证导致需求不可验证改改改改进进进进需求文档的陈述与改进举例(需求文档的陈述与改进举例(2 2)产产品品必必须须在在显显示示和和隐隐藏藏非非打打印印字字符符之之间间进进行行瞬瞬间间切切换。换。用户在编辑文档时,用户在编辑文档时,通过激活特定的机制,通过激活特定的机制,可以在显示和隐藏所有可以在显示和隐藏所有HTML标记之间进行切换。标记之间进行切换。需求不可行、不完整、需求不可行、不完整、需求不可行、不完

31、整、需求不可行、不完整、不确定性,导致需求不确定性,导致需求不确定性,导致需求不确定性,导致需求不可验证不可验证不可验证不可验证改改改改进进进进3.4 分析建摸方法q结构化分析结构化分析(传统建模方法传统建模方法)q面向对象分析面向对象分析计算机世界现实世界映射计算机世界计算机世界现实世界结构化开发方法结构化结构化结构化分析分析分析结构化结构化结构化设计设计设计结构化结构化结构化编程编程编程OOAOOAOODOODOOPOOP面向对象开发方法 3.4.2 3.4.2 面向对象分析方法面向对象分析方法 思考题思考题vv软件开发中为什么要使用面向对象软件开发中为什么要使用面向对象 方法?方法?vv

32、面向对象分析方法与结构化分析方面向对象分析方法与结构化分析方 法有哪些相似之处?有何区别?法有哪些相似之处?有何区别?vv面向对象方法是对过去的一个完全面向对象方法是对过去的一个完全 突破,还是突破,还是“换汤不换药换汤不换药”?对象对象(object)现实世界中某个具体的物理实体或概念在现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。计算机逻辑中的映射和体现。对象具有的含义:对象具有的含义:q 在现实世界中:在现实世界中:是客观世界中的一个实体是客观世界中的一个实体q 在面向对象程序中:在面向对象程序中:表达成计算机可理解、可操纵、具有表达成计算机可理解、可操纵、具有一一 定定

33、属性属性和和行为行为的对象的对象q 在计算机世界中:在计算机世界中:是一个可标识的存储区域是一个可标识的存储区域 面向面向对象方法是一种运用象方法是一种运用对象、象、类、继承、封装、聚合、消息承、封装、聚合、消息传递、多多态性等概念来构造系性等概念来构造系统的的软件开件开发方法方法。面向对象面向对象=对象对象 +类类 +继承继承 +消息通信消息通信面向对象的主要特征:面向对象的主要特征:qq封闭性封闭性 (Encapsulation)(Encapsulation)qq 继承性继承性 (Inheritance)(Inheritance)qq 多态性多态性 (Polymorphism)(Polym

34、orphism)类(类(class)具有共同属性和行为的对具有共同属性和行为的对象的抽象象的抽象类与对象的关系类与对象的关系类是对象的抽象类是对象的抽象对象是类的实例对象是类的实例类对象对象、实体与类对象、实体与类对象实实体体类抽象数据抽象数据类类计算机世界计算机世界现实世界现实世界计算机逻计算机逻辑的实现辑的实现影射影射抽抽象象实实例例化化抽抽象象概念世界概念世界封装封装封装是软件开发方法的重要原则,有封装是软件开发方法的重要原则,有两个涵义:两个涵义:把对象的全部属性和全部服务结合在把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位一起,形成一个不可分割的独立单位(对象)。(

35、对象)。尽可能隐蔽对象的内部细节尽可能隐蔽对象的内部细节(信息隐蔽)(信息隐蔽)传统方法数据与过程是分离的传统方法数据与过程是分离的过程1输入输入输入输出输出输出过程2过程3数据实体属于该对象的数据对象处理数据的方法消息消息消息消息消息消息对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元传统方法和面向对象方法的比较传统方法和面向对象方法的比较传统方法传统方法系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是交互对象的集合系统是交互对

36、象的集合对象与人或其它对象交互对象与人或其它对象交互对象发送与响应消息对象发送与响应消息继承继承 (继承性(继承性inheritance)继承性是父类和子继承性是父类和子类之间共享数据和类之间共享数据和方法的机制方法的机制继承性具有传递性继承性具有传递性继承性包括单继承继承性包括单继承和多重继承和多重继承 子类继承部分增加部分父类共性部分继承性作用继承性作用 使软件系统具有开放性使软件系统具有开放性 更好地进行抽象与分类更好地进行抽象与分类 增强代码的重用率增强代码的重用率多态(多态性多态(多态性polymorphism)不同的对象收到同一消息可产生完全不同的对象收到同一消息可产生完全 不同的

37、结果,这一现象叫做不同的结果,这一现象叫做多态多态多态的效果多态的效果 用户发送一个通用的消息,而实现用户发送一个通用的消息,而实现的细节则由接收对象自行决定的细节则由接收对象自行决定多态性的作用多态性的作用 增强了操作的透明性,可理解性增强了操作的透明性,可理解性和可扩展性和可扩展性 增强了软件的灵活性和重用性增强了软件的灵活性和重用性消息消息(message)消息消息 对象之间相互请求或相互协作对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能的途径,是要求某个对象执行某个功能操作的规格说明操作的规格说明消息内容消息内容 通常包含接收方及请求通常包含接收方及请求接收方完成的功能信

38、息接收方完成的功能信息发送方发送方 发出消息,请求接收方响应发出消息,请求接收方响应接收方接收方 收到消息后,经过解释,激收到消息后,经过解释,激活方法,予以响应活方法,予以响应为什么对面向对象方法感兴趣为什么对面向对象方法感兴趣?面向对象方法的主要优点:面向对象方法的主要优点:自然性自然性 追求软件系统对现实系统的直接追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。映射到软件系统的解空间中。软件复用软件复用 可复用性(可重用性)可复用性(可重用性)reusebilityreusebility可扩展性可扩展性可管理可

39、管理性性可复用性(可重用性)面向对象技术允许复用的不仅仅是面向对象技术允许复用的不仅仅是代码代码,通过面向对象技术通过面向对象技术,我们可以复我们可以复用需求、分析、设计、测试计划、用户用需求、分析、设计、测试计划、用户界面以及体系结构等等界面以及体系结构等等,事实上事实上,软件软件工程生存期中的每个部分都可以复用工程生存期中的每个部分都可以复用。传统系统分析传统系统分析:面向功能面向功能 ,把系统看成把系统看成 一组功能一组功能OOA:把问题当作一组相互作用把问题当作一组相互作用 的实体,并确定实体间关系的实体,并确定实体间关系面向对象技术是一个有全新概念的面向对象技术是一个有全新概念的开发

40、模式开发模式,其特点是其特点是:(1)(1)方法是对软件开发过程所有阶段进方法是对软件开发过程所有阶段进 行综合考虑而得到的行综合考虑而得到的;(2)(2)从生存期的一个阶段到下一个阶段从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连所使用的方法与技术具有高度的连 续性续性;(3)(3)将将OOA、OOD、OOP集成到生存集成到生存 期的相应阶段期的相应阶段.开发方法的组合分析设计编程结构化结构化结构化结构化面向对象面向对象结构化结构化面向对象面向对象面向对象面向对象面向对象面向对象结构化结构化第三代或第四代语言第三代或第四代语言面向对象面向对象面向对象面向对象第三代或第四代语言

41、第三代或第四代语言面向对象面向对象面向对象面向对象传统编程与面向对象的混合传统编程与面向对象的混合面向对象面向对象面向对象面向对象面向对象面向对象 OO方法的开发过程方法的开发过程 OOOO方方法法改改进进了了在在生生存存期期各各个个阶阶段段间间的的界界面面,因因为为生生存存期期各各个个阶阶段段开开发发出出来来的的“部部件件”都都是是类类,在在面面向向对对象象生生存存期期的的各各个个阶阶段段对对各各个个类类的的信信息息进进行行细细化化,类类成成为为分分析析、设设计计和实现的和实现的基本单元基本单元。类的生存期模型类的生存期模型类的规格说明从废弃型开发既存类的复用渐增式的实现渐增式的测试求精和

42、维护 测试用例和测试 的开发实现从既存类演变类的设计与实现类的设计与实现类类的的规规格格说说明明指指导导对对存存放放现现存存类类的的软软件库进行查找件库进行查找现存类提供当前应用所需功能现存类提供当前应用所需功能三种可能利用现存类的方向三种可能利用现存类的方向:现存类的复用现存类的复用 从现存类进行演变从现存类进行演变 从废弃类进行开发从废弃类进行开发 对象之间的联系与对象模型对象之间的联系与对象模型面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 描述系统数据结构的描述系统数据结构的对象模型对象模型 描述系统控制结构的描述系统控制结构的动态模型动态模型

43、 描述系统功能的描述系统功能的功能模型功能模型 三种模型从三个不同但由密切相关的三种模型从三个不同但由密切相关的角度模拟目标系统。角度模拟目标系统。对象模型对象模型是最重要、最基本、最核心的。是最重要、最基本、最核心的。对象模型对象模型 对象模型表示静态的、结构的系对象模型表示静态的、结构的系统数据的性质。统数据的性质。对模拟客观世界实体的对象以及对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了对象彼此之间的关系的映射,描述了系统的静态结构。系统的静态结构。OO方法强调围绕对象而不是功方法强调围绕对象而不是功能来构造系统能来构造系统。类及对象间常见的联系类及对象间常见的联系 分类关

44、系分类关系 (归纳关系、一般与特殊的关系)(归纳关系、一般与特殊的关系)组成关系组成关系 (组合关系、整体(组合关系、整体/部分的关系)部分的关系)对象属性之间的静态的联系对象属性之间的静态的联系 对象行为的动态联系对象行为的动态联系 分类关系分类关系(一般与特殊的关系一般与特殊的关系)示例示例学生学生本科生本科生研究生研究生组成关系组成关系(整体与部分的关系整体与部分的关系)示例示例学科部办公室学院实验室 对象模型中表现对象模型中表现上述联系的结构和连接上述联系的结构和连接(1)(1)分类结构(一般分类结构(一般/特殊结构)特殊结构)分类是对象抽象的基础分类是对象抽象的基础 分类结构表现的是

45、事物的一般与分类结构表现的是事物的一般与特殊的关系,即特殊的关系,即“is-ais-a”关系。关系。面向对象术语中常把一般与特殊的面向对象术语中常把一般与特殊的关系称为关系称为泛化(泛化(GeneralizationGeneralization)与与特化(特化(SpecializationSpecialization)联系联系 存户一般/特殊结构举例 一般类(父类、基类、超类)特殊类(子类、具体类)继承一个特殊类中的所有对象可继承一般类中的属性、服务、关系账号姓名余额存款取款 支票存户 储蓄存户利息率(2)(2)组装结构(整体组装结构(整体/部分结构)部分结构)组装结构表示对象类之间的组成组装

46、结构表示对象类之间的组成关系,即整体与部分的关系。关系,即整体与部分的关系。整体对于部分是整体对于部分是“has-ahas-a”关系。关系。(部分对于整体是部分对于整体是“a-part-ofa-part-of”关系关系)组装结构体现了面向对象方法的组装结构体现了面向对象方法的 聚合(也叫聚集聚合(也叫聚集 Aggregation)原则。原则。整体整体/部分结构表示法举例部分结构表示法举例 微机1+电源主机箱键盘监视器鼠标内存CPU硬盘o(3)(3)实例连接实例连接(Instance Connection)(Instance Connection)实例连接表现了对象之间的静态实例连接表现了对象之

47、间的静态联系,通过对象的属性来表现对象之联系,通过对象的属性来表现对象之间的依赖关系。间的依赖关系。面向对象术语中把对象之间的实面向对象术语中把对象之间的实例连接称为例连接称为链接链接(Link)(Link),把类之间的,把类之间的实例连接称为实例连接称为关联关联(Association)(Association)实例连接示例及表示实例连接示例及表示教师 指导论文0,m 1学生教师为学生指导论文:教师 教学0,m 0,n 学生教师为学生授课:关联关系关联关系(链属性链属性)的表示的表示 允许实例连接带有一组属性,这些属允许实例连接带有一组属性,这些属性通过关联来描述性通过关联来描述 类 1 连

48、接名称m n类 1连接属性 关联关系关联关系 (链属性链属性)为之工作工资职务雇主雇员 个人名字身份证号公司名字地址题目答辩时间成绩 教师学生 指导论文0,m 1(4)(4)消息连接消息连接 (Message Connection)Connection)对象之间的对象之间的通信通信联系。联系。一需要另一个对象的服务,便向它一需要另一个对象的服务,便向它发出个对象请求服务的消息,接收发出个对象请求服务的消息,接收消息的对象响应消息,触发所要求消息的对象响应消息,触发所要求的服务操作。的服务操作。消息连接体现了对象行为的消息连接体现了对象行为的动态联动态联系系。一家公司的对象模型(一家公司的对象模

49、型(OMT)示例示例为之工作为之工作管理 0,1姓名身份证号码地址员工名字电话号码主要产品地址公司职务雇用解雇项目名预算优先级项目产品名成本重量产品工人经理部门部门名主持参加1+1+1+1+1+生产网上商店对象模型网上商店对象模型(部分部分)示例示例(UML)销售代表 0.1定货nameaddress顾客creditRating():String产品雇员1dataReceivedisPrepaidnumber:Stringprice:Money协作顾客contactNamecreditRatingcreditLimitcreditCard#个人顾客creditRating()=“poor”定货

50、作业线dispatch()close()remind()billForMonth()Quantity:Integerprice:MoneyisSatisfied:Boolean1 1*1 1物品 面向对象的方法论面向对象的方法论 方法论是如何对复杂系统方法论是如何对复杂系统进行进行“抽象抽象”的工作,以及的工作,以及如何建立抽象模型。如何建立抽象模型。二二.面向对象分析建模面向对象分析建模(OOA)面向对象分析方法确实不同于结构化面向对象分析方法确实不同于结构化分析方法吗?分析方法吗?Fichman,R.G and C.F.Kemerer,Fichman,R.G and C.F.Kemerer

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁