《软件工程理论与案例》全套教学课件_第1页
《软件工程理论与案例》全套教学课件_第2页
《软件工程理论与案例》全套教学课件_第3页
《软件工程理论与案例》全套教学课件_第4页
《软件工程理论与案例》全套教学课件_第5页
已阅读5页,还剩528页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程概述第1章

软件工程概述第2章

可行性研究第3章

需求分析第4章

概要设计第5章

详细设计第6章

软件编码第7章

软件测试第8章

软件维护第9章

软件项目管理本课件是可编辑的正常PPT课件全套可编辑PPT课件

软件工程概述SoftwareEngineeringOverview

主讲教师:***第1章本课件是可编辑的正常PPT课件目录1.11.21.31.4软件工程的产生和发展软件与软件过程软件过程模型软件开发方法本课件是可编辑的正常PPT课件知识图谱本课件是可编辑的正常PPT课件1.1软件工程的产生和发展Theemergenceanddevelopmentofsoftwareengineering本课件是可编辑的正常PPT课件1.1软件工程的产生和发展软件工程(SoftwareEngineering)是一门指导计算机软件系统开发和维护的工程学科,它涉及计算机科学、管理学、数学等多个学科,包括软件系统的开发方法和技术、管理技术,还包括软件工具、环境及软件开发的规范。本课件是可编辑的正常PPT课件1.1.1软件危机与软件工程1.软件危机

60年代末,随着软件规模越来越大,复杂度不断增加,造成软件危机。2.软件危机的表现

软件危机体现于可靠性无保障、维护量大、费用上升、进度难测、成本失控、人员激增等问题,导致软件开发难以控制。本课件是可编辑的正常PPT课件3.软件工程概念的形成软件危机威胁全球软件产业,1968年北大西洋公约组织会议提出“软件工程”概念,采用工程化方法应对。自此,软件工程在理论和实践上不断进步,但仍需长期努力。至今,其发展已历经四阶段。1.1.1软件危机与软件工程本课件是可编辑的正常PPT课件1.1.1软件危机与软件工程3.软件工程概念的形成

本课件是可编辑的正常PPT课件1.1.2软件工程的定义及基本原则软件工程的定义1983年,IEEE定义:软件工程是开发、运行、维护和修复软件的系统方法。1990年,IEEE定义:将系统的、规范的、可度量的方法应用于软件的开发、运行和维护,即将工程应用于软件,并研究以上实现的途径。ISO9000定义:软件工程过程是输入转化为输出的一组彼此相关的资源和活动。本课件是可编辑的正常PPT课件1.1.2软件工程的定义及基本原则软件工程的定义

软件工程是一门指导软件开发的工程学科,它以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。即软件工程研究的目标是“以较少的投资获取高质量的软件”。本课件是可编辑的正常PPT课件1.1.2软件工程的定义及基本原则2.软件工程的基本原则(1)需认识软件需求变动性,采取适当措施满足用户。软件设计要考虑模块化、抽象、信息隐蔽、局部化、一致性等原则。(2)稳妥的设计方法将大大方便软件开发,以达到软件工程的目标。软件工具与环境对软件设计的支持来说,颇为重要。本课件是可编辑的正常PPT课件1.1.2软件工程的定义及基本原则2.软件工程的基本原则(3)软件工程项目的质量与经济开销取决于对它所提出的支撑质量与效用。

(4)只有在强调对软件过程进行有效管理的情况下,才能实现有效的软件工程。本课件是可编辑的正常PPT课件1.1.3软件工程研究的内容

软件工程研究的主要内容有以下几方面:方法与技术、工具及环境、管理技术、标准与规范。1.软件开发方法涵盖各种方法、工作模型,涉及需求分析、总体设计、软件结构、数据结构、算法设计及具体实现技术。2.软件工具为软件工程方法提供支持,研究计算机辅助软件工程,建立软件工程环境。本课件是可编辑的正常PPT课件1.1.3软件工程研究的内容3.软件工程管理,是指对软件工程全过程的控制和管理,包括计划安排、成本估算、项目管理、软件质量管理等。4.软件工程标准化与规范化,使得各项工作有章可循,以保证软件生产效率和软件质量的提高。软件工程标准可分为4个层次:国际标准、行业标准、企业规范和项目规范。

本课件是可编辑的正常PPT课件1.1.3软件工程研究的内容

此外,按照美国电子电气工程师学会IEE-CS于2015年发布的软件工程知识体系定义的软件工程学科的内涵,软件工程研究的内容由17个知识域构成。本课件是可编辑的正常PPT课件1.1.3软件工程研究的内容1.软件需求2.软件设计3.软件构造4.软件测试5.软件维护6.软件配置管理7.软件工程管理8.软件工程模型与方法9.软件工程过程10.软件质量11.软件工程经济学12.软件服务工程13.软件工程典型应用14.软件工程职业实践15.计算基础16.工程基础17.数学基础本课件是可编辑的正常PPT课件1.2软件与软件过程SoftwareandSoftwareProcesses本课件是可编辑的正常PPT课件1.2软件与软件过程

软件工程是在软件生产中采用工程化的方法,并采用一系列科学的、现代化的方法和技术来开发软件的。这种工程化的思想贯穿软件开发和维护的全过程。本课件是可编辑的正常PPT课件1.2.1软件的概念和特点软件就是程序,开发软件就是编写程序

Boehm指出:软件是程序,以及开发、使用和维护程序所需的所有文档。它是由应用程序、系统程序、面向用户的文档及面向开发者的文档四部分构成的。

本课件是可编辑的正常PPT课件1.2.1软件的概念和特点硬件失效率曲线软件失效率曲线硬件失效率的“U形”曲线(浴盆曲线),说明硬件随着使用时间的增加,失效率急剧上升。软件失效率曲线无“U形”右半翼,随时间增加失效率降;因为软件不存在磨损和老化问题,但存在退化问题。本课件是可编辑的正常PPT课件1.2.1软件的概念和特点

软件生存期,又称生命周期,是指一个从用户需求开始,经过开发、交付使用,在使用中不断地增补修订,直至软件报废的全过程。

