《系统开发规范与编写》-课程辅导课件_第1页
《系统开发规范与编写》-课程辅导课件_第2页
《系统开发规范与编写》-课程辅导课件_第3页
《系统开发规范与编写》-课程辅导课件_第4页
《系统开发规范与编写》-课程辅导课件_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

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

文档简介

《系统开发规范与文档编写》

课程辅导

徐惠民第一章在直播课堂中介绍了本课程特点、教材的特色、学习方法、教材的体系结构和主要内容。这一次则是对各章内容中的重点和难点作一些具体的辅导。第一章第一章的重点:a.掌握软件的定义b.掌握软件工程基本概念c.掌握软件生命周期的划分和瀑布模型第一章软件的定义:软件是为了特定目的而开发的程序、数据和文档的集合。特别需要强调的是:文档也是软件的重要组成部分。

第一章还需要了解:什么是软件危机及其产生的原因。软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题:

软件往往不能按计划、按预算、按时完成

已开发的软件不能很好的使用,甚至很快就不用第一章美国政府AccountingOffice计算局1979年的统计:

正常使用的:2%

修改后使用的:3%

开发完了而不使用的:47%(不完善)

放弃开发的:19%

没有递交的:29%第一章软件危机产生的原因u

软件需求不充分u

软件开发无计划性u

软件开发过程无规范性u软件无评测手段第一章软件工程的基本概念:什么是软件工程;软件工程的目标和研究对象;软件工程的基本原理。第一章什么是软件工程:

FritzBauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以能够经济地获得能在实际机器上有效运行的可靠软件(SoftwareEngineeringistheestablishment&useofsoundengineeringprinciplesinordertoobtaineconomicallysoftwarethatisreliable&workefficientlyonrealmachines)第一章软件工程的目标:软件产品的高质量首先是软件的正确性和可用性高可靠性易维护低成本及时投放市场第一章软件工程的研究对象由三个具有层次关系的要素组成:过程、方法和工具。

过程方法工具第一章软件工程的基本原理:指软件工程专家B.W.Boehm提出的7条基本原理:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制第一章采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性第一章掌握软件生命周期的划分和瀑布模型生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。

第一章软件生命周期划分为六个阶段:计划、需求分析、设计、编码、测试、运行维护。有时称为制造软件产品的直接过程。第一章除了直接过程外,还需要一些贯穿于整个软件开发过程的辅助过程。辅助过程包括项目管理过程,配置管理过程和质量管理过程。制造软件产品的过程直接过程间接过程第一章软件过程可以通过软件过程模型来表示。最经典的过程模型是瀑布模型。第一章第一章瀑布模型的特征接收上一项活动的输出作为本项活动的输入;实施本项活动应该完成的工作;将本项活动的工作成果输出,作为下一项活动的输入优点:支持结构化软件开发、控制了软件开发的复杂性、促进了软件开发工程化第一章其他软件工程模型:除了瀑布模型外,还有其他许多软件工程模型(原型模型、快速应用开发模型、演化模型等)。对于这些模型重点不在于模型的细节,而在于过程模型的发展。第一章就是要理解为什么要有新的模型的出现,了解不同过程模型之间的互相联系又互有区别,只有理解了他们之间的联系和区别才能在未来实践中为不同的环境选择合适的过程模型。各种新的模型几乎都有一个共同的特点:迭代开发。第一章第一章还有一些需要关注的内容:1.了解软件工程知识体系2.了解软件能力成熟度模型软件能力成熟度模型,CMM,是衡量一个软件开发组织开发能力的标准,它包括5个级别初始级、可重复级、确定级、可管理级、优化级。

第二章第二章a.掌握需求工程的概念b.掌握结构化需求分析c.面向对象需求分析d.理解各种需求获取技术e.了解需求管理和支持工具第二章需求工程确定系统“做什么”,但并不涉及系统“怎么做”,需求工程的成果是软件需求规格说明书。需求过程的全过程包括:需求获取、需求建模、形成需求规格、需求验证和需求管理。第二章需求工程的重要性

需求工程处于软件工程过程的开始阶段,是软件工程其余部分得以顺利进行的根基。

第二章需求获取需求获取是需求工程的第一步,获取的需求是否正确、全面,决定所开发出来的软件是否能够满足用户的需要.需求获取过程涉及到和用户的交流,目前还缺乏一种规范的方法,并在很大程度上依赖于需求获取者的专门知识。需求获取既重要又困难。第二章需求分析(需求建模)目前已经出现了很多种需求分析的方法,但最常使用的是传统的结构化需求分析方法和面向对象的分析方法。第二章结构化需求分析方法概述结构化需求分析使用自顶向下、逐层分解的系统分析方法来定义系统的需求,适合于开发数据处理类型软件的需求分析,特别是企业事业单位中有关数据管理类型应用软件的开发。第二章数据流图是结构化需求分析中使用的主要方法,需要掌握。数据流图用一套简单的符号来描绘信息在系统中流动和处理的情况,是软件设计人员和用户之间极好的通信工具,是结构化分析方法的核心。

