软件工程辅导班讲稿北大考研.ppt
《软件工程辅导班讲稿北大考研.ppt》由会员分享,可在线阅读,更多相关《软件工程辅导班讲稿北大考研.ppt(67页珍藏版)》请在三一办公上搜索。
1、软 件 工 程2002年5月,1、基本概念2、软件开发模型3、系统建模技术-结构化方法 系统建模技术-面向对象方法4、软件测试5、软件过程6、软件工具、平台与环境,一、基本概念 1、软件 程序及其文档 2、软件工程 3、软件工程框架 1)工程目标 2)工程原则 3)基本活动以及目标 例如:需求 定义问题,即建立系统模型 主要任务包括:1需求获取 需求定义 系统功能的一个正确的陈述 2需求规约系统需求规格说明 主要成分:系统模型 系统功能的一个精确、系统的描述 3需求验证,二、软件开发模型 1、基本概念 软件过程、活动、任务的结构框架。2、几种典型模型及其用法 3、模型的外征与内涵,三、系统建模
2、技术-结构化方法(一)结构化分析方法 1提出的概念有:数据流:加工:数据存储:数据源:数据潭:概念是完备的。,2建模过程 建立系统的DFD功能模型 建立系统环境图,确定系统边界 自顶向下,逐层分解 建立数据字典 给出加工小说明,3表示工具 数据流图表达系统模型的工具 结构符:|A A A B C B0 C0 B*用于定义数据结构 判断表与判定树 用于给出加工小说明,(二)结构化设计 要回答如何解决问题 即给出软件解决方案 1总体设计的任务:如何将DFD转化为MSD,分二步实现:第一步:如何将DFD转化为初始的MSD 第二步:如何将初始的MSD转化为最终可供详细设计,1)耦合:不同模块之间相互依
3、赖程度的度量。耦合类型:(1)内容耦合:(2)公共耦合:两个以上的模块共同引用一个全局数据项。(3)控制耦合:一个模块向另一模块传递一个控制信号,接受信号的模块将依据该信号值进行必要的活动。(4)标记耦合:两个模块至少有一个通过界面传递的公共 有结构的参数。(5)数据耦合:模块间通过参数传递基本类型的数据。,2)内聚:一个模块之内各成分之间相互依赖程度的度量。内聚类型:(1)偶然内聚:一个模块之内各成分之间没有任何关系。(2)逻辑内聚:几个逻辑上相关的功能放在同一模块中。(3)时间内聚:一个模块完成的功能必须在同一时间内完成,而 这些功能只是因为时间因素关联在一起。(4)过程内聚:处理成分必须
4、以特定的次序执行。(5)通信内聚:各成分都操作在同一数据集或生成同一数据集。(6)顺序内聚:各成分与一个功能相关,且一个成分的输出作为 另一成分的输入。(7)功能内聚:模块的所有成分对完成单一功能是最基本的,且 该模块对完成这一功能而言是充分必要的。,启发性规则-经验的总结(1)改进软件结构,提高模块独立性;(2)模块规模适中-每页60行语句;(3)深度、宽度、扇入和扇出适中;(4)模块的作用域力争在控制域之内;(5)降低模块接口的复杂性;(6)模块功能应该可以预测。,2详细设计的任务:定义每一模块 结构化程序设计 三种控制结构:顺序 begin s1;s2;sn end;选择 if 条件表达
5、式 then s1 else s2;循环 while 条件表达式 do s;,2详细设计的任务:定义每一模块几种表示工具 流程图、PAD、NS图、伪码等 框图,s1,s2,s1,s2,.,s,伪码 伪码是一种混合语言。外部采用形式语言的控制结构,内部使用自然语言。PAD图,S1,S2,S3,S1,S2,X5X5,S,顺序:选择:循环:,注:支持逐步求精设计,N-S图,支持逐步求精设计举例,顺序:选择:循环:,条件,F,T,S1,S2,循环条件,循环体,N:=1.10,X5,T,F,F,T,S1,S2,S3,S4,S5,S6,S8,S7,S9,S10,X10&Y3,(二)、面向对象方法 多层面的
6、建立系统模型 1、静态模型-概念及其表示 1)对象(Object)及其特征(自治性 封闭性 通信性)2)属性:表示对象状态的一组值。3)操作:为其它对象提供的服务。4)链(OSA的关系)。,5)类(class):一组具有共同特征(属性和 操作)的相似对象的抽象描述-控制描述客观事物信息复杂性的机制,6)关联:一组具有相同结构特性、行为特性 和语义特性的链的抽象描述-控制描述客观事物之间关系这种信息 复杂性的机制,既然类和关联均是对实体和关系的抽象描述,那么,应提供对它们的语义进行必要说明的机制:,可见性:用于描述类的属性和操作,并可采用 两种形式:(+,-,#或 public,private,
7、protected)多重性:用于描述类的属性,关联。性质串:用于描述类(名)、属性和操作,并 提供一些标准的关键字,例如:frozen,query,特别地,为了描述关联的语义,还特意引入“关联端点”,用于表示:角色(名),限定符等,以及常用的一些结构:聚合,组合,泛化,依赖,2、功能模型 1)USE CASE模型(1)基本概念与表示 USE CASE 一个USE CASE是系统或其它语义实体(例如子系统或一个类)所提供的一块(unit)高内聚的功能。该功能通过:与一个或多个操作者交替出现的消息序列,以及所执行的动作,予以表现。USE CASE通常被表示为一个椭圆:,为了表明USE CASE所包
8、含的具体内容,还应给出它的正文描述。即:名称(Name)标识(Identifier)描述(Description)角色(Actor)状态(Status)活动及时序频度(Frequency),操作者 一个操作者定义了一组高内聚的角色,当用户与该实体交互时,用户可以扮演这一角色。通常,一个操作者被表示为:,关系 操作者与USE CASE之间的关系:关联:参与关系,即操作者参与一个USE CASE。USE CASE之间的关系:扩展:指出了USE CASE B的一个实例可以由A说明 的行为予以扩展。包含:指出USE CASE A的一个实例将包含USE CASE B说明的行为。泛化:USE CASE A
9、到USE CASE B的泛化,指出A是B的特殊情况。,Check status,Place order,Fill order,Establish credit,Telephone Catalog,Salespers on,Shipping Clerck,Supervisor,Customer,(2)USE CASE模型 例:USE CASE图,3、行为模型1)状态图(1)基本概念与表示 状态:表示对象所处的阶段、活动和外征 转换:在事件的激发下,状态的变迁.事件:引起状态变迁的条件、动作(action).,状态1,或/和条件,Action,状态2,或/和条件,Action,状态3,状态4,或/
10、和条件,Action,状态6,状态5,状态7,或/和条件,Action,状态8,条件,条件,OMT/OSA以状态网 来表示类的行为,(2)状态图,2)顺序图(1)基本概念与表示 对象生命线:表示扮演特定角色的对象。代表一个对象在特定时间内的存在。“对象生命线”表示为垂直虚线。激活(活化):表示一个对象直接或通过从属例程执行一个行为的时期。既表示行为执行的持续时间,也表示了活动和它的调用者之间的控制关系。用一个窄长的矩形表示激活(活化)。消 息:是两个对象间的通讯,该通讯用于产生一个操作并传输该操作所需要的信息。表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头。,An Order En
11、try window,An Order,An Order Line,A Stock Item,prepare(),*prepare(),hasStock:=check(),hasStock remove(),needsReorder:=needsToReorder(),needsReorder new,hasStocknew,A Delivery Item,a Reorder Item,message,Object,Iteration,Self-Call,Deletion,Creation,Return,(2)顺序图:例,4、过程统一软件开发过程 USDP是以用况(use case)为驱动、以
12、体系结构为中心的、迭代的(iterative)、增量的(incremental)过程。即:以用况为驱动 以用况为单位,制定计划、分配任务、监控执行和进行测试等。以体系结构为中心 以系统需求(用况模型)为驱动,紧紧围绕系统体系结构,从不同角度描述要构造的系统的静态和动态结构,得到不断精化的体系结构基线-一个模型集合和一个体系结构描述。,迭代与增量迭代:按核心工作流,即需求规约、分析、设计、实现和测试这五个活动,对每个“小”项目都进行迭代;迭代被组织在4个阶段中:初始阶段、精化阶段、构造阶段和移交阶段。增量:贯穿在整个生命周期中的迭代有:主里程碑:是管理者与开发者的同步点。副里程碑:是开发内部的一
13、个工作点。在一次迭代结束时,把模型集合所处的具体状态定义为基线。增量是由两次相邻迭代所得到的基线之差。,(1)核心工作流 捕获需求 工作流程:,产生:表达需求的用况模型:参与者、用况、用况模型和体系结构描述。,分析 工作流程:,产生:用况实现-分析,分析类,分析包,体系结构描述分析模型角度,分析类:概念性的(责任,概念性属性和关系)。包括:用于对系统和参与者之间的接口建模的边界类;实体类;控制类 分析包:由分析类、用况实现-分析以及分析包组成。通常把支持一个特定的业务过程或参与者的一些用况组织在一个包中,或把具有泛化或扩展关系的用况组织在一个包中 用况实现-分析:注重于功能需求。涉及:类图(使
14、用分析类);交互图(用协作图描述分析类之间的交互);事件流分析(用文本解释图),以及补充需求(非功能需求)等。系统体系结构描述分析模型角度:主要包括:分析包和它们之间的依赖;关键分析类;实现(重要及关键功能)的用况实现-分析。,设计,工作流程:,其中:活动1 把分析模型的分析包变为设计模型的子系统。活动2 把用况中的各个流对应一个顺序图。,产生:用况实现设计:是设计模型中的一个协作,描述一个具体的用况如何实现和执行。注:设计模型-描述用况物理实现的对象模型,注重于功能需求和实现环境对系统的影响。设计子系统:是组织设计模型的一种手段,用以描述大粒度的构件,由设计类、用况实现、接口和其它子系统组成
15、。接口:表示由设计类和子系统提供的操作。设计类:考虑与实现有关的因素,描述操作的参数、属性和类型等体系结构描述设计模型角度:包括由设计模型分解的子系统、接口、依赖、关键设计类和用况实现设计。部署图:按在计算节点上的功能分布描述系统的物理分布体系结构描述部署图的角度:包括部署模型的体系结构的视图。,实现 任务:实现设计类和子系统;由设计类生成构件;对构件进行单元测试;对构件进行集成和连接;把可执行的构件映射到部署模型。工作流程:,产生:实现模型:描述用构件如何实现设计模型中的元素;描述按实现环境如何组织构件;描述构件间依赖关系。构件:是对模型元素(如设计模型中的设计类)的物理 封装。实现子系统:
16、由构件、接口和其它子系统组成。接口:用于表示由构件和实现子系统所实现的操作。在 这一阶段可以使用设计时的接口。体系结构描述实现模型的角度:包括由实现模型分解的 子系统、子系统间的接口、子系统间的依赖以及关键构 件。集成建造计划:在增量开发中,每一步的结果即为一 个建造(Bulid),即系统的一个可执行的版本。,测试工作流程:,产生:测试模型:测试模型是测试用例、测试过程和测试构件 的集合体。测试用况:一般描述:输入、输出和条件。测试过程:描述怎样执行一个或几个测试用况。测试构件:用于测试模型实现中的构件。测试计划:测试计划描述测试策略、资源和时间表。其中 测试策略包括:对各迭代进行测试的种类、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 辅导班 讲稿 北大 考研
链接地址:https://www.31ppt.com/p-6610937.html