软件生命周期分为以下七个阶段:1.可行性研究和项目开发计划。该阶段必须要回答的问题是“软件系统要解决的问题是什么”。2.需求分析。该阶段的任务是通过分析准确地确定软件系统必须具备哪些功能。本课件是可编辑的正常PPT课件1.2.1软件的概念和特点3.概要设计。也称总体设计。确定软件体系结构,划分子系统模块及确定模块之间的关系。并确定系统的数据结构和进行界面设计。4.详细设计。即对每个模块完成的功能、算法进行具体描述,要把功能描述变为精确的、结构化的过程描述。5.软件构造。该阶段把每个模块的控制结构转换成计算机可接受的程序代码,即编写以某特定程序设计语言表示的“源代码”。本课件是可编辑的正常PPT课件1.2.1软件的概念和特点6.测试。是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。测试分为模块测试、组装测试、确认测试等。7.维护。软件维护是软件生存期中时间最长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至几十年。本课件是可编辑的正常PPT课件1.3软件过程模型SoftwareProcessModel本课件是可编辑的正常PPT课件1.3软件过程模型

软件工程过程是指在软件工具的支持下,所进行的一系列软件工程活动。通常包括以下4类基本过程:1.软件规格说明。规定软件的功能及其运行环境。2.软件开发。产生满足规格说明的软件。3.软件确认。确认软件能够完成客户提出的要求。4.软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。本课件是可编辑的正常PPT课件软件工程过程具备可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等特性。

软件工程包含方法、工具和过程三个要素:方法研究“如何做”,工具为方法提供支撑环境,软件工程过程则是指将软件工程方法与软件工具相结合,为开发高质量软件规定工作步骤。1.3软件过程模型本课件是可编辑的正常PPT课件

软件过程模型也称为软件生存期模型或软件开发模型,描述软件活动中各阶段次序、准则及规定。

软件过程模型确立了开发过程所遵守的规定和限制,便于各种活动的协调以及各种人员的有效通信,有利于活动重用和活动管理。1.3软件过程模型本课件是可编辑的正常PPT课件

1970年W.Royce提出瀑布模型,将软件开发分多阶段,各阶段依次进行,以上阶段成果为下阶段基础,完成后产生文档,适合需求明确的项目。瀑布模型1.3软件过程模型本课件是可编辑的正常PPT课件增量模型属非整体开发,分渐增和快速原型两类,与瀑布模型的区别在于整体与非整体开发,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。增量模型1.3软件过程模型本课件是可编辑的正常PPT课件螺旋模型结合瀑布模型与增量模型,加入风险分析,分多个螺旋周期,每周期含计划、风险分析、实施、评估四步。螺旋模型1.3软件过程模型本课件是可编辑的正常PPT课件喷泉模型以面向对象方法为基础,以用户需求为源泉,有以下特点:1.喷泉模型规定软件开发过程有分析、系统设计、软件设计和实现共4个阶段。2.喷泉模型的各阶段相互重叠,它反映了软件过程并行性的特点。喷泉模型1.3软件过程模型本课件是可编辑的正常PPT课件3.喷泉模型分析为基础,资源消耗塔形,分析阶段最多。4.喷泉模型反映了迭代性,从高层返回低层无资源消耗5.喷泉模型强调增量开发,整个过程是一个迭代的逐步提炼的过程。喷泉模型1.3软件过程模型本课件是可编辑的正常PPT课件6.喷泉模型是对象驱动的过程7.在实现时可根据活动分为系统实现和对象实现,这既反映了全系统的开发过程,也反映了对象族的开发和重用过程。喷泉模型1.3软件过程模型本课件是可编辑的正常PPT课件

原型是软件早期可运行版本,反映软件系统部分重要特性。原型模型反映了快速建立软件原型的过程,包括快速分析、构造、运行评价及修改改进四步。原型模型1.3软件过程模型本课件是可编辑的正常PPT课件

智能模型也称为基于知识的软件开发模型,是知识工程与软件工程在开发模型上结合的产物,以瀑布模型与专家系统的综合应用为基础建立的模型。智能模型1.3软件过程模型本课件是可编辑的正常PPT课件智能模型优点:领域专家系统使需求更完整、准确且无二义性软件工程专家系统提供设计支持。结合领域和软件工程知识辅助开发。

建立适合的软件设计专家系统很难,但AI技术在软件开发中已有局部应用,并取得进展智能模型1.3软件过程模型本课件是可编辑的正常PPT课件1.4软件开发方法Softwaredevelopmentmethodology本课件是可编辑的正常PPT课件1.4软件开发方法软件开发方法用预定义技术和符号组织生产,分为步骤,旨在按时、低投入开发高质量、满足需求的软件。

软件开发方法分为面向过程和面向对象两类。本课件是可编辑的正常PPT课件1.4.1结构化开发方法

结构化开发方法是一种面向数据流的开发方法,它的基本原则是功能的分解与抽象。是现有的软件开发方法中最成熟、应用最广泛的方法,该方法的主要特点是快速,自然和方便。

结构化方法的指导思想是“自顶向下、逐步求精”。

结构化方法的工作模型——瀑布模型,从20世纪80年代开始,逐渐发现其不足:存在回溯不足、阶段硬性分割、不能从本质上反映软件开发过程本身的规律、过分强调复审等局限,尽管如此,仍是早期有效工程模型。本课件是可编辑的正常PPT课件1.4.2原型化开发方法原型化方法以少量代价建可运行系统,强调用户与开发人员交互,通过原型演进适应需求变化,将维护和修改阶段的工作尽早进行,提前用户验收,使软件更适用。

原型化方法又分为两类:1.快速建立需求规格原型(RSP法)2.快速建立渐进原型(RCP法)本课件是可编辑的正常PPT课件1.4.2原型化开发方法速成原型法适合反复迭代的开发过程,尤其适用于探索型、实验型与进化型软件系统,其思想符合实际软件开发流程。

通常有三类原型:用户界面原型,功能原型,性能原型。

按照功能又可分为界面原型、功能原型和性能原型。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法

面向对象的开发方法以对象作为最基本的元素。

基本思想是:对问题领域进行自然的分割,以更接近人类通常思维的方式建立问题领域的模型,以便对客观的信息实体进行结构和行为的模拟,从而使设计的软件更直接地表现问题的求解过程。面向对象=对象+类+继承+消息本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法1.面向对象的基本概念

面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心。对象与类是讨论面向对象方法的最基本、最重要的概念。(1)

对象对象是对客观事物或概念的抽象表述,对象不仅能表示具体的实体,也能表示抽象的规则、计划或事件。(2)类类是一组具有相同数据结构和相同操作的对象的集合。类是对象的模板。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法1.面向对象的基本概念(3)继承

继承以现存的定义作为基础,建立新定义的技术,是父类和子类之间共享数据结构和方法的机制。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法1.面向对象的基本概念(4)消息