第二章数据流图中有四种主要元素:数据源,加工,存储和数据流。

第二章

数据源:数据的源点和终点分别代表数据的生产者和消费者,可以是系统之外的人、物、组织或别的系统。

数据的加工或处理将输入的数据变换成输出数据。当然,不可能只通过一个加工完成数据的变换。

数据流是一种成分已知的信息包,可以包含若干个已知的信息。是描述数据流图中各个部件的接口。

数据存储表示系统所需要保存的信息。

第二章分层数据流图稍微复杂的实际问题,如果把所有的加工都画在同一张图上,一方面增加了画图的复杂性,另一方面,这样的数据流图看起来很不清楚,降低了数据流图的可读性。

第二章中间层数据流图中间层数据流图是对高层数据流图(即父图)中的加工的分解。在高层数据流图中每一个需要分解的加工各对应一个下一层数据流图。顶层图分解后的子图就是0层图。一个数据流图中有几个加工要分解,就有几张低层数据流图。要求能根据描述,画出顶层图和0层图。第二章数据流图实例:设备管理系统维护公司所有设备的基本资料对设备进行定期检修报修管理设备维修的费用上报公司财务部门第二章第二章从顶层图到0层图:

第二章数据字典

数据字典是对系统用到的所有数据项和结构的精确定义,以确保开发人员使用统一的数据定义。数据字典与数据流图配合,能清楚地表达数据处理的要求。

第二章为了让用户、系统分析员和程序员都了解各个功能单元(最低层数据流图的加工)的具体逻辑功能,还必须对各功能单元做出详细的说明。

加工小说明的主要工具:结构化语言、判定表和判定树。第二章基于用例的需求获取技术

