书签 分享 收藏 举报 版权申诉 / 796
上传文档赚钱

类型全书配套课件:面向对象软件工程与UML.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3158710
  • 上传时间:2022-07-25
  • 格式:PPT
  • 页数:796
  • 大小:8.30MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《全书配套课件:面向对象软件工程与UML.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    全书 配套 课件 面向 对象 软件工程 UML
    资源描述:

    1、2022-7-241面向对象软件工程与面向对象软件工程与UML2022-7-242课程安排 本课程采用平时成绩(包括出勤考核,平时作本课程采用平时成绩(包括出勤考核,平时作业,课堂发言等)、实践(实验和课程设计)和业,课堂发言等)、实践(实验和课程设计)和理论考试相结合的考核方法。总评成绩中平时成理论考试相结合的考核方法。总评成绩中平时成绩占绩占15%,实践成绩占,实践成绩占15%,期末考试占,期末考试占70%。课程设计要求学生按小组完成项目设计,并以软课程设计要求学生按小组完成项目设计,并以软件验收书面报告的形式上交。件验收书面报告的形式上交。2022-7-243第第1章章 软件工程概述软件

    2、工程概述2022-7-244第第1章章 软件工程概述软件工程概述1.1 1.1 软件的概念、特点和分类软件的概念、特点和分类一、一、软件的概念软件的概念 软件软件是计算机系统中与硬件相互依存的另一部是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。分,它是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求编其中,程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的数写的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图据结构;文档是与程序开发、维护和使用有关的图文材料。文材料。注

    3、:程序并不是软件,程序只是软件的组成部分。注:程序并不是软件,程序只是软件的组成部分。2022-7-245第第1章章 软件工程概述软件工程概述二、软件的特点二、软件的特点(1)软件是一种逻辑实体。)软件是一种逻辑实体。(2)软件的开发,是人的智力的高度发挥,而不是)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。传统意义上的硬件制造。(3)软件维护与硬件的维修有着本质的差别。)软件维护与硬件的维修有着本质的差别。(4)软件的开发和运行常常受到计算机系统的限制,)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。对计算机系统有着不同程度的依赖性。(5)软件

    4、的开发至今尚未完全摆脱手工艺的开发方)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。式,使软件的开发效率受到很大限制。(6)软件的开发是一个复杂的过程。)软件的开发是一个复杂的过程。(7)软件的成本非常高昂。)软件的成本非常高昂。2022-7-246第第1章章 软件工程概述软件工程概述三、软件的分类三、软件的分类 1.基于软件功能的划分基于软件功能的划分 系统软件系统软件 应用软件应用软件 支撑软件支撑软件 2.基于软件工作方式的划分基于软件工作方式的划分 实时处理软件实时处理软件 分时软件分时软件 交互式软件交互式软件 批处理软件批处理软件 2022-7-247根

    5、据规模进行软件分类根据规模进行软件分类软件规模类别参加人员数开发期限产品规模(源代码行数)微型114周0.5k小型116月12k中型2512年550k大型52023年50100k甚大型100100045年1M极大型20005000510年110M2022-7-248例例:Windows95有有1000万行代码万行代码 Windows2000有有5000万行代码万行代码Exchange2000和和 Windows2000开发人员结构开发人员结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员35

    6、0人人约约3200人人2022-7-249第第1章章 软件工程概述软件工程概述1.2 1.2 软件的发展和软件危机软件的发展和软件危机 一、计算机系统的发展历程一、计算机系统的发展历程 第一代(第一代(2020世纪世纪6060年代中期以前):程序设计阶段。年代中期以前):程序设计阶段。第二代(从第二代(从2020世纪世纪6060年代中期到年代中期到7070年代中期):程序年代中期):程序系统阶段系统阶段“软件工程软件工程”学科诞生。学科诞生。第三代(从第三代(从2020世纪世纪7070年代中期到年代中期到8080年代中期):软件年代中期):软件工程阶段。工程阶段。第四代(从第四代(从2020世

    7、纪世纪8080年代中期至今):软件产业在世年代中期至今):软件产业在世界经济中已经占有举足轻重的地位。界经济中已经占有举足轻重的地位。2022-7-2410第第1章章 软件工程概述软件工程概述 二、二、软件危机软件危机 2020世纪世纪6060年代末年代末7070年代初,西方工业发达国家年代初,西方工业发达国家经历了一场经历了一场“软件危机软件危机”。这场软件危机表现在:。这场软件危机表现在:一方面软件十分复杂,价格昂贵,供需差日益增一方面软件十分复杂,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现

    8、,研制指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去控制。我过程很难管理,即软件的研制往往失去控制。我们称软件开发们称软件开发和维护过程中所和维护过程中所中遇到的这一系列中遇到的这一系列严重问题为软件危机。严重问题为软件危机。软件危机包含下述两方面的问题:如何开发软软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。量不断膨胀的已有软件。2022-7-2411第第1章章 软件工程概述软件工程概述 1.3 1.3 软件工程软件工程一、软件工程的定义一、软件工程的定义 软件工

    9、程软件工程是指研究软件生产的一门学科,也就是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。能在实际机器上有效运行的软件。19831983年美国年美国IEEEIEEE软件工程标准术语对软件软件工程标准术语对软件工程下的定义为:软件工程是开发、运行、维护工程下的定义为:软件工程是开发、运行、维护和修复软件的系统方法,其中和修复软件的系统方法,其中“软件软件”的定义为:的定义为:计算机程序、方法、规则、相关的文档资料以及计算机程序、方法、规则、相关的文档资料以及在计事机上运行时所必需的数据。在计事机上运

    10、行时所必需的数据。2022-7-2412第第1章章 软件工程概述软件工程概述二、软件工程方法学二、软件工程方法学通常把在软件生命周期全过程中使用的一整套技通常把在软件生命周期全过程中使用的一整套技术的集合,称为术的集合,称为软件工程方法学软件工程方法学。软件工程方法学。软件工程方法学包括三个要素:方法、工具和过程。包括三个要素:方法、工具和过程。其中:软件工程方法是完成软件开发的各项任务其中:软件工程方法是完成软件开发的各项任务的技术方法,为软件开发提供了的技术方法,为软件开发提供了“如何做如何做”的技术。的技术。软件工具为软件工程方法提供了自动的或半自动的软件工具为软件工程方法提供了自动的或

    11、半自动的软件支撑环境。软件工程的过程则是将软件工程的软件支撑环境。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。机软件开发的目的。注:传统方法学和面向对象方法学是目前使用得最广注:传统方法学和面向对象方法学是目前使用得最广泛的两种软件工程方法学。泛的两种软件工程方法学。2022-7-2413第第1章章 软件工程概述软件工程概述1.4 1.4 软件生存期和软件开发模型软件生存期和软件开发模型一、软件生存期一、软件生存期 如同任何其他事物一样,软件也有一个孕育、如同任何其他事物一样,软件也有一个孕育、诞生、成

    12、长、成熟、衰亡的生存过程,一般称之诞生、成长、成熟、衰亡的生存过程,一般称之为计算机为计算机软件的生存期软件的生存期。一般说来,软件生命期由软件定义、软件开一般说来,软件生命期由软件定义、软件开发和软件维护三个时期组成,每个时期又可进一发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段。步划分成若干个阶段。2022-7-2414第第1章章 软件工程概述软件工程概述1 1软件定义时期软件定义时期 (1 1)问题定义:这是软件生存期的第一个阶段,)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。主要任务是弄清用户要计算机解决的问题是什么。(2 2)可行性

    13、研究:任务是为前一阶段提出的问)可行性研究:任务是为前一阶段提出的问题寻求一种至数种在技术上可行、且在经济上有题寻求一种至数种在技术上可行、且在经济上有较高效益的解决方案。较高效益的解决方案。2022-7-2415第第1章章 软件工程概述软件工程概述2 2软件开发时期软件开发时期 (1 1)需求分析:弄清用户对软件系统的全部需求,)需求分析:弄清用户对软件系统的全部需求,主要是确定目标系统必须具备哪些功能。主要是确定目标系统必须具备哪些功能。(2 2)总体设计:设计软件的结构,即确定程序由哪)总体设计:设计软件的结构,即确定程序由哪些模块组成以及模块间的关系。些模块组成以及模块间的关系。(3

    14、3)详细设计:针对单个模块的设计。)详细设计:针对单个模块的设计。(4 4)编码:按照选定的语言,把模块的过程性描述)编码:按照选定的语言,把模块的过程性描述翻译为源程序。翻译为源程序。(5 5)测试:通过各种类型的测试)测试:通过各种类型的测试(及相应的调试及相应的调试)使软使软件达到预定的要求。件达到预定的要求。2022-7-2416第第1章章 软件工程概述软件工程概述3 3软件运行时期软件运行时期 是软件生存周期的最后一个时期。软件人员是软件生存周期的最后一个时期。软件人员在这一时期的工作,主要是做好软件维护。维在这一时期的工作,主要是做好软件维护。维护的目的,是使软件在整个生存周期内保

    15、证满护的目的,是使软件在整个生存周期内保证满足用户的需求和延长软件的使用寿命。足用户的需求和延长软件的使用寿命。2022-7-2417第第1章章 软件工程概述软件工程概述二、软件开发模型二、软件开发模型 1.瀑布模型:瀑布模型:将软件生存周期的各项活动规将软件生存周期的各项活动规定为依照固定顺序连接的若干阶段工作,定为依照固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。形如瀑布流水,最终得到软件产品。2022-7-24182022-7-2419第第1章章 软件工程概述软件工程概述2.螺旋模型:为了克服瀑布模型的不足,螺螺旋模型:为了克服瀑布模型的不足,螺旋模型于旋模型于1988年提

    16、出。该模型中加入了风年提出。该模型中加入了风险分析,通常用来指导大型软件项目的开险分析,通常用来指导大型软件项目的开发。发。2022-7-2420螺旋模型2022-7-24212022-7-2422第第1章章 软件工程概述软件工程概述3.喷泉模型:体现了软件创建所固有的喷泉模型:体现了软件创建所固有的迭代和无间隙的特征。迭代和无间隙的特征。2022-7-2423喷泉模型2022-7-24242022-7-2425第2章 需求分析 2.1 需求分析需求分析 2.2 需求分析的过程需求分析的过程 2.3 数据数据流图流图 2.4 数据字典数据字典 2.5 结构化需求分析的若干技术结构化需求分析的若

    17、干技术 2.6 验证软件需求验证软件需求 2.7 小结小结 为什么需要需求分析为什么需要需求分析:开发人员往往急于求成开发人员往往急于求成希望对开发进行指导希望对开发进行指导希望开发人员理解用户的要求希望开发人员理解用户的要求希望用户理解开发人员希望用户理解开发人员测试部门有理可依测试部门有理可依2.1 2.1 需需 求求 分分 析析需求分析的任务需求分析的任务 需求分析的主要任务就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。准确地定义未来系统的目标准确地定义未来系统的目标确定为了满足用户的需求系统必须做什么确定为了满足用户的需求系统必须做什么用用需求规格说明书需求

    18、规格说明书 规范的形式准确地规范的形式准确地表达用户的需求。表达用户的需求。什么是用户需求什么是用户需求n思考、涉及的几个问题思考、涉及的几个问题如何识别、获取需求如何识别、获取需求?你能够采取何种手段与用户进行交流沟你能够采取何种手段与用户进行交流沟通通?何为需求建模何为需求建模?你如何理解模型与建模你如何理解模型与建模?用户对系统的需求通常可分为如下两类用户对系统的需求通常可分为如下两类:(1)功能性需求功能性需求:主要说明了待开发系统在功能上实际应做到什么,是用户最主要的需求。通常包括系统的输入、系统能完成的功能、系统的输出及其他反应。(2)非功能性需求非功能性需求:从各个角度对所考虑的

    19、可能的解决方案的约束和限制。主要包括:过程需求过程需求(如交付需求、实现方法需求等)、产品需求产品需求(如可靠性需求、可移植性需求、安全保密性需求等)和外部需外部需求求(如法规需求、费用需求等)等。需求分析的步骤需求分析的步骤问题分析问题分析问题评估和方案综合问题评估和方案综合建模建模规约规约复审复审 系统分析员的主要系统分析员的主要焦点焦点是是 “做什么做什么(whatwhat)”,不是,不是 “怎样做(怎样做(howhow)”需求获取面临的挑战需求获取面临的挑战 客户说不清楚需求客户说不清楚需求 需求易变性需求易变性问题的复杂性和对问题空间问题的复杂性和对问题空间 理解的不完备性与不一致性

    20、理解的不完备性与不一致性需求获取的常用方法需求获取的常用方法建立分析小组建立分析小组 领域专家:领域专家:主角主角 系统分析员:导演系统分析员:导演客户访谈客户访谈问题分析与确认问题分析与确认 现场提问题的类别现场提问题的类别第一类第一类:关注客户、整体目标和收益:关注客户、整体目标和收益谁是本工作的最初请求者?谁是本工作的最初请求者?谁将使用该解决方案?谁将使用该解决方案?成功的解决方案的经济收益是什么?成功的解决方案的经济收益是什么?存在另外一个需要解决的问题吗?存在另外一个需要解决的问题吗?第二类第二类:便于分析员更好的理解、并使:便于分析员更好的理解、并使得客户更好的表达观点得客户更好

    21、的表达观点对正在开发中的系统能够带来的好处有对正在开发中的系统能够带来的好处有什么看法?什么看法?该解决方案强调了什么问题?该解决方案强调了什么问题?能向我演示或者描述本方案应用的环境能向我演示或者描述本方案应用的环境吗?吗?存在影响本方案的特殊性能问题或约束存在影响本方案的特殊性能问题或约束吗?吗?第三类第三类:所谓的:所谓的“元问题元问题”你是回答这些问题的合适人员吗?你的你是回答这些问题的合适人员吗?你的回答是回答是“正式的正式的”吗?吗?我的提问和你想解决的问题相关吗?我的提问和你想解决的问题相关吗?还有其他人员可以提供附加信息吗?还有其他人员可以提供附加信息吗?还有其他我应该问你的问

    22、题吗?还有其他我应该问你的问题吗?常用的提问词常用的提问词 谁谁 什么什么 哪里哪里 何时何时 为什么为什么 如何(怎样)如何(怎样)某出版社系统调查表某出版社系统调查表编号提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响工作中手工处理什么问题解决不了?影响效率的问题有哪些?效率的问题有哪些?6您认为提高工作效率,节省工作时间,减您认为提高工作效率,节省工作时间,减轻工作强度

    23、可采取哪些办法?轻工作强度可采取哪些办法?某出版社系统调查表某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪您的部门需要成本核算和统计的内容有哪些?些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解哪些问题是目前传统手工方法根本无法解决的?决的?11出版社计算机管理信息系统需要解决什么出版社计算机管理信息系统需要解决什么问题?问题?客户的需求观客户的需求观谁是客户谁是客户?客户是指直接或间接从产品中获得利益客户是指直接或间接从产品中获得利益的个人或组

    24、织的个人或组织 软件客户包括提出要求、支付款项、选软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风择、具体说明或使用软件产品的项目风险承担者险承担者(stakeholder)(stakeholder)或是获得产品或是获得产品所产生的结果的人。所产生的结果的人。客户与开发人员之间的合作关系客户与开发人员之间的合作关系 高质量的需求来源于客户与开发人员之间有效高质量的需求来源于客户与开发人员之间有效的交流与合作的交流与合作 通常,开发人员与客户或客户代理人成为一种通常,开发人员与客户或客户代理人成为一种对立关系对立关系 只有当双方参与者都明白要成功自己需要什么,只有当双方参与者

    25、都明白要成功自己需要什么,同时也应知道要成功合作方需要什么时,才能同时也应知道要成功合作方需要什么时,才能建立起一种合作关系。建立起一种合作关系。软件客户需求权利书软件客户需求权利书(1)(1)客户有如下权利:客户有如下权利:1.1.要求分析人员使用符合客户语言习惯的表达。要求分析人员使用符合客户语言习惯的表达。2.2.要求分析人员了解客户系统的业务及目标。要求分析人员了解客户系统的业务及目标。3.3.要求分析人员组织需求获取期间所介绍的信要求分析人员组织需求获取期间所介绍的信息,并编写软件需求规格说明。息,并编写软件需求规格说明。4.4.要求开发人员对需求过程中所产生的工作结要求开发人员对需

    26、求过程中所产生的工作结果进行解释说明。果进行解释说明。5.5.要求开发人员在整个交流过程中保持和维护要求开发人员在整个交流过程中保持和维护一种合作的职业态度。一种合作的职业态度。软件客户需求权利书(软件客户需求权利书(2 2)6.6.要求开发人员对产品的实现及需求都要提供建议,要求开发人员对产品的实现及需求都要提供建议,拿出主意。拿出主意。7.7.描述产品使其具有易用、好用的特性。描述产品使其具有易用、好用的特性。8.8.可以调整需求,允许重用已有的软件组件。可以调整需求,允许重用已有的软件组件。9.9.当需要对需求进行变更时,对成本、影响、得失当需要对需求进行变更时,对成本、影响、得失(tr

    27、ade-offtrade-off)有个真实可信的评估。)有个真实可信的评估。10.10.获得满足客户功能和质量要求的系统,并且这获得满足客户功能和质量要求的系统,并且这些要求是开发人员同意的。些要求是开发人员同意的。软件客户需求义务书软件客户需求义务书(1)客户有下列义务:客户有下列义务:1.1.给分析人员讲解业务及说明业务方面的术给分析人员讲解业务及说明业务方面的术语等专业问题。语等专业问题。2.2.抽出时间清楚地说明需求并不断完善。抽出时间清楚地说明需求并不断完善。3.3.当说明系统需求时,力求准确详细。当说明系统需求时,力求准确详细。4.4.需要时要及时对需求做出决策。需要时要及时对需求

    28、做出决策。5.5.要尊重开发人员的成本估算和对需求的可要尊重开发人员的成本估算和对需求的可行性分析。行性分析。软件客户需求义务书(软件客户需求义务书(2 2)6.6.对单项需求、系统特性或使用实例划分优先对单项需求、系统特性或使用实例划分优先级。级。7.7.评审需求文档和原型。评审需求文档和原型。8.8.一旦知道要对项目需求进行变更,要马上与一旦知道要对项目需求进行变更,要马上与开发人员联系。开发人员联系。9.9.在要求需求变更时,应遵照开发组织确定的在要求需求变更时,应遵照开发组织确定的工作过程来处理。工作过程来处理。10.10.尊重需求工程中开发人员采用的流程(过尊重需求工程中开发人员采用

    29、的流程(过程)。程)。需求分析的原则需求分析的原则 目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则:(1)能够表达和理解问题的数据域和功能域。能够表达和理解问题的数据域和功能域。(2)能够将复杂问题分解化简。能够将复杂问题分解化简。(3)能够给出系统的逻辑表示和物理表示。能够给出系统的逻辑表示和物理表示。高质量的需求过程带来的好处高质量的需求过程带来的好处开发后期和整个维护阶段的重做的工作开发后期和整个维护阶段的重做的工作大大减少大大减少 强调需求质量并不能引起某些人的重视强调需求质量并不能引起某些人的重视,他们错误地认为在需

    30、求上消耗多少时间他们错误地认为在需求上消耗多少时间就会导致产品开发推迟多少时间就会导致产品开发推迟多少时间将选定系统的需求明确地分配到各软件将选定系统的需求明确地分配到各软件子系统,强调采用产品工程的系统方法。子系统,强调采用产品工程的系统方法。这样能简化硬软件的集成这样能简化硬软件的集成 优秀需求具有的特性优秀需求具有的特性1.1.完整性完整性 2.2.正确性正确性 3.3.可行性可行性 4.4.必要性必要性 5.5.划分优先级划分优先级 6.6.无二义性无二义性 7.7.可验证性可验证性 需求获取的内容需求获取的内容用户需求分类用户需求分类 (1)(1)功能性需求功能性需求:定义了系统做什

    31、么(描述系统必须支持定义了系统做什么(描述系统必须支持 的功能和过程)的功能和过程)(2)(2)非功能性需求非功能性需求(技术需求)(技术需求):定义了系统工作时的特性定义了系统工作时的特性 (描述操作环境和性能目标)(描述操作环境和性能目标)两类需求包括的内容两类需求包括的内容(1)(1)功能功能(2)(2)性能性能(3)(3)环境环境(4)(4)界面界面(5)(5)用户或人的因素用户或人的因素(6)(6)文档文档 (7)(7)数据数据(8)(8)资源资源(9)(9)安全保密安全保密(10)(10)软件成本消耗与开发进度软件成本消耗与开发进度(11)(11)质量保证质量保证 系统做什么?系统

    32、做什么?系统何时做什么?系统何时做什么?系统何时及如何修改系统何时及如何修改 或升级?或升级?软件开发的技术性指标软件开发的技术性指标例如:例如:存储容量限制存储容量限制 执行速度、响应时间执行速度、响应时间 吞吐量吞吐量硬件设备:硬件设备:机型、外设、接口、机型、外设、接口、地点、分布、温度、地点、分布、温度、湿度、磁场干扰等湿度、磁场干扰等软件:软件:操作系统操作系统 网络网络 数据库数据库 有来自其它系统的输入吗?有来自其它系统的输入吗?到自其它系统的输出吗?到自其它系统的输出吗?对数据格式有规定吗?对数据格式有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?用户类型?用户类型?

    33、各种用户熟练程度?各种用户熟练程度?需受何种训练?需受何种训练?用户理解、使用系统的难度?用户理解、使用系统的难度?用户错误操作系统的可能性?用户错误操作系统的可能性?需哪些文档?需哪些文档?文档针对哪些读者?文档针对哪些读者?输入、输出数据的格式?输入、输出数据的格式?接收、发送数据的频率?接收、发送数据的频率?数据的准确性和精度?数据的准确性和精度?数据流量?数据流量?数据需保持的时间?数据需保持的时间?软件运行时所需的数据、软件。软件运行时所需的数据、软件。内存空间等资源。内存空间等资源。软件开发、维护所需的人力、软件开发、维护所需的人力、支撑软件、开发设备等。支撑软件、开发设备等。需对

    34、访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统用户程序如何与其它程序和操作系统隔离?隔离?系统备份要求?系统备份要求?开发有规定的时间表吗?开发有规定的时间表吗?软硬件投资有无限制?什么限制?软硬件投资有无限制?什么限制?系统的可靠性要求?系统的可靠性要求?系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?规定系统平均出错时间?规定系统平均出错时间?出错后,重启系统允许的时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?系统变化如何反映到设计中?维护是否包括对系统的改进?维护是否包括对

    35、系统的改进?系统的可移植性?系统的可移植性?当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义逻辑模型和物理模型逻辑模型和物理模型u模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征 抽象,概括性或近似地表示抽象,概括性或近似地表示u构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分 析的过程。析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程模型构造的过程 逻辑模型逻辑模型 物理模型物理模型 (本质模型

    36、、概念模型本质模型、概念模型)(实施模型、技术模型实施模型、技术模型)现现行行系系统统目目标标系系统统描述重要的业描述重要的业务功能,无论务功能,无论系统是如何实系统是如何实施的。施的。描述现实系统是描述现实系统是如何在物理上实如何在物理上实现的。现的。描述新系统的主描述新系统的主要业务功能和用要业务功能和用户新的需求,无户新的需求,无论系统应如何实论系统应如何实施。施。描述新系统是如描述新系统是如何实施的(包括何实施的(包括技术)。技术)。2.4.1 数据流图数据流图 在需求分析阶段,数据流(也称信息流)是系统分析的基础。数据流图数据流图(DFD,Data Flow Diagram)是描述软

    37、件系统中数据处理过程的一种有力的图形工具。数据流图从数据传递数据传递和加工加工的角度出发,刻画数据流从输入到输出的移动和变换过程移动和变换过程。数据流图的基本符号数据流图的基本符号数据流图中的基本符号数据流图中的基本符号或或符 号含 义数据流的源点和终点数据流文件(数据存储)加工(数据处理)数据流与加工之间的关系数据流与加工之间的关系 在数据流图中,可以有两个以上的数据流进在数据流图中,可以有两个以上的数据流进入同一个加工,也可以有两个以上的数据流从入同一个加工,也可以有两个以上的数据流从同一个加工中流出,这样的多个数据流之间往同一个加工中流出,这样的多个数据流之间往往存在一定的关系。在下表中

    38、列出了加工中常往存在一定的关系。在下表中列出了加工中常见的几种关系的表示方法。见的几种关系的表示方法。加工中常见关系的符号表示加工中常见关系的符号表示T*T*T+T+TT符符 号号含含 义义由数据由数据A和和B共同变换为数据共同变换为数据C由数据由数据A变换为数据变换为数据B和数据和数据C由数据由数据A或或B,或者数据,或者数据A和和B共同变换共同变换为数据为数据C由数据由数据A变换为数据变换为数据B或或C,或者同时变,或者同时变换为数据换为数据B和和C由数据由数据A或或B其中之一变换为数据其中之一变换为数据C由数据由数据A变换为数据变换为数据B或或C其中之一其中之一分层数据流模型的建立方法分

    39、层数据流模型的建立方法:1.建立顶层数据流图建立顶层数据流图顶层顶层流图仅包含一个加工,它代表被开发系统。它的输流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据入流是该系统的输入数据,输出流是系统所输出数据 2.数据流图的分层细化数据流图的分层细化底层底层流图是指其加工不需再做分解的数据流图,它处在流图是指其加工不需再做分解的数据流图,它处在最底层最底层中间层流中间层流图则表示对其上层父图的细化。它的每一加工图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。可能继续细化,形成子图。数据流模型的建立方法数据流模型的建立方法画数据流图画数据流

    40、图规则:由外向里画规则:由外向里画画系统的输入输出画系统的输入输出画系统的内部画系统的内部画加工的内部画加工的内部 工资计算系统的顶层(0层)数据流图人事部门后勤部门出勤表业绩表水电扣款表职工银行工资条工资存款清单工资计算系统 工资计算系统第一层数据流图人事部门后勤部门出勤表业绩表水电扣款表职工银行工资条1计算工资实发工资表3工资转存2打印工资清单工资存款清单工资清单F3人事部门出勤表业绩表1.1计算奖金和缺勤扣款奖金发放表1.2计算应发工资应发工资表1.3计算所得税1.4计算实发工资实发工资表水电扣款表后勤部门所得税扣款缺勤扣款表工资清单F3(a)(b)工资计算实发工资表2.1查找职工银行工

    41、资账号实发工资2.2生成工资存款清单工资存款清单银行账号职工个人工资账号清单F4 工资计算系统的第二层数据流图工资计算系统的第二层数据流图“计算工资计算工资”子数据流图子数据流图“工资转存工资转存”子数据流图子数据流图工资档案文件工资档案文件F2奖惩条例文件奖惩条例文件F1 工资计算系统的第三层数据流图工资计算系统的第三层数据流图人事部门1.1.2计算业绩奖出勤表业绩表请假、旷工时数出勤时数1.1.3计算出勤奖1.1.4计算缺勤扣款业绩奖奖惩条例F1缺勤扣款表1.1.5计算各项奖金之和奖金发放表1.1.1统计出勤、请假及旷工时数出勤奖1.2.1计算各项基本数据之和1.2.2计算工资奖金之和工资

    42、档案F2应发工资表奖金发放表基本工资建立数据流模型的原则建立数据流模型的原则 建立数据流模型要遵循以下的建立数据流模型要遵循以下的原则原则:(1)每个加工至少应有一个输入数据流每个加工至少应有一个输入数据流(反映被处理数反映被处理数据的来源据的来源)和一个输出数据流和一个输出数据流(反映加工的结果反映加工的结果)。(2)数据流图中各构成元素的名称必须具有数据流图中各构成元素的名称必须具有明确的含明确的含义义且能够代表对应元素的且能够代表对应元素的内容或功能内容或功能。(3)对数据流图中某个加工进行细化生成的下层数据对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的流图,称为其上层图

    43、的子图子图。应保证分层数据流图中。应保证分层数据流图中任意对应的任意对应的父图和子图的输入父图和子图的输入/输出数据保持一致输出数据保持一致。(4)在数据流图中,应按照层次给每个加工编号,在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层(第图的关系。编号的规则为:顶层(第0层)加工不用层)加工不用编号;第一层加工的编号为编号;第一层加工的编号为1,2,n;第二层;第二层加工的编号为加工的编号为1.1,1.2,2.1,n.1,n.2,等,依次类推。如编号等,依次类推。如编号1.2表明该加工

    44、处于第二层数表明该加工处于第二层数据流图中,序号为据流图中,序号为2,该图是对上层数据流图中编号,该图是对上层数据流图中编号为为1的加工进行细化得到的子图。的加工进行细化得到的子图。(5)在父图中不要出现子图中涉及的局部数在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需标明所有据存储文件。通常除底层数据流图中需标明所有数据存储外,为了保持画面的整洁,各中间层数数据存储外,为了保持画面的整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。据流图只需显示处于加工之间的接口文件即可。(6)数据流图只能由四种基本符号组成,是数据流图只能由四种基本符号组成,是实际业务流程的客观

    45、映象,用于说明系统应该实际业务流程的客观映象,用于说明系统应该“做什么做什么”,而不需要指明系统而不需要指明系统“如何做如何做”。(7)数据流图的分解速度应保持适中。通常一数据流图的分解速度应保持适中。通常一个加工每次可分解为个加工每次可分解为24个子加工,最多不要超过个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解七个,因为过快的分解会增加用户对系统模型理解的难度。的难度。3.4.2 数数 据据 字字 典典(DD,Data Dictionary)虽然数据流图能够形象、清晰地描述数据在系统虽然数据流图能够形象、清晰地描述数据在系统中流动、加工、存储的情况,但数据流图中的许多中

    46、流动、加工、存储的情况,但数据流图中的许多构成元素,如数据流、数据存储、加工,仅依靠名构成元素,如数据流、数据存储、加工,仅依靠名称称并不能反映其本质含义并不能反映其本质含义,因此必须对这些构成元因此必须对这些构成元素进行严格的定义。素进行严格的定义。DD是对所有与系统相关的数据元素的一个有组织的列表是对所有与系统相关的数据元素的一个有组织的列表,以及以及精确的、精确的、严格的定义严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。共同的理解。2.4.1 数据字典的基本符号数据字典的基本符号 数据字典中的基本

    47、符号及其含义数据字典中的基本符号及其含义符符 号号含含 义义说说 明明=表示定义为表示定义为用于对用于对=左边的条目进行确切的定义左边的条目进行确切的定义+表示与关系表示与关系X=a+b表示表示X由由a和和b共同构成共同构成|,表示或关系表示或关系X=a|b与与X=a,b等价,表示等价,表示X由由a或或b组成组成()表示可选项表示可选项X=(a)表示表示a可以在可以在X中出现,也可以不出现中出现,也可以不出现 表示重复表示重复大括号中的内容重复大括号中的内容重复0到多次到多次m n表示规定次数的重复表示规定次数的重复重复的次数最少重复的次数最少m次,最多次,最多n次次“”表示基本数据元素表示基

    48、本数据元素“”中的内容是基本数据元素,不可再分中的内容是基本数据元素,不可再分.连接符连接符month=1.12表示表示month可取可取112中的任中的任意值意值*表示注释表示注释两个星号之间的内容为注释信息两个星号之间的内容为注释信息需求建模实例需求建模实例1 1:数据字典条目的定义数据字典条目的定义 预订请求预订请求客人数据住宿期限客人数据住宿期限+客房类客房类别别 客人数据客人数据客人姓名客人姓名+地址地址+身份证号码身份证号码+护照号码护照号码+支付方式支付方式 身份证号码身份证号码=十进制十进制1515数字数字1818 护照号码护照号码字母字母 +8+8数字数字88 字母字母“A

    49、A”“Z Z”十进制数字十进制数字“0 0”“9 9”需求建模实例需求建模实例2 2:数据字典条目的定义数据字典条目的定义 航班信息文件航班信息文件 航空公司名称航班航空公司名称航班号起点终点日期号起点终点日期 起飞时间起飞时间降落时间降落时间 航空公司名称航空公司名称22字母字母44 航班号航班号33十进制数字十进制数字33 字母字母“A A”“Z Z”十进制数字十进制数字“0 0”“9 9”起点起点终点终点11汉字汉字1010 起飞时间起飞时间降落时间降落时间时分时分 时时“0000”“2323”分分“0000”“5959”日期日期年月日年月日 年年20002000200120012002

    50、200220042004 月月“0101”“1212”日日“0101”“3131”3.4.2 数据字典中的条目及说明格式数据字典中的条目及说明格式 数据字典是关于数据流图中各种成分详细定义数据字典是关于数据流图中各种成分详细定义的信息集合,可将其按照说明对象的类型划分为的信息集合,可将其按照说明对象的类型划分为四类条目四类条目:数据流条目数据流条目数据项条目数据项条目数据文件条目数据文件条目数据加工条目数据加工条目 1.数据流条目数据流条目 数据流在数据流图中主要用于说明数据结构在系统系统中的作用和流动方向中的作用和流动方向,因此数据流也被称作“流动的数据结构”。数据字典中数据流条目应包括以下

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:全书配套课件:面向对象软件工程与UML.ppt
    链接地址:https://www.163wenku.com/p-3158710.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库