消息是指对象之间在交互中所传送的通信信息。一个消息应该包含以下信息:消息名、接收消息对象的标识、服务标识、消息和方法、输入信息、回答信息等。消息使对象之间互相联系,协同工作,实现系统的各种服务。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法2.面向对象开发的组成

由OOA(面向对象的分析)、OOD(面向对象的设计)和OOP(面向对象的程序设计)三部分组成。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法2.面向对象开发的组成(1)OOA法OOA就是要解决“做什么”的问题。基本任务是建立以下三种模型:1)对象模型(信息模型)。定义构成系统的类和对象,它们的属性与操2)

状态模型(动态模型)。描述任何时刻对象的联系及其联系的改变,即时序。常用状态图,事件追踪图描述。3)

处理模型(函数模型)。描述系统内部数据的传送处理。本课件是可编辑的正常PPT课件1.4.3面向对象的开发方法2.面向对象开发的组成(2)OOD法OOD在需求分析的基础上进一步解决“如何做”的问题,分为概要设计和详细设计。

其中面向对象的分析(OOA)与面向对象的设计(OOD)是面向对象开发方法的关键。本课件是可编辑的正常PPT课件1.4.4敏捷开发方法1.敏捷开发方法的基本概念

敏捷软件开发又称敏捷开发,是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。本课件是可编辑的正常PPT课件1.4.4敏捷开发方法2.XP方法介绍

按照敏捷软件开发的思想和原则,推出了许多具体的实践方法,如:XP、Scrum、Crystal、Methods、FDD等。

其中XP方法是最具代表性的敏捷开发方法,又称极限编程。

极限编程以用户需求作为软件开发的最终目标,是一种以实践为基础的软件工程过程,极限编程强调测试,是一种测试驱动的开发方法,强调代码质量和及早发现问题,以适应环境和需求的变化。本课件是可编辑的正常PPT课件1.4.4敏捷开发方法2.XP方法介绍

(1)核心价值观:沟通、简单、反馈和勇气。

(2)XP方法的12项最佳实践:1)规划策略2)小型发布3)系统隐喻4)简单设计5)测试6)重构7)结对编程8)代码集体所有9)持续集成10)每周工作40小时11)现场客户12)编码标准本课件是可编辑的正常PPT课件1.4.4敏捷开发方法2.XP方法介绍

(3)XP方法的开发过程

XP包含了策划、设计、编码和测试4个框架活动的规则和实践。本课件是可编辑的正常PPT课件1.4.4敏捷开发方法2.XP方法介绍

(4)敏捷开发的原则1)快捷迭代2)让测试人员和开发者参与需求讨论3)编写可测试的需求文档4)多沟通,尽量减少文档。5)做好产品原型。6)及早考虑测试。本课件是可编辑的正常PPT课件可行性研究SoftwareCoding第2章

主讲教师:***本课件是可编辑的正常PPT课件目录2.12.22.32.4研究任务研究过程研究工具案例本课件是可编辑的正常PPT课件知识图谱本课件是可编辑的正常PPT课件2.1研究过程ResearchProcess本课件是可编辑的正常PPT课件2.1可行性研究的任务

可行性研究的目的不是解决问题,而是确定问题是否值得去解决,为此要进行足够的客观分析。一般从技术可行性、经济可行性、操作可行性三方面进行研究。本课件是可编辑的正常PPT课件2.1可行性研究的任务1.技术可行性

技术可行性是指使用现有的技术能否实现这个系统。在项目开发的可行性分析队伍中需要一个专门的技术小组做相关的技术调研。2.经济可行性

经济可行性是指这个系统的经济效益能否超过它的开发成本。也就是说,该项目能否赚钱,能否获得利润。本课件是可编辑的正常PPT课件2.1可行性研究的任务3.操作可行性

操作可行性分析主要考查该项目在目前的组织里面能否执行,包括人力资源、物质资源等各种资源的分析。本课件是可编辑的正常PPT课件2.2可行性研究的过程TheProcessofFeasibilityStudy本课件是可编辑的正常PPT课件2.2可行性研究的过程1.复查系统规模和目标分析员通过访问关键人员和审阅材料,复查确认问题定义阶段的报告,明确目标和规模,改正模糊叙述,并清晰描述系统限制。例如,在超市销售系统中,需先确认超市规模,再据商品种类定价格清单,含特价商品等细节。本课件是可编辑的正常PPT课件2.2可行性研究的过程2.研究目前正在使用的系统现有系统是信息的重要来源,能完成有用工作,故新系统需保留其基本功能。同时,现有系统必有缺陷,新系统需解决这些问题。以小型超市网上销售系统为例,分析员可借鉴淘宝、易趣等系统,并了解旧系统问题及新需求。本课件是可编辑的正常PPT课件2.2可行性研究的过程3.导出新系统的高层逻辑模型优秀的设计过程是从现有物理系统出发,经逻辑模型转换,设想目标系统逻辑模型,再构建新物理系统实现功能。本课件是可编辑的正常PPT课件2.2可行性研究的过程4.重新定义问题分析员与用户复查问题定义,对问题进行重新定义和修正。由此可见,可行性研究的前四个步骤实质上构成一个循环:定义问题、分析、导出试探解、再定义问题,直至逻辑模型符合系统目标。本课件是可编辑的正常PPT课件2.2可行性研究的过程5.导出和评价供选择的解法(1)系统分析员从逻辑模型导出高层物理解法,从技术角度排除不现实方案。

(2)考虑操作可行性,评估开发、运行成本及潜在节省或增收。

(3)为可行系统制定实现进度表,估算各阶段工作量。本课件是可编辑的正常PPT课件2.2可行性研究的过程6.推荐行动方针根据可行性研究,决定是否继续开发,系统分析员应提出可行方案及选择理由。7.草拟开发计划

进一步为系统草拟一份开发计划,包括任务分解、进度规划、财务预算、风险分析及对策8.书写文档提交审查

请用户和使用部门的负责人仔细审查,以决定是否继续本课件是可编辑的正常PPT课件2.3可行性研究阶段使用的工具ToolsUsedduringtheFeasibilityStudyPhase本课件是可编辑的正常PPT课件2.3.1系统流程图可行性研究用系统流程图描绘物理系统,显示信息流动而非处理过程,是物理数据流图。本课件是可编辑的正常PPT课件2.3.1系统流程图1.符号本课件是可编辑的正常PPT课件2.3.1系统流程图1.符号本课件是可编辑的正常PPT课件2.3.1系统流程图1.符号本课件是可编辑的正常PPT课件2.3.1系统流程图1.符号其中,处理、输入/输出、连接、换页连接和数据流是系统流程图的基本符号,其余如穿孔卡片等11种符号为系统流程图的系统符号。本课件是可编辑的正常PPT课件2.3.1系统流程图2.例子问题描述:装配厂仓库记录零件数量及临界值于库存清单。零件数量变动时更新清单,低于临界值则报告采购部,每天送一次订货报告。本课件是可编辑的正常PPT课件2.3.1系统流程图2.例子根据描述进行分析,并基于此绘制库存管理系统的系统流程图:(1)装配厂用计算机处理更新库存清单主文件和产生订货报告任务。(2)零件库存量的每次变化称为事务。(3)由放在仓库中的CRT终端输入到计算机中。(4)系统中库存清单程序对应事务处理。(5)更新磁盘上库存清单主文件,并且把必要的订货信息写在磁带上。(6)每天报告生成程序打印订货报告。本课件是可编辑的正常PPT课件2.3.1系统流程图2.例子库存管理系统的系统流程图如下:本课件是可编辑的正常PPT课件2.3.1系统流程图3.分层

面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。

首先,用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。

然后,分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。

这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。本课件是可编辑的正常PPT课件2.3.2数据流图系统流程图表达现有系统,形象易验证,但开发目标是创造新系统。系统流程图功能与实现方案混杂,需数据流图(DataFlowDiagram,DFD)总结系统,描绘逻辑模型及信息流动处理情况。本课件是可编辑的正常PPT课件2.3.2数据流图1.符号数据流图有4种符号:源点/终点用正方形/立方体,处理用圆角矩形/圆形,存储用开口矩形/平行线,数据流用箭头。勿将数据流与控制流混淆,数据流图应描绘所有可能的数据流向,不表现条件。本课件是可编辑的正常PPT课件2.3.2数据流图1.符号源点与终点可以是相同的,但是不建议用同一个符表示,数据存储可重复以增加清晰度。同一个符号出现在n个地方,则在这个符号的一个角上画n-1条短斜线作标记。

数据流图忽略出错及内务处理,重点描绘“做什么”。

除了上述四种基本符号还会使用附加符号如*表示“与”,+表示“或”,⊕表示互斥选。本课件是可编辑的正常PPT课件2.3.2数据流图1.符号数据流图中,处理可代表程序、模块或人工过程;数据存储可表示文件、部分文件、数据库的元素或记录的一部分等,与数据流均为数据,仅状态不同,是处于静止状态的数据。

下图是数据流图附加符号及其含义本课件是可编辑的正常PPT课件2.3.2数据流图1.符号

本课件是可编辑的正常PPT课件2.3.2数据流图1.符号

本课件是可编辑的正常PPT课件2.3.2数据流图2.数据流图的层次结构

为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。本课件是可编辑的正常PPT课件2.3.2数据流图2.数据流图的层次结构多层数据流图中,顶层流图代表被开发系统,含一个加工,有输入输出流。底层流图无需再分解,为最底层模块。中间层流图细化上层父图,加工可继续细化成子图。本课件是可编辑的正常PPT课件2.3.2数据流图3.命名

命名影响数据流图的可理解性,下列是命名时应注意的问题

(1)为数据流或数据存储命名1)名字应代表整个数据流或数据存储的内容2)不要使用空洞的、无具体含义的名字3)起名遇到困难可能是对数据流图分解不恰当,应尝试重新分解本课件是可编辑的正常PPT课件2.3.2数据流图3.命名

(2)为处理命名1)先为数据流命名,再为与其相关的处理命名2)名字要反映整个处理的功能3)名字最好由一个具体的及物动词加上一个具体的宾语组成。4)一般名字只含有一个动词,需要两个动词描述时考虑分解

5)如果在为某个处理命名时遇到困难,可能是出现分解不当的情况,应考虑重新分解。本课件是可编辑的正常PPT课件2.3.2数据流图4.例子

问题描述:工厂采购部需日订货报表,按零件编号排,列需订货零件。报表含:编号、名、订货量、价、主供者、次供者。事务(入库/出库)通过CRT终端报订货系统,库存<临界值则订货。

据此绘制一个数据流图。本课件是可编辑的正常PPT课件2.3.2数据流图4.例子

首先确定系统的输入和输出,根据仓库管理的业务,画出顶层数据流图,以反映最主要业务处理流程。本课件是可编辑的正常PPT课件2.3.2数据流图4.例子仓管业务主功能是数据处理、报表生成。数据源与终点为仓管员与采购员。按仓管流程,从输入至输出画数据流加工框,得到第一层数据流图。本课件是可编辑的正常PPT课件2.3.2数据流图4.例子细化第一层数据流图:事务先接收,再修改库存清单,若库存<临界值则处理订货。该功能分解为:接收事务、更新库存清单、处理订货。本课件是可编辑的正常PPT课件2.3.2数据流图5.检查和修改数据流图的原则(1)数据流图上的所有图形符号只限于前述4种基本图形元素,并且必须包括前述4种基本元素,缺一不可。(2)数据流图主图上的数据流必须封闭在外部实体之间。(3)每个加工至少有一个输入数据流和一个输出数据流。(4)在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。本课件是可编辑的正常PPT课件2.3.2数据流图5.检查和修改数据流图的原则(5)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。(6)可以在数据流图中加入物质流,帮助用户理解数据流图。(7)图上每个元素都必须有名字。(8)数据流图中不可夹带控制流。(9)初画时可以忽略琐碎的细节,以集中精力于主要数据流。本课件是可编辑的正常PPT课件2.3.3数据字典

数据字典(DataDictionary,DD)是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合,它与数据流图配合,共同构成系统的逻辑模型,能清楚地表达数据处理的要求,数据字典的主要用途是在软件分析和设计的过程中给人提供关于数据的描述信息。本课件是可编辑的正常PPT课件2.3.3数据字典数据字典的内容

一般说来,数据字典应该由对下列4类元素的定义组成:

(1)数据流。

(2)数据流分量(即,数据元素)。

(3)数据存储。

(4)处理。

本课件是可编辑的正常PPT课件2.3.3数据字典数据字典的内容

在数据字典中,对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字、别名或编号、分类、描述、定义、位置、其他等,别名就是该元素的其他等价的名字,定义包括数据类型、长度、结构等。本课件是可编辑的正常PPT课件2.3.3数据字典2.定义数据的方法

