软件工程教程.ppt
《软件工程教程.ppt》由会员分享,可在线阅读,更多相关《软件工程教程.ppt(72页珍藏版)》请在课桌文档上搜索。
1、,软件工程,案例课,期中考试,4.软件工程实践的一个重要原则是存在价值,是指()2分A.软件正常开发 B.软件能够稳定运行C.软件具有足够的可靠性 D.软件能够给用户提供价值参考答案:D 注:存在价值不是可靠性(单一),8.在需求分析阶段不属于数据模型的是()2分A.E-R图 B.数据字典C.数据流图 D.类图参考答案:C 注:数据流图:功能模型,9.数据流图里的数据流包括()类型。2分A.变换型和事务型 B.变换型和调度型C.调度型和事务型 D.数据型和控制型参考答案:A,期中考试,10.0层数据流图有()个数据加工。2分A.0 B.1C.2 D.多参考答案:B 注:一个数据加工:整个系统,
2、11.数据流图的主图上的数据流必须封闭在()之间。2分A.外部实体 B.数据加工C.数据存储 D.数据流参考答案:A,14.用例图中的参与者也可以是一种分析类,它应当归为()A.实体类 B.控制类C.边界类 D.父类参考答案:A,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡
3、图上每个元素都必须有名字(连接数据存储的数据流除外)数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,边界类位于系统与外界的交界处,包括所有的窗体、报表、系统硬件接口、与其它系统的接口。实体类实体类保存要存入永久存储体的信息。实体类通常在事件流或交互图中,是对用户最有意义的类。控制类控制类负责协调其它类的工作。每个用例中至少应该有一个控制类,它控制用例中的事件顺序。一般地,控制类接收的消息并不多,而发出的消息比较多,因为它更多地是向其它类委托责任。,期中考试,15.不属于用例规约的组成部分的是()2分A.主要参与者 B.前置条件C.场景 D.输入参数参考答案:D 注:描
4、述的是过程、条件、约束,无参数,16.软件的结构化设计方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是对()进行设计。2分A.软件结构 B.软件接口C.软件模型 D.软件模块参考答案:D 注:概要设计描述体系、调用关系、接口等,17.下列哪种设计相当于一个房屋中每个房间的门窗详图(以及规格说明)()。2分A.体系结构设计 B.构件级设计C.接口设计 D.数据设计参考答案:C,期中考试,20.程序流程图(框图)中的箭头代表()。2分A.数据流 B.控制流C.调用关系 D.组成关系参考答案:B 注:内接、外接,21.对体系结构的建模不使用()。2分A.构件图 B.部署图C.包图 D.用
5、例图参考答案:D 注:用例图为功能模型,非体系结构建模,25.在顺序图中哪类消息使用带箭头的虚线表示?()。2分A.简单消息 B.反身消息C.返回消息 D.异步消息参考答案:C,期中考试,8.任意一层数据流图必须包括数据加工、数据流、外部实体和数据存储四种基本元素,缺一不可。2分参考答案:注:主图(非顶层图)四种元素缺一不可,11.E-R图中的“实体”等同于数据流图中的“外部实体”。2分参考答案:注:E-R图:数据模型,数据流图:功能模型,14.由A用例的扩展点可以扩展出B用例,则它们之间存在从A指向B的扩展关系。2分参考答案:注:方向反了,15.一个用例可以包含多个用例,反过来,一个用例也可
6、被多个用例包含。2分参考答案:,期中考试,16.用例与用例之间可以存在关联、泛化、扩展和包含关系。2分参考答案:注:实现(关联)为参与者与用例间的使用关系,23.面向数据流的设计方法将数据流图转化为程序流程图。2分参考答案:注:概要设计:数据流图转化为体系结构图,24.顺序图中出现的所有对象框一定位于图的顶部。2分参考答案:注:临时创建的对象可以不在图的顶部,案例1:数据流图,某旅行社计划开发一个飞机订票系统。业务流程大致如下:在接收到旅客的订票请求后,旅行社工作人员将该订票请求信息输入到系统。系统接收到订票请求信息后进行预订机票处理,等待旅客付款。旅客成功付款后,系统进行出票处理,并将机票和
7、发票交给旅客。请使用数据流图对该系统的功能进行建模。(20分),图形要素数据的源点/终点(外部项),是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图。即输入或输出。,命名要易于理解,如:旅行社工作人员、顾客,案例1:数据流图,图形要素加工,图形中注明加工或处理的名称和编号,加工的编号,说明该加工在层次分解中的位置(分层DFD),加工的命名 顶层的加工名就是整个系统的名称 尽量使用动宾短语,也可用主谓短语,也可因为双方的共识或上下文关联情况下省略宾语 不要使用独立且空洞的动词,采用有独立功能含义的动词,表示对数据的处理,如校验选课数据、产生
8、课表,案例1:数据流图,图形要素数据流,不要把控制流作为数据流,数据存储,数据校验,读下一张卡,数据流不是触发条件,计算工资,每月1日,工资单,数据在系统内传播的路径,上方或下方注明名称,由一个或一组成分固定的数据组成,如订票单由顾客姓名、身份证号、航班号、出发地点、到达地点、时间等数据项组成。,由于数据流是流动中的数据,所以必须有流向,除与数据存储之间的数据流不用命名外,均应该用名词或名词短语命名。,图形要素数据存储,标识要存储的数据流向,如“学生档案”、“教师信息”等,在符号上方或下方标注,通常为名词或名词性短语,避免交叉,可多处出现。,在分层数据流图中,数据存储通常局限于某一层或某几层中
9、,但是总体均衡,下层可能对上层的数据存储有拆分,指向数据存贮可理解为写数据、修改数据,从数据存贮引出可理解为读数据,又读又写(修改)为双向,案例1:数据流图,首先确定系统的输入和输出。仔细阅读描述识别外部用户(数据源/终点):旅行社工作人员、旅客;识别输入、输出(数据流):订票请求、付款信息、机票和发票识别数据存储:航班信息、订票数据加工:整个系统根据订票业务,画出顶层数据流图,以反映最主要业务处理流程。,飞机订票系统:在接收到旅客的订票请求后,旅行社工作人员将该订票请求信息输入到系统。系统接收到订票请求信息后进行预订机票处理,等待旅客付款。旅客成功付款后,系统进行出票处理,并将机票和发票交给
10、旅客。,案例1:数据流图,飞机订票系统,旅行社工作人员,旅客,订票请求信息,付款信息,机票、发票,订票数据,案例1:数据流图,航班信息,根据描述,按照相对独立的功能划分,该描述只有订票一项独立功能,不再设中间层。根据描述识别每一项加工的输入输出数据流、流向、数据存储及流向。1、旅行社工作人员将该订票请求信息输入到系统。2、系统进行预订机票处理,等待旅客付款。3、旅客成功付款后,进行出票处理,发送机票和发票给旅客。然后从输入端开始,画出数据流流经的各加工框,逐步画到输出端,得到数据流图。,案例1:数据流图,飞机订票系统:在接收到旅客的订票请求后,旅行社工作人员将该订票请求信息输入到系统。系统接收
11、到订票请求信息后进行预订机票处理,等待旅客付款。旅客成功付款后,系统进行出票处理,并将机票和发票交给旅客。,案例1:数据流图,航班信息,订票数据,1预订机票处理,旅行社工作人员,订票请求信息,2出票处理,订票信息,顾客信息,付款信息,机票、发票,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流
12、和输出数据流必须一致。此即父图与子图的平衡图上每个元素都必须有名字(连接数据存储的数据流除外)数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,案例1:数据流图,案例2:用例图,试画出网上选课系统的用例图。用例有:登录、找回密码、查看课程信息、按课程编号查询、按课程名查询、选择课程、删除已选课程、维护课程信息;参与者有系统管理员与学生。,用例需求分析,用例需求分析方法采用一种面向对象的情景分析方法用例是系统向用户提供一个有价值的结果的某项功能从用户角度出发考虑的功能需求,不反映功能的实现方式所有的用例结合起来就构成了用例模型,主要元素,参与者用例执行关联,用例图:表示参
13、与者与系统的一次交互过程,用于描述系统需求,从用户的角度,描述系统的场景。,案例2:用例图,参与者(Actor),定义:是指外部用户或外部实体在系统中扮演的角色特征是直接与系统相互作用的系统、子系统或类的外部实体的抽象。是用户所扮演的角色,是系统的用户。每个参与者定义了一个角色集合。通常,一个参与者可以代表一个人、一个计算机子系统、硬件设备或者时间等角色。典型的参与者如销售部经理、销售员、结帐系统等 图形表示用小人图符表示,案例2:用例图,用例(Use Case),定义对一组动作序列的描述,系统通过执行这一组动作序列为参与者产生一个可观察的结果用例特征说明了系统具有的一种行为模式 说明了一个参
14、与者与系统执行的一个相关的事件序列提供了一种获取系统需求的方法 提供了一种与最终的用户和领域专家进行沟通的方法 提供了一种测试系统的方法图形表示用椭圆形表示,用例名称,(用例名称),案例2:用例图,执行关联,定义:Actor 执行Use Case的关系。泛化:用例之间的is a kind of 关系,表示用例之间的场景共享;Actor之间的 is a kind of关系,一般描述职责共享。代表一般与特殊的关系。子用例表示父用例的特殊形式。子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变已继承的行为。当系统中具有一个或多个用例是较一般用例的特殊化时,就使用用例泛化。带空心箭头的实线表示
15、,箭头的方向由子用例指向父用例。,讲师,案例2:用例图,执行关联,包含:一个用例(基本用例)可以包含另外一个用例(包含用例)。基本用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。如果两个以上用例有重复的功能,则可以将重复的功能分解到另一个用例中。其他用例可以和这个用例建立包含关系。一个用例的功能太多时,可以用包含关系创建多个子用例。虚线箭头+,箭头方向指向包含用例。,案例2:用例图,执行关联,扩展:由一个用例的扩展点可以扩展出另外一个用例。把新行为加入到已有用例的方法。有无扩展前基本用例是完整用例。为处理异常或构建灵活系统框架提供了一种有效的方法。虚线箭头+字样,
16、箭头指向被扩展的用例(即基本用例)。,如:学生去食堂打饭,绝大部分人是两个步骤:刷卡,拿饭。但如果某人的饭卡里没钱了,还不无法用现金等其他方式。那么就要先去给饭卡充值。“饭卡充值”就是“刷卡”的一个扩展用例。“饭卡充值”与“刷卡”就是扩展关系。,案例2:用例图,执行关联,实现(关联):参与者与用例之间的使用关系。在UML中,实现关系用直线或箭头表示。如果参与者启动了用例,箭头指向用例;如果参与者利用了用例提供的服务,箭头指向参与者。如果二者是互动的,则是直线。实现关系表示参与者和用例之间的通信。不同的参与者可以访问相同的用例,一般说来它们和该用例的交互是不一样的,如果一样的话,说明他们的角色可
17、能是相同的。,案例2:用例图,寻找参与者的问题,在获取用例前首先要确定系统的参与者,开发人员可以通过回答以下的问题来寻找系统的参与者。(1)谁将使用该系统的主要功能?(2)谁将需要该系统的支持以完成其工作?(3)谁将需要维护、管理该系统,以及保持该系统处于工作状态?(4)系统需要处理哪些硬件设备?(5)与该系统交互的是什么系统?(6)谁或什么系统对本系统产生的结果感兴趣?,案例2:用例图,寻找用例的问题,在识别用例的过程中,通过回答以下几个问题,系统分析者可以获得帮助。(1)特定参与者希望系统提供什么功能?(2)系统是否存储和检索信息,如果是,由哪个参与者触发?(3)当系统改变状态时,是否通知
18、参与者?(4)是否存在影响系统的外部事件?哪个参与者通知系统这些事件?,案例2:用例图,用例建模的过程,建立用例模型的顺序是:确定谁会直接使用该系统。这些都是参与者(Actor)。选取其中一个参与者。定义该参与者希望系统做什么,参与者希望系统做的每件事成为一个用例。对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用例的基本过程。描述该用例的基本过程。考虑一些可变情况,把他们创建为扩展用例。复审不同用例的描述,找出其中的相同点,抽出相同点作为共同的用例(包含用例)。重复步骤27找出每一个用例。,案例2:用例图,1、确定参与者:系统管理员、学生。2、选取其中一个参与者。3、定义该参与者希
19、望系统做什么,成为一个用例。系统管理员:维护课程信息、登录、(查看课程信息)学生:登录、查看课程信息(泛化:按课程编号查询、按课程名查询)、选择课程、删除已选课程、(维护课程信息)4、确定过程。5、描述该用例的基本过程。6、考虑可变,扩展用例:找回密码。7、复审相同点,包含用例(查询课程信息)。8、重复步骤27。,案例2:用例图,网上选课系统的用例图。用例有:登录、找回密码、查看课程信息、按课程编号查询、按课程名查询、选择课程、删除已选课程、维护课程信息;参与者有系统管理员与学生。,时序图展示了几个对象之间的动态协作关系,主要用来显示对象之间发送消息的顺序,还显示对象之间的交互,即系统执行某一
20、特定时间点所发生的事。主要用于设计阶段,4、行为模型-时序图(Brief introduction),3.5 面向对象的分析方法,对象,生命线,消息,五要素:参与者、对象、生命线、控制焦点、消息参与者:参与者发出情况或者接收系统的服务。对象:对象是特定行为与属性的集合,在描述中有意义的集合生命线:用于描述对象的存在周期,对象下方的虚线就是该对象的生命线。控制焦点:是指活动者或对象处于执行状态的时间段。激活状态的时间段,从激活开始到空闲状态结束。,4、行为模型-时序图(Brief introduction)(顺序图),3.5 面向对象的分析方法,消息:用于描述对象间交互的方式及内容。同步消息、异
21、步消息、返回消息、自关联消息1.同步消息=调用信息:一个对象向另一个对象发出同步消息(调用)后,将处于阻塞状态,直等到另外对象的回应。-消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。2.异步消息:发出异步消息(信号)后,该对象可进行其他操作,不需要等到另一个对象的响应。-消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。3.返回消息:同步消息的返回消息。-调用返回4.自关联消息:用来描述对象内部函数的互相调用。-表示方法的自身调用以及一个对象内的一个方法调用另外一个方法,4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教程
链接地址:https://www.desk33.com/p-235714.html