用例方法引起了面向对象领域的极大关注。自1994年IvarJacobson的著作出版后,面向对象领域已广泛接纳了用例这一概念,并认为它是第二代面向对象技术的标志。第二章用例模型描述的是外部执行者(Actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。第二章用例模型的特点

首先,它描述了待开发系统的功能需求;其次,它将系统看作黑盒,从外部执行者的角度来理解系统;第三,它驱动了需求分析之后各阶段的开发工作。不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统。第二章用例模型的最重要的两个概念是:参与者和用例。也要表示参与者和用例的通信参与者是为了完成某个事件而与系统进行交互的实体,

用例描述系统完成的动作序列,产生对特定参与者有价值的结果。或者说,用例描述了用户和系统之间的交互,并且它侧重于系统为用户“做什么”。

第二章用例,参与者及其关联关系可以显示在用例图中。例如,电话的呼叫者可以拨打本地电话和长途电话,与被呼叫者通话。以下是拨打电话的用例图。

第二章ATM自动柜员机用例图第二章用例的扩展关系:表示系统的扩展功能;用例的包含关系:表示多个基本用例都可以使用的用例用例的泛化关系:从几个用例中抽象出来的共同行为的父用例第三章第三章a.掌握结构化软件设计概念。b.掌握结构化软件设计方法。c.理解概要设计和详细设计概念。d.了解Jackson软件开发方法。第三章软件需求解决“做什么”;软件设计解决“如何做”;第三章结构化软件设计分为两个阶段概要设计:概要设计的任务和步骤包括:设计软件系统结构;数据结构及数据库设计;可靠性设计;编写概要设计文档和概要设计评审。详细设计:确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。

第三章软件设计中用到概念主要包括:抽象与逐步求精模块化与信息隐藏软件体系结构软件结构与软件过程等第三章模块独立性的概念模块完成独立的功能

符合信息隐藏和信息局部化原则模块间关联和依赖程度尽量小

第三章模块独立性的度量模块之间的耦合性要越弱越好,即低耦合;模块自身的内聚性要越强越好,即高内聚。目的是增加模块的独立性,减少模块之间的依赖程度。

第三章耦合性由低到高的排列是:

非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

第三章非直接耦合:模块间没有直接关系;数据耦合:通过数据参数发生关系;标记耦合:通过一个公共的数据结构发生联系;控制耦合:通过控制信息发生联系;外部耦合:一组模块都访问同一全局简单变量公共耦合:通过公共的数据区发生联系;内容耦合:两个模块直接联系。第三章内聚星由高到低的排列是:

功能内聚、信息内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、巧合内聚。第三章概要设计的主要任务是建立软件系统的体系结构。

解决划分多少模块,模块之间的层次结构和调用关系是怎样的。同时还要设计数据结构和数据库结构、人机接口等。

第三章结构化设计方法是基于模块化、自顶向下逐层细化、结构化程序设计等程序设计技术基础上发展起来的。它以结构化分析产生的数据流图为依据,将数据流图按一定的步骤映射成软件结构。第三章结构化设计的目的是要把数据流图映射成软件结构,而不同的数据流图具有不同的映射方法。一般来说无论数据流图如何庞大复杂,都可以分为变换型数据流图和事务型数据流图两类。第三章详细设计完成概要设计后,已将系统划分为多个模块,确定了每个模块的功能及模块与模块之间的外部接口。详细设计是软件设计的第二阶段。

第三章详细设计的主要任务确定每个具体执行过程,正确实现每个模块的功能为软件结构图(SC)中的每一个模块确定采用的算法和模块内数据结构,用某种选定的表达工具给出清晰的描述。第三章详细设计过程中采用的方法结构化程序设计;采用程序流图、PAD图、PDL语言等工具来描述。

第三章JSP是一种面向数据结构,以数据驱动的,主要为中小型数据处理系统设计程序结构的一种开发方法。它的优点是在建立了问题的数据结构之后,可直接推导出相应的程序结构。

第三章JSD方法是JSP的扩充,主要是为了解决JSP针对设计较大系统时候会在输入数据结构和输出数据结构之间产生大量复杂的难以应付的结构冲突的问题。

第四章面向对象基础

对象(Object)

类(Class)继承(Inheritance)消息(Message)多态性(Polymorphism)和动态绑定(dynamicbinding)第四章面向对象

=对象

+类

+继承

+消息通信

什么是面向对象方法:一种运用对象、类、继承、聚合、消息传送、多态性等概念来构造系统的软件开发方法

第四章面向对象分析的目标:定义所有和被求解的问题相关的类,以及和这些类相关联的关系和行为。

第四章步骤:

获取用户对OO系统的需求,包括表示场景或者用例;建造需求模型。

为每个系统对象标识属性和操作。

定义组织类的结构和层次。

建造对象-关系模型。

建造对象-行为模型。使用用例/场景复审OO分析模型。

第四章面向对象分析过程

获取用户对系统的需求标识类和对象定义类的结构和层次第四章面向对象设计(Object-OrientedDesign,OOD)是将OOA所创建的分析模型转化为设计模型。与传统的开发方法不同,OOD和OOA采用相同的符号表示,OOD和OOA没有明显的分界线,它们往往反复迭代进行。在OOA时,主要考虑系统做什么,而不关心系统如何实现。在OOD时,主要解决系统如何做第四章OOD是在OOA的基础上进行的。它以OOA模型作为输入,根据实现的要求对OOA作必要的修改与调整,或补充某些细节,其结果便是OOD模型的主要部分,称问题域部分。此外,OOD还要补充几个相对独立,并且隔离了具体实现条件对问题域部分影响的外围组成部分,如下图所示。第四章OOD活动问题域部分的设计人机交互部分的设计控制驱动部分的设计数据接口部分的设计

第四章典型面向对象方法简介

Coad/Yourdon面向对象分析与设计技术对象建模技术(OMT)

第四章Coad与Yourdon面向对象分析的概念模型的五个层次

类与对象层

属性层

服务层

结构层主题层

当五个层次的工作全部完成时,OOA的任务也就完成了。

第四章J.Rumbaugh和他的四位合伙者于1991年提出对象建模技术(ObjectModelingTechnique,OMT)。它把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。第四章对象模型是三个模型中最关键的模型。对象模型定义“对谁做”。

通过状态图和事件追踪图来描述动态模型。动态模型定义“何时做”。

功能模型定义“做什么”。

第四章统一建模语言90年代以来出现了多种面向对象的方法,客观上使面向对象的方法和技术得到了广泛的认可并逐渐成为当前软件开发的主流方法。但是每种方法都有自己的表示方法,过程和工具,使软件人员之间沟通交流形成了障碍。统一建模语言(UnifiedModelingLanguage,UML)正是鉴于这一情况,在吸收多种面向对象建模方法的基础上而形成的。第四章ULM简介:一个现实的软件系统我们可以从不同视角去观察、剖析它,每一个角度观察的结果构成系统的一个视图(view),每个视图说明了系统的一个侧面,是整个系统描述的一个投影。在UML中视图是由若干个图(diagram)组成的一种抽象。一个图(diagram)描述了系统某个特殊方面的信息图又是由若干个模型元素构成。第四章第四章连接关系:

关联(association):连接模型元素及实例

泛化(generalization):表示一般与特殊关系,即“一般”元素是“特殊”元素的泛化,“特殊”元素是“一般”元素的特化(specialization)

依赖(dependency):表示一个元素以某种方式依赖另外一个元素

聚集(aggregation):表示整体与部分,即:“部分”元素是“整体”元素的一部分第四章UML中有九种图(diagram)和五种视图(view)。九种图包括:用例图、类图、对象图、状态图、顺序图、协作图、活动图、构件图和部署图。用来观察系统的五种视图有:用例视图、逻辑视图、构件视图、并发视图和部署视图。

第四章类图:描述系统中所有类的类型,类所具有的属性和操作,以及类与类之间的静态的相互联系。

对象图:是类图的实例

顺序图:顺序图显示特定用例(也可以是用例的一部分)的详细流程。

第四章用例图:展示了各个类外部参与者与系统所提供的用例之间的连接。一个用例是系统所提供的一个功能。状态图:是对某个类可能所处的不同状态和该类从一个状态转换到另外一个状态的描述。

第四章协作图:也展示对象间的动态协作关系。强调多个对象间的协作活动图:描述完成一个操作所需要的活动。活动图由动作状态组成。

第四章构件图:构件图用于程序设计工作,显示代码本身的结构。部署图:显示系统运行时刻的结构,包括硬件结构和软件结构。

第四章用例视图:用例视图从用户角度描述系统功能,并指出各功能的操作者。逻辑视图:展示了系统内部如何提供系统功能的。该视图通过类图和对象图来描述系统的静态结构;用状态图、顺序图、协作图、活动图来描述系统的动态行为。

第四章构件视图:展示了代码构件的组织(相互关系)。并发视图:展示了系统的并发性(线程和它们的通信)。部署视图:展示了系统的物理部署。

第四章UML建模用例模型:用于系统需求的获取,描述系统的功能需求。静态模型:它把问题域与应用域有关的各种类、对象以及它们之间的相互关系进行适当的抽象和分类,以揭示系统的结构。使用类图、对象图。

第四章动态模型:描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互,从而实现一组对象的相应功能。UML中用状态图、顺序图、协作图和活动图来建立动态模型。

第四章实现模型:系统的实现模型包括构件图和配置图。它们描述了系统实现时的一些特性。第四章使用UML的过程系统需求系统需求分析;静态结构模型动态结构模型

第四章UML给出了面向对象建模的表示和规则,但并没有指定应用UML的过程和方法,因为它的设计初衷是为了在尽可能多的领域内得到广泛的应用。尽管如此,要想成功的使用UML,科学的过程还是必要的。第四章使用UML的过程的基本特征是:以架构为中心(architecture-centric)用例驱动(use-casedriven)迭代(iterative)增量式开发(incremental)。

第四章面向对象一般方法

面向对象的软件开发过程是一个迭代增量式的过程,它并没有一个具体的、固定的格式,只是存在一个大致统一的过程框架。从大体上来讲,面向对象的软件开发过程仍可划分为分析、设计、编程、测试等步骤,但各个步骤之间并没有严格的边界,而且允许有一定的相交和回朔。第四章考勤系统的分析与设计

在考勤系统中,雇员利用这个系统来记录考勤时间,并能够用它来浏览、更新和增加新的时间记录;系统管理员能管理系统中的雇员,如添加、修改和删除雇员,并且能够导入/导出时间数据。

第四章参与者有:雇员(Employee)和管理员(Administrator)。

“记录时间”(RecordTime)用例,“导入/导出系统数据”(In/ExportTimeEntries)用例,“创建雇员”(CreateEmployee)。

第四章第五章第五章a.掌握软件配置管理的基本概念b.了解软件配置管理的方法和过程第五章软件配置管理(SoftwareConfigurationManagement,SCM)是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。

第五章一个基本的软件配置管理系统应该提供版本控制功能变更管理功能状态统计功能配置审核功能。第五章软件配置项指的是一个硬件,软件或者软硬件的集合,配置项是为了配置管理而指定的,并在配置管理过程中被当作单一实体。

在软件开发工程中的一切文档都可以看作是配置项。第五章基线:是软件生存期各开发阶段末尾的特定点,也称为里程碑。基线是软件配置管理的一个重要概念,它帮助实现对变更的控制。

软件开发是变更的过程,而基线则为变更提供了一个可以参考的目标,

第五章软件配置管理方法

定制软件配置管理计划

规定配置管理职责

确定配置项标识的管理要求

确定配置项测试状态的管理要求

确定配置项变更控制方法选择配置管理使用的工具、技术和方法

第五章软件配置标识

选择接受软件配置管理的配置项;确定配置项的命名和描述;配置项的存取。第五章软件配置控制

软件版本控制

软件变更控制

软件配置审核

配置状态报告

第六章第六章a.掌握软件质量的基本概念b.了解影响软件质量的因素c.理解主要的质量保障活动d.了解软件测试的意义和方法第六章软件质量的概念

依靠特定的或隐含的能力满足特定需要的产品或

温馨提示

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

评论

0/150

提交评论