定义绝大多数复杂事物的方法,都是用被定义的事物的成分的某种组合表示这个事物,这些组成成分由更低层的成分的组合来定义,数据字典中的定义是对数据自顶向下的分解,组成数据的方式有4种基本类型。

(1)顺序。即以确定次序连接两个或多个分量。

(2)选择。即从两个或多个可能的元素中选取一个。

(3)重复。即把指定的分量重复零次或多次。

(4)可选。即一个分量是可有可无的(重复零次或一次)。本课件是可编辑的正常PPT课件2.3.3数据字典2.定义数据的方法

为了更清晰的描述由数据元素组成数据的关系,建议采用下列符号。=意思是等价于(或定义为);+意思是和(即连接两个分量);[]意思是或(即从方括号内列出的若干分量中选择一个);{}意思是重复(即重复花括号内的分量);()意思是可选(即圆括号里的分量可有可无)。本课件是可编辑的正常PPT课件2.3.3数据字典

本课件是可编辑的正常PPT课件2.3.3数据字典

本课件是可编辑的正常PPT课件2.3.3数据字典3.例子

下面给出本节第一小节的例子中几个数据元素的数据字典卡片,以具体说明数据字典卡片中上述几项内容的含义。本课件是可编辑的正常PPT课件2.3.3数据字典3.例子(1)数据流描述名称:订货报表别名:订货信息描述:每天一次送给采购员的需要订货的零件表数据流来源:来自仓库管理员事务处理数据流去向:采购员数据流组成:零件编号+零件名称+订货数量+目前价格+主要供应者+次要供应者位置:输出到打印机本课件是可编辑的正常PPT课件2.3.3数据字典3.例子(2)数据元素描述名称:零件编号别名:描述:唯一的标识库存清单中一个特定零件的关键域类型:字符长度:8取值范围:0000~9999位置:订货报表订货信息库存清单本课件是可编辑的正常PPT课件2.3.3数据字典3.例子(3)数据文件描述名称:库存清单别名:描述:存放每个零件的信息输入数据:库存清单输出数据:库存清单数据文件组成:零件编号+零件名称+入库数量+出库数量+库存量+入库日期+出库日期+经办人储存方式:关键码本课件是可编辑的正常PPT课件2.4案例Case本课件是可编辑的正常PPT课件2.4案例大学生在线学习系统可行性分析(研究)报告(摘录)1.引言 1.1编写目的 1.2项目背景 1.3项目概述 1.4参考文档本课件是可编辑的正常PPT课件2.4案例大学生在线学习系统可行性分析(研究)报告(摘录)2.可行性分析的前提 2.1项目的要求 2.1.1主要功能 2.1.2性能要求 2.1.3安全与保密要求 2.1.4完成期限 2.2项目的目标 2.3条件、假定和限制本课件是可编辑的正常PPT课件2.4案例大学生在线学习系统可行性分析(研究)报告(摘录)3.可选择的系统方案4.经济可行性 4.1支出 4.2效益 4.3收益/投资比 4.4投资回收周期本课件是可编辑的正常PPT课件2.4案例大学生在线学习系统可行性分析(研究)报告(摘录)5.技术可行性 5.1业务应用服务 5.2WEB应用服务器 5.3数据库 5.4缓存 5.5独立的图片服务器本课件是可编辑的正常PPT课件2.4案例大学生在线学习系统可行性分析(研究)报告(摘录)6.社会因素方面的可行性 6.1法律可行性 6.2用户使用可行性7.其他与项目有关的问题8.结论本课件是可编辑的正常PPT课件需求分析RequirementAnalysis第3章

主讲教师:***本课件是可编辑的正常PPT课件目录3.13.23.33.4需求分析任务需求分析步骤需求获取方法需求分析方法3.5案例本课件是可编辑的正常PPT课件知识图谱本课件是可编辑的正常PPT课件3.1需求分析任务TheTaskofRequirementAnalysis本课件是可编辑的正常PPT课件3.1需求分析的任务

为了开发出用户真正满意的软件产品,首先必须做全面、详细的需求调查,了解用户的需求。虽然在可行性研究阶段已经基本了解了用户需求,并且提出了一些可行性方案,但可行性研究的目的只是确定是否存在可行的解法,可能有很多需求细节被忽略了,所以可行性研究并不能代替需求分析。本课件是可编辑的正常PPT课件3.1.1需求分析的任务概述需求分析包括获取与分析两环节。用户知道需求但不知如何实现,分析人员知道如何实现却不明用户真意,故需沟通。获取阶段,开发人员收集大量需求信息,但其中含非软件需求、无关信息或冲突信息。本课件是可编辑的正常PPT课件3.1.1需求分析的任务概述分析任务在于提炼、分析、审查这些信息,找核心、内在联系及矛盾,去非本质,建逻辑模型。此过程耗时最长、任务最重。目的是明确用户真需求,建逻辑模型,找冲突、遗漏等问题。

需求分析虽处初期,但对整个开发过程及产品质量至关重要,需完整准确。结束时,应撰写软件需求规格说明书,准确描述需求。本课件是可编辑的正常PPT课件3.1.2需求分析任务详解1.确定对系统的综合要求

软件需求任务是通过交流获取用户具体要求,并准确文档化,作为设计依据。结束时需提交软件需求规格说明书。

用户对软件系统通常有以下几个方面的综合要求:(1)功能需求(2)性能需求(3)可靠性和可用性需求(4)出错处理需求(5)接口需求(6)约束(7)其他类型需求如环境、安全性需求、界面设计和开发工期、费用等本课件是可编辑的正常PPT课件2.分析系统的数据要求

软件需求分析的一个重要任务是将获取的需求信息通过数据逻辑模型进行分析,以便更直观地理解系统需求。常采用E-R图来展示,对于复杂数据可分解成基本元素,并用数据字典全面描述。同时,常用图形工具如层次方框图、Warmier图等辅助描绘数据结构,提高理解的准确性。3.1.2需求分析任务详解本课件是可编辑的正常PPT课件3.导出系统的逻辑模型

经过上述的综合分析,可以导出系统详细的逻辑模型,包括细化的数据流图、数据字典、完整的E-R图和输入与输出算法描述逻辑模型(即IPO图)。3.1.2需求分析任务详解本课件是可编辑的正常PPT课件3.2需求分析步骤TheStepsofRequirementAnalysis本课件是可编辑的正常PPT课件3.2需求分析的步骤软件需求阶段的工作,可分为以下几个步骤进行。1.获取用户的初始需求2.确定系统的真正需求3.建立系统的逻辑模型4.书写需求规格说明书5.进行需求复审本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子现以教学管理系统为例,对系统功能加以分析:(1)用户登录和注册功能。1)用户注册。由管理员负责对新教师和学生进行注册,设置用户名和密码。2)用户登录。管理员、教师和学生通过用户名和密码登录系统,系统验证用户的信息是否合法。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子(2)用户管理功能包括教师信息管理、学生信息管理。1)教师信息管理。其主要对教师信息进行管理,包括教师信息的注册、教师信息的修改、教师信息的注销、教师信息的查询以及教师的登录、退出功能。2)学生信息管理。其主要对学生信息进行管理,包括学生信息的注册、学生信息的修改、学生信息的删除、学生信息的查询以及学生的登录、退出功能。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子(3)班级管理功能。其主要对班级信息进行管理,包括班级的建立、班级信息的查询、班级信息的修改及学生毕业后班级信息的删除。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子(4)课程管理功能包括课程的基本信息管理、课表(排课)管理、成绩管理。1)课程的基本信息管理。其主要对课程基本信息进行管理,包括课程信息的添加、修改、删除和对全部课程的查询以及按课程名、课程号、课程类别的条件查询;支持教师、学生查询本学期授课课程。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子

2)教务课表(排课)管理。其主要管理课表信息,管理员建立课程、班级、教室和教师关系,支持课表发布、删改查;教师和学生可查询各自课表。3)成绩管理。其主要是管理员管理成绩信息,支持成绩的增删改查、报表导出;任课教师发布成绩、导出报表;学生查询成绩。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子(5)教室管理功能。其主要对教室信息和教室的使用情况进行管理,包括管理员对教室基本信息的增加、删除(如不再使用)、修改和查询。本课件是可编辑的正常PPT课件3.2需求分析的步骤2.例子

按照上面所述的系统功能捕述,可以把学生学籍管理系统划分为用户登录和注册功能模块、用户管理功能模块、班级管理功能模块、课程信息管理模块、课表管理模块、成绩管理模块、教室管理模块。本课件是可编辑的正常PPT课件3.3需求获取方法Methodsforobtainingrequirements本课件是可编辑的正常PPT课件3.3需求获取方法根据信息来源不同,主要有背景资料阅读、面谈、文档检查、头脑风暴、调查表、需求剥离、任务观察和用例和场景八种需求获取的技术。本课件是可编辑的正常PPT课件1.背景资料阅读

背景资料是系统分析员的重要信息源,如商业计划、运作过程、交互系统等文档。阅读时应做笔记,过滤无关内容,珍视并记录有价值的信息。3.3需求获取方法本课件是可编辑的正常PPT课件2.面谈

面谈是所有需求获取技术的基础,是最盛行的方法。面谈通常分为结构化和非结构化的面谈。前者需严格结构,讨论预设问题;后者主题粗略,期望面谈中发挥。实践中常采用中间方法,适当计划并保留灵活性。3.3需求获取方法本课件是可编辑的正常PPT课件3.文档检查

该系统分析法基于文档,对老方法而言,文档检查是唯一的需求获取途径,因信息隐含在数据中,不应忽视。

它直接获取系统输入输出及内部文档,可与面谈、任务分析等技术结合。

文档检查有助于确定系统输入输出、中间功能和存储需求,数据常用作分析基础,建立新逻辑模型。但需注意文档与实际系统可能不匹配,需专业人员结合其他技术分析与判断,解决矛盾与不一致。3.3需求获取方法本课件是可编辑的正常PPT课件4.头脑风暴

该概念指一组人在自由发言环境中自由思考以产生新想法,适合短而紧张的会谈,但花费大,项目中可能仅一次。

会谈人员需合适背景和专业知识,包括风险承担者、领域专家和思想家,小组至少7人。鼓励自由发言,不批评主意,注重出发点而非辩论。3.3需求获取方法本课件是可编辑的正常PPT课件5.调查表调查表是结构化面谈的最终形式,问题需预先设计,确保表达清晰、无歧义。

当问题明确且需从大量人群获取信息时,调查表是经济有效的需求获取方法,通常作为面谈的辅助手段,在特定情境下使用。3.3需求获取方法本课件是可编辑的正常PPT课件6.需求剥离

需求剥离技术适用于有客户需求文档或相似产品规格说明书时,从原始文档中抽取单个需求加入新文档。

它针对原始文档不足且含不相关内容,抽取准确有价值信息至新文档。可手工或用电子剥离工具,后者提供可跟踪性和管理,自动化提高效率。3.3需求获取方法本课件是可编辑的正常PPT课件7.任务观察

偶然观察可为需求获取提供线索。计划观察某人执行任务,如人机交互或电话记录,可解决文档与实际系统不符问题,适用于非文档系统。与面谈结合,询问被观察者行为及原因,能揭示大量信息。3.3需求获取方法本课件是可编辑的正常PPT课件8.用例和场景场景描述用户与软件交互实现目标的过程,是交流的有效工具,每个场景对应一个潜在需求。

用例描述软件与外部执行者的交互顺序,执行者多样。用例包含多个场景,场景是用例的实例。3.3需求获取方法本课件是可编辑的正常PPT课件3.4需求分析方法Requirementanalysismethod本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)在需求分析中,需细化可行性研究中的数据流图,分解功能。先找外部实体,绘顶层数据流图;再分解系统,考虑加工内部处理和数据产生,参考现行系统工作流程创造精细数据流图。将顶层图中的处理框分解成多个,加入基本概念,得到功能级数据流图。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)

DFD在画法上较为简单,但要画出完整的分层DFD尚需注意以下几个问题。1)应区别于流程图DFD注重数据在系统中的流动,在加工间的多个数据流之间不需考虑前后次序问题,流程图则需考虑对数据处理的次序和具体细节。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)2)DFD的完整性问题

画DFD时,需注意输出流未连接其他加工或外部实体(可能遗漏加工或多余数据流)如图a,或加工有输入无输出(可能加工多余或遗漏输出流)如图b。画完后应仔细检查以避免错误。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)3)DFD的一致性问题DFD的一致性问题指父图与子图输入输出必须完全一致。父图为上层图,子图为下层图中对应父图某加工的图。平衡即子图输入输出数据流与父图相应加工一致。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)3)DFD的一致性问题

图(a)表示父图与子图平衡的情况,而图(b)表示父图与子图不平衡的情况。父图中的加工可能对应多个子图,但部分基本加工可能无对应子图。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)4)在分层DFD中文件的表示

文件可属分层DFD的某层或多层,未用到的文件不表示,用到的则在该子图中表示。抽象层表示的文件应在子图中体现,否则无法理解其使用。文件共享于加工间时,必须表示。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)5)分解层次的深度

逐层分解旨在简化复杂加工,但层次过深会影响理解。分解层数需根据系统复杂度、人的能力等因素决定,可依据一些经验性准则参考,例如:本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(1)数据流图(DataFlowDiagram,DFD)5)分解层次的深度①分解层次最好不超5-6层,减少层次。②按逻辑特性分解,避免硬性分解。

③子加工数不宜过多。

④上层抽象快分解,下层慢分解。

⑤底层DFD应满足:加工易描述,且基本一输入一流出。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(2)输入/处理/输出图

IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)。IPO图是对每个模块进行详细设计的工具,它是输入加工输出(INPUTPROCESSOUTPUT)图的简称,它是由美国IBM公司发起并完善起来的一种工具。IPO图就是用来说明每个模块的输入、输出数据和数据加工的重要工具。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(2)输入/处理/输出图

IPO图符号简单易学,形式为左框输入、中框处理、右框输出。处理框暗示执行顺序,需大箭头指明数据通信,以教师发布成绩为例绘图。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(2)输入/处理/输出图

改进IPO图含附加信息更实用,如系统名、作者、日期、模块名、层次图编号、调用清单、注释及局部数据等。需求分析时用IPO图简述系统主要算法,附加信息可在设计阶段完善,改进的IPO图如右图所示。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(2)输入/处理/输出图

IPO图作为建模工具,可助业务分析、软件需求分析和总体设计平滑过渡。结构化方法中,数据流分析后需归并划分业务过程形成程序模块。IPO图使数据分析更简单清晰,描述过程完整清晰且灵活,适用于信息系统需求分析。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具

(3)实体—联系图

实体联系图(Entity-relationshipmodel)亦称为E-R图或实体关联图,主要用于描述系统的数据关系,这个模型是面向问题的,并按照用户的观点对数据建立的模型,与软件系统中的实现方法无关。

实体关联图主要实体、实体间的关联和属性3个基本成分组成。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图1)实体数据项集合通常用矩形框表示,实体可包括外部实体、时间、行为、角色、单位、地点或结构等,由一组属性定义。实体间通过属性描述并相连,且存在关联,如教师讲授课程、学生学习课程等特定连接。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图2)属性

定义的是实体的性质,通常用椭圆或圆角矩形框表示。例如,“学生”是一个实体,而“学号”“姓名”“性别”“出生日期”等都是“学生”这个实体的属性。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

实体之间相互联系的方式称为关系。通常用菱形框表示关联,并用直线连接相关联的实体,如学生与课程之间的关联称为“学习”。关联有以下3种类型。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

①一对一关联(1:1)。某高校一个系只有一个系主任。

②一对多关联(1:n)。某位教师可以讲授多门课程,但每门课程只能由一位教师讲授。

③多对多关联(m:n)。学生可学多门课程,每门课程有多名学生学。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

关联也可以有属性。例如学生学某课程的成绩,是学生与课程间关联“学习”的属性,如图所示本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

课程实体属性图,其中“课程编号”为实体标识符,如图所示。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

E-R图展示实体及联系,旨在转为关系模式。关系模型由关系模式组成,E-R图含实体、属性和联系,转换规则为:实体转关系模式,属性成关系属性,标识符为主键。实体间联系需分情况处理,有以下四种情况。本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

①1:1联系可转为独立关系模式或与一端合并,独立时各实体码及联系属性转换为关系属性,每个实体的码均是该关系模式的主键,同时也是引用各自实体的外键;合并时加另一实体码及联系属性,新码为另一个实体的外键。

本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

②1:n联系可转为独立关系模式或与n端合并。独立时各实体码及联系属性转换成关系模式的属性,n端码为关系模式的主键,同时也是新关系模式引用n端实体的外键,1端实体的码作为引用1端实体的外键;合并时加1端码及联系属性,1端实体的码为n端中引用1端的外键。

本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

③m:n联系转为关系模式,与该联系相连的各实体码及联系本身属性成该关系模式的属性,新主键含各实体码,新关系模式中各实体的码为引用各自实体的外键。

“选修”联系可以将它转换为以下关系模式:

选修(学号,课程号,成绩)本课件是可编辑的正常PPT课件3.4.1结构化分析1.结构化分析图形工具(3)实体—联系图3)关联

④3个或3个以上实体间的多元联系转为关系模式,各实体码及联系属性转换为该关系模式的属性,该关系模式的码包含各实体的码,同时新关系模式中各实体的码为引用各自实体的外键。

本课件是可编辑的正常PPT课件3.4.1结构化分析2.结构化分析方法的策略

软件工程初期提出了结构化方法,包括分析、设计和程序设计,面向过程,遵循自顶向下、逐步求精原理,使用数据流图、数据字典、判定表/树和结构化语言等工具。本课件是可编辑的正常PPT课件3.4.1结构化分析2.结构化分析方法的策略

结构化分析(SA)是传统的需求方法,由Yourdon公司和密歇根大学提出,适用于数据处理,特别是大型管理信息系统的需求分析。SA方法通过数据流划分功能层次,特点如下:(1)使用图形符号易于理解(2)设计时仅关注系统基本功能,不考虑具体实现。本课件是可编辑的正常PPT课件3.4.1结构化分析2.结构化分析方法的策略

分析复杂问题时,采用分解策略,将大问题划分为小问题,降低复杂性至可掌握程度。SA方法通过逻辑特性和逻辑关系分层分解系统,上层为下层抽象,下层为上层细节。基本思想是从抽象到具体,逐层确定数据流和变换关系,用数据流图表示。本课件是可编辑的正常PPT课件3.4.1结构化分析2.结构化分析方法的策略

下图为一个问题自顶向下逐层分解的示意图:本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析1.用例建模

需求分析明确系统职责、范围、边界,确定功能和性能,构建需求模型。用例模型从用户角度获取系统功能需求,创建用例模型的步骤如下:

(1)确定系统的范围和边界

系统基于问题域,通过分析用户领域业务确定范围和边界,明确需求。系统范围指目标、任务、规模及功能服务。系统边界区分系统内外元素。在用例模型中,系统边界分隔内部用例与外部参与者。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(2)确定系统的用例和参与者1)系统的参与者

参与者是目标系统外部与其交互的人员、软件系统或硬件设备,代表系统使用者或环境。由以下六个方面确定:①谁使用系统的功能?②谁从系统获取信息?③谁向系统提供信息?本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(2)确定系统的用例和参与者

1)系统的参与者

参与者是目标系统外部与其交互的人员、软件系统或硬件设备,代表系统使用者或环境。由以下六个方面确定:④谁来负责维护和管理以保证正常运行?⑤系统需要访问哪些外部硬件设备?⑥系统需要与哪些其他软件系统进行交互?本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(2)确定系统的用例和参与者 2)用例

用例是系统服务或功能的表示,描述角色与系统间的完整交互“对话”,特征包括角色驱动、行为序列和产生结果。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(2)确定系统的用例和参与者 2)用例用例一般有以下特征:①用例由角色启动(即角色驱动)②执行中的用例可被看作一组行为序列。③一个用例执行结束后应为角色产生可观测到的、有价值的执行结果。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(3)用例说明

以文本的方式描述用例,事件流描述系统“做什么”,不必描述系统“怎么做”,下图为用例说明的结构图本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(3)用例说明

事件流中通常描述以下内容:1)用例是如何启动的,即哪些角色在何种情况下启动该用例开始执行。2)用例执行时,角色与系统之间的交互过程。3)用例执行时,在不同情况下可以选择执行的多种方案。4)在什么情况下用例被视作执行结束。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(3)用例说明

事件流分为基本事件流和替代事件流两类:1)基本事件流

用数字编号标明各个活动步骤的先后顺序。每个活动步骤的主要内容可从以下两方面描述:①角色向系统提交了什么信息/发出了什么指令。②对此,系统有什么样的响应。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(3)用例说明2)替代事件流

描述用例执行过程中,当出现某些异常或偶然发生的情况时,系统可能选择执行的另外一组活动步骤。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(4)确定用例之间的关系

用例之间具有泛化关系、扩展关系、包含关系、关联关系,根据需要可以建立用例之间的相应关系。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(5)建立用例图并定义用例图的层次结构复杂系统按功能分解为子系统,用例模型分层描述功能和层次。上层用例可分解为下层子系统,每子系统对应一用例图。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析用例建模

(6)评审用例模型

UML中,除文本描述外,还可用活动图直观描述用例。活动图展示活动序列,用于进一步描述重要用例的实现流程。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

在需求分析和系统分析阶段,将进行对象类建模。对象类建模描述了系统的静态结构。建立对象类静态模型的步骤如下:本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(1)确定系统的对象类

当用例模型建立成功后,需要建立系统的类和对象,并需指定类属性和类操作。UML的对象类包括实体对象类、控制对象类和边界对象类,图形表示如下:本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(1)确定系统的对象类1)实体对象类通常对应现实世界中的“事物”。这些“事物”的基本信息及其相关行为需要在系统中长期存储和管理。2)控制对象类管理用例事件流,不直接处理任务,而是调度其他类完成。它协调边界和实体对象类,接收信息或指令后分发任务,封装用例行为,提高类的通用性。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(1)确定系统的对象类3)边界对象类用于描述系统外部的角色与系统之间的较互接口。其目的是将用例内部的执行逻辑与外部环境进行隔离,使得外界环境的变化不会影响内部的逻辑部分。包括三种类型:用户界面、软件系统接口、硬件设备接口。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(2)确定对象类的属性

对象类的属性表示其内部静态特征。标识对象类的属性过程包括发现对象类的潜在属性、筛选对象类属性,为对象类属性命名等。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(2)确定对象类的属性1)识别某些属性,以描述类所代表的现实实体的基本信息,比如学生的学号、姓名、性别、班级等。2)识别某些属性,以描述对象的不同状态,比如图书分为“借出”和“在馆”两种状态。3)识别某些属性,以描述某个类与其他类之间“整体与部分”的关系或者关联关系。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析2.建立对象类静态模型

(3)识别实体类之间的关系

识别实体类之间的关系(泛化、组合、聚合、关联、依赖),绘制类图。本课件是可编辑的正常PPT课件3.4.2面向对象的需求分析3.建立对象类动态

动态模型描述了系统的动态行为,在系统分析、系统设计阶段建立动态模型。动态模型涉及对象的执行顺序和状态的变化,侧重于系统控制逻辑的描述,其实质是解决了系统“如何做”的问题。

对象类动态模型包括对象交互模型和对象状态模型。其中对象交互模型由顺序图和协作图组成,对象状态模型由状态图和活动图组成。本课件是可编辑的正常PPT课件3.4.3需求分析的新方法1.面向服务的分析SOA(Service-OrientedArchitecture)是面向服务的软件架构,按业务流程组织功能并封装为可互操作服务。它支持跨应用、部门、企业乃至行业的系统互连,通过松散耦合加快开发、降低费用。SOA软件将管理提炼为表单和流程,简化信息和数据集成,实现低成本高效协同。本课件是可编辑的正常PPT课件3.4.3需求分析的新方法2.微服务架构微服务(microservices)架构将应用拆分为小型、独立的服务单元,可独立部署、松耦合、独立扩展。每个微服务专注单一业务能力,组合成复杂系统,解决复杂性问题,加速开发,但存在服务间调用等挑战,微服务框架(SpringCloud,Dubbo)可部分解决。需求分析时需关注业务分解、服务协作及接口。本课件是可编辑的正常PPT课件3.4.3需求分析的新方法3.CHATGPT在需求分析中的应用

CHATGPT是新兴的深度学习自然语言处理技术,用于生成对话式交互系统,在游戏、娱乐、写作等领域崭露头角,同时在行业生产中也有潜力。在软件工程中,CHATGPT可用于需求分析阶段的沟通、数据分析,设计阶段的辅助建模,编码阶段的自动编程,以及测试阶段的自动化测试。它能帮助分析师、设计师和客户交流、解决问题、提供灵感和建议。CHATGPT还能通过文本和语音分析,挖掘客户需求,提供数据支持,为销售等领域提供全方位需求分析支持。本课件是可编辑的正常PPT课件3.4.3需求分析的新方法3.CHATGPT在需求分析中的应用

ChatGPT应用于需求分析有以下几个特点:(1)高效:可快速生成高质量的自然语言文本,工作效率倍升。(2)自主性:ChatGPT可主动学习,不断优化和改进自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论