资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机科学与技术学院计算机科学与技术学院软件工程软件工程哈尔滨工业大学哈尔滨工业大学( (威海威海) )计算机科学与技术学院计算机科学与技术学院孟凡超孟凡超Email:Tele:2软件工程软件工程参考教材参考教材软件工程软件工程-原理、方法与应用原理、方法与应用(第第3版版).史济民等史济民等,高等高等教育出版社。教育出版社。软件工程软件工程. 张海藩张海藩. 人民邮电出版社。人民邮电出版社。Software Engineering: Theory and Practice(软软件工程件工程). Shari Lawrence等,人民邮电出版社。等,人民邮电出版社。UML2 and the Unified Process Practical Object-Oriented Analysis and Design(UML2.0和和统一过程统一过程).Jim Arlow.机械工业出版社。机械工业出版社。3软件工程软件工程1.1. 绪论绪论2.2. 软件生存周期与软件过程软件生存周期与软件过程3.3. 结构化分析与设计结构化分析与设计4.4. 面向对象与面向对象与UMLUML5.5. 需求工程与需求分析需求工程与需求分析6.6. 面向对象分析面向对象分析7.7. 面向对象设计面向对象设计8.8. 编码与测试编码与测试9.9. 软件维护软件维护10.10. 软件复用软件复用11.11. 软件工程管理软件工程管理主要内容主要内容4软件工程软件工程需求工程与需求分析需求工程与需求分析n1 软件需求工程软件需求工程n软件需求:是指一个软件系统必须遵循的条件或具软件需求:是指一个软件系统必须遵循的条件或具备的能力。备的能力。n软件需求工程:应用有效的技术和方法、适宜的工软件需求工程:应用有效的技术和方法、适宜的工具和符号,来确定、管理和描述目标系统及其外部行具和符号,来确定、管理和描述目标系统及其外部行为特征的科学。目前软件需求工程已开展为一门独立为特征的科学。目前软件需求工程已开展为一门独立学科。学科。n软件需求层次软件需求层次n业务需求业务需求. 客户或市场对软件高层次目标要求。客户或市场对软件高层次目标要求。n用户需求用户需求. 从用户角度描述软件产品必须完成的任务。从用户角度描述软件产品必须完成的任务。n功能需求功能需求. 软件开发人员必须实现的软件功能。软件开发人员必须实现的软件功能。5软件工程软件工程需求工程与需求分析需求工程与需求分析业务需求业务需求工程愿景与范围工程愿景与范围用户需求用户需求质量属性质量属性用例模型文档用例模型文档功能需求功能需求软件需求规格说明书软件需求规格说明书非功能需求和约非功能需求和约束条件束条件软件需求的层次关系软件需求的层次关系6软件工程软件工程需求工程与需求分析需求工程与需求分析软件需求的特性软件需求的特性功能性需求功能性需求和和非功能性需求非功能性需求(可用性、可靠性、性能、可可用性、可靠性、性能、可支持性、设计约束等支持性、设计约束等)。l可用性:可用性:产品在特定适用环境下为特定用户用于特定用产品在特定适用环境下为特定用户用于特定用途时所具有的有效性、效率和用户主观满意度。简而言之,途时所具有的有效性、效率和用户主观满意度。简而言之,可从三个指标对软件可用性进行评价:可从三个指标对软件可用性进行评价:易学易学、易用易用、用户用户满意满意。l可靠性:可靠性:在规定的条件下,在规定的时间内,软件不引在规定的条件下,在规定的时间内,软件不引起系统失效的概率;在规定的时间周期内,在所述条件下起系统失效的概率;在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。评价可靠性的主要指标有:程序执行所要求的功能的能力。评价可靠性的主要指标有:正常运行率正常运行率、平均无故障时间平均无故障时间、平均修复时间平均修复时间、精确度精确度、最高错误或缺陷率最高错误或缺陷率等。等。7软件工程软件工程需求工程与需求分析需求工程与需求分析l性能:性能:关注软件在完成其功能时所展现出来的及时性。关注软件在完成其功能时所展现出来的及时性。评价性能的主要指标有:评价性能的主要指标有:响应时间响应时间、吞吐量吞吐量、并发用户数并发用户数、资源利用率资源利用率等。等。响应时间:响应时间:是指系统对请求作出响应的时间。是指系统对请求作出响应的时间。吞吐量:吞吐量:是指系统在单位时间内处理请求的数量。是指系统在单位时间内处理请求的数量。并发用户数:并发用户数:是指系统可以同时承载的正常使用系统功能的是指系统可以同时承载的正常使用系统功能的用户的数量。用户的数量。资源利用率:资源利用率:反映的是在一段时间内资源平均被占用的情况。反映的是在一段时间内资源平均被占用的情况。8软件工程软件工程需求工程与需求分析需求工程与需求分析l可支持性:可支持性:定义所有与系统的可支持性或可维护性相关定义所有与系统的可支持性或可维护性相关的需求,其中包括编码标准、命名约定、类库以及如何对的需求,其中包括编码标准、命名约定、类库以及如何对系统进行维护操作和相应的维护实用工具等。系统进行维护操作和相应的维护实用工具等。l设计约束:设计约束:设计约束代表已经批准并必须遵循的设计决设计约束代表已经批准并必须遵循的设计决定,其中包括软件开发流程、开发工具、系统架构、编成定,其中包括软件开发流程、开发工具、系统架构、编成语言、第三方构件库、运行平台和数据库等。语言、第三方构件库、运行平台和数据库等。9软件工程软件工程需求工程与需求分析需求工程与需求分析n2 需求分析与建模需求分析与建模n需求分析步骤需求分析步骤n需求获取需求获取. 数据数据功能功能质量要求。质量要求。n需求建模需求建模. 建立需求模型建立需求模型(结构化需求模型、面向对结构化需求模型、面向对象需求模型象需求模型);绘制系统关联图、创立用户接口原型、;绘制系统关联图、创立用户接口原型、确定需求优先级。确定需求优先级。n需求描述需求描述. 编写需求规格说明书编写需求规格说明书(SRS)。n需求验证需求验证.检查检查SRS中的需求不清、不一致等问题。中的需求不清、不一致等问题。需求获取需求获取需求建模需求建模需求描述需求描述需求验证需求验证10软件工程软件工程需求工程与需求分析需求工程与需求分析需求获取方法需求获取方法建立联合分析小组建立联合分析小组. .由用户、系统分析员和领域专家组由用户、系统分析员和领域专家组成。成。 用户访谈用户访谈. . 做好准备工作,遵循循序渐进、逐步逼近的做好准备工作,遵循循序渐进、逐步逼近的原那么,切不可急于求成。原那么,切不可急于求成。问题分析与确认问题分析与确认. .及时分析整理,逐步确认。及时分析整理,逐步确认。用快速原型法获取需求用快速原型法获取需求. . 11软件工程软件工程需求工程与需求分析需求工程与需求分析n3 需求模型需求模型n结构化需求模型结构化需求模型n功能模型功能模型. 数据流图、加工规格说明。数据流图、加工规格说明。n信息模型信息模型. 数据字典、实体关系图。数据字典、实体关系图。n行为模型行为模型.状态转换图。状态转换图。n面向对象需求模型面向对象需求模型n用例模型用例模型. 用例图。用例图。n补充规约补充规约. 记录用例模型中不易表达的需求。记录用例模型中不易表达的需求。n术语表术语表. 记录软件开发工程中的特定术语。记录软件开发工程中的特定术语。12软件工程软件工程需求工程与需求分析需求工程与需求分析画用例图画用例图写用例规约写用例规约描述补充规约描述补充规约编写术语表编写术语表调整用例模型调整用例模型n4 面向对象需求建模面向对象需求建模面向对象需求建模步骤面向对象需求建模步骤13软件工程软件工程需求工程与需求分析需求工程与需求分析1. 画用例图画用例图确定参与者确定参与者. . 参与者泛指存在于系统外部并与系统进行参与者泛指存在于系统外部并与系统进行交互的人、硬件或者其他系统。交互的人、硬件或者其他系统。寻找参与者可以从以下问题入手:寻找参与者可以从以下问题入手:系统开发完成后,有哪些人会使用这个系统?系统开发完成后,有哪些人会使用这个系统?系统需要从哪些人或其他系统中获得数据?系统需要从哪些人或其他系统中获得数据?系统会为哪些人或其他系统提供数据?系统会为哪些人或其他系统提供数据?系统会与哪些其他系统相关联?系统会与哪些其他系统相关联?系统是由谁来维护和管理的?系统是由谁来维护和管理的?14软件工程软件工程需求工程与需求分析需求工程与需求分析确定用例确定用例. . 主要考察各参与者需要系统提供什么样的效主要考察各参与者需要系统提供什么样的效劳,或者说参与者是如何使用系统的。劳,或者说参与者是如何使用系统的。寻找用例时,可以针对每一个参与者从以下问题入手:寻找用例时,可以针对每一个参与者从以下问题入手:参与者为什么要使用该系统?参与者为什么要使用该系统?参与者是否会在系统中创立、修改、删除、访问和存储参与者是否会在系统中创立、修改、删除、访问和存储数据?如果是,参与者又是如何完成这些操作的?数据?如果是,参与者又是如何完成这些操作的?参与者是否会将外部的某些事件通知该系统?参与者是否会将外部的某些事件通知该系统?系统是否会将内部的某些事件通知该参与者?系统是否会将内部的某些事件通知该参与者?15软件工程软件工程需求工程与需求分析需求工程与需求分析绘制和检查用例图绘制和检查用例图. . 用例和参与者确定后,就可以据此用例和参与者确定后,就可以据此画出用例图。画出用例图。每个用例至少应该涉及一个参与者。每个用例至少应该涉及一个参与者。参与者和用例的名称是否符合统一的命名约定和风格。参与者和用例的名称是否符合统一的命名约定和风格。用例建模通常属于团队开发。用例建模通常属于团队开发。16软件工程软件工程需求工程与需求分析需求工程与需求分析例例.选课系统选课系统1)1)确定参与者。确定参与者。学生、教师、管理员、课程管理系统学生、教师、管理员、课程管理系统学生注册课程学生注册课程教师选择所教课程教师选择所教课程管理员维护教师和学生的信息管理员维护教师和学生的信息课程管理系统维护课程信息课程管理系统维护课程信息2)2)确定用例。确定用例。学生。登陆系统、注册课程、查询成绩学生。登陆系统、注册课程、查询成绩教师。登陆系统、选择所教课程、录入成绩、提交成绩教师。登陆系统、选择所教课程、录入成绩、提交成绩管理员。登陆系统、维护学生信息、维护教师信息管理员。登陆系统、维护学生信息、维护教师信息课程管理系统。维护课程信息课程管理系统。维护课程信息17软件工程软件工程需求工程与需求分析需求工程与需求分析3)3)绘制用例图。绘制用例图。18软件工程软件工程需求工程与需求分析需求工程与需求分析2.写用例规约写用例规约用例规约用例规约. 描述每个用例的功能。用例规约包括内容:描述每个用例的功能。用例规约包括内容:(1)简要说明:简要介绍该用例的作用和目的。简要说明:简要介绍该用例的作用和目的。(2)事件流:包括根本流和备选流,根本流是指用例的正事件流:包括根本流和备选流,根本流是指用例的正常场景,备选流用于描述用例执行过程中的异常或偶尔发常场景,备选流用于描述用例执行过程中的异常或偶尔发生的情况。为了清晰描述事件流,可以采用生的情况。为了清晰描述事件流,可以采用UML活动图、活动图、顺序图、状态图等来辅助说明,或者采用用户界面顺序图、状态图等来辅助说明,或者采用用户界面+流程流程图方式来描述。图方式来描述。(3)特殊需求:描述与该用例相关的非功能需求特殊需求:描述与该用例相关的非功能需求(可用性、可用性、可靠性、性能、支持性需求等可靠性、性能、支持性需求等)和设计约束。和设计约束。(4)前置条件和后置条件。前置条件是指执行用例之前必前置条件和后置条件。前置条件是指执行用例之前必须存在的系统状态,后置条件是用例执行完毕后系统可能须存在的系统状态,后置条件是用例执行完毕后系统可能处于的一组状态。处于的一组状态。19软件工程软件工程需求工程与需求分析需求工程与需求分析3.描述补充规约描述补充规约补充规约用于记录在用例模型中不易表达的包括内容。补充规约用于记录在用例模型中不易表达的包括内容。4.编写术语表编写术语表术语表主要用于定义软件开发工程特定的术语,它有助术语表主要用于定义软件开发工程特定的术语,它有助于开发人员对工程中所使用的术语有统一的理解并能正确于开发人员对工程中所使用的术语有统一的理解并能正确地使用,它也是后继阶段中进行对象抽象的根底。地使用,它也是后继阶段中进行对象抽象的根底。20软件工程软件工程需求工程与需求分析需求工程与需求分析5.调整用例模型调整用例模型对用例模型进行精化,提高重用度、增加可维护性,具对用例模型进行精化,提高重用度、增加可维护性,具体可以从如下方面入手:体可以从如下方面入手:用例之间是否相互独立?如果两个用例以同样的顺序被用例之间是否相互独立?如果两个用例以同样的顺序被激活,可能需要将它们合并为一个用例。激活,可能需要将它们合并为一个用例。多个用例之间是否有非常相似的行为或事件流?如果有,多个用例之间是否有非常相似的行为或事件流?如果有,可以考虑将它们合并为一个用例。可以考虑将它们合并为一个用例。用例事件流的一局部是否已被构建为另一个用例?如果用例事件流的一局部是否已被构建为另一个用例?如果是,可以让该用例包含另一个用例。是,可以让该用例包含另一个用例。是否应该应该将一个用例的事件流插入另一个用例的事是否应该应该将一个用例的事件流插入另一个用例的事件流中?如果是,利用与另一个用例的扩展关系来建立次件流中?如果是,利用与另一个用例的扩展关系来建立次模型。模型。21软件工程软件工程需求工程与需求分析需求工程与需求分析n图书管理系统图书管理系统n1需求建模需求建模n1.1 确定参与者确定参与者n借阅者借阅者(Borrower Actor):借阅者可以借阅、续借、:借阅者可以借阅、续借、归还物理书刊,可以修改个人信息和查询图书。归还物理书刊,可以修改个人信息和查询图书。n图书管理员图书管理员(Librarian):图书管理员可以创立、修:图书管理员可以创立、修改、删除借阅者信息;可以添加、编辑、删除书刊信改、删除借阅者信息;可以添加、编辑、删除书刊信息,即维护书刊目录;可以添加、编辑、删除物理书息,即维护书刊目录;可以添加、编辑、删除物理书刊信息;可以代替借阅者实现借阅和归还图书功能。刊信息;可以代替借阅者实现借阅和归还图书功能。22软件工程软件工程需求工程与需求分析需求工程与需求分析1.2 确定用例确定用例1) 借书借书 (Borrow Books):本用例提供借阅物理书:本用例提供借阅物理书刊的功能。借书由图书管理代替借阅者来执行。刊的功能。借书由图书管理代替借阅者来执行。2) 还书还书(Return Books):本用例提供了返还物理书:本用例提供了返还物理书刊的功能。还书由图书管理员代替借阅者来执行。刊的功能。还书由图书管理员代替借阅者来执行。3) 续借续借 (Renew Books):本用例向借阅者提供续:本用例向借阅者提供续阅物理书刊的功能,该功能由借阅者通过网络自己完阅物理书刊的功能,该功能由借阅者通过网络自己完成。成。4) 维护借阅者信息维护借阅者信息(Maintain Borrowers):本用例:本用例向图书管理员提供了创立、修改、取消借阅者帐户信向图书管理员提供了创立、修改、取消借阅者帐户信息的功能。息的功能。5 )修改借阅者信息修改借阅者信息(Modify Borrower ):本用例向:本用例向借阅者提供了修改该借阅者自身帐户信息的功能。借阅者提供了修改该借阅者自身帐户信息的功能。23软件工程软件工程需求工程与需求分析需求工程与需求分析6) 维护书刊信息维护书刊信息(Maintain Titles):本用例向本用例向图书管理员图书管理员提供了添加、修改、删除书刊信息的功能。提供了添加、修改、删除书刊信息的功能。7) 维护物理图书信息维护物理图书信息(Maintain Books):本用例向本用例向图书图书管理员管理员提供了添加、修改、删除物理书刊信息的功能。提供了添加、修改、删除物理书刊信息的功能。8)查询书刊信息查询书刊信息(Query Titles):本用例向本用例向借阅者借阅者提供查提供查询书刊信息功能。询书刊信息功能。9) 登陆登陆(Login):本用例描述了本用例描述了参与者参与者(管理员和借阅者管理员和借阅者)如何登陆进入系统。如何登陆进入系统。24软件工程软件工程需求工程与需求分析需求工程与需求分析1.31.3 绘制用例图绘制用例图25软件工程软件工程需求工程与需求分析需求工程与需求分析1.4写用例规约写用例规约Use caseUse case:借借书(Borrow Books)(Borrow Books)ID:1描述:描述:本用例提向借阅者供借阅物理书刊的功能,该功能由图书管理代替借阅者来执行。主要参与者:主要参与者:图书管理员(Librarian)辅助参与者:助参与者:借阅者(Borrower Actor)前置条件:前置条件:在该用例开始前,图书管理员必须登陆到系统。主流:主流:1. 当借阅者从图书管借阅物理图书,并通知图书管理员借书时,用例启动。2.系统根据读卡器读取借阅者的借阅卡,自动获取借阅者及其借阅记录信息。3.系统检索借阅者的借阅记录,检查是否有过期书刊以及该借阅者所借图书的数量是否等于其借阅上限,如果有过期书刊,则通知借阅者先归还过期书刊,用例执行结束;如果借阅数量等于借阅上限,则通知借阅者的借阅数量已满,用例执行结束。4.借阅数量小于或等于借阅上限时,图书管理员可以利用条码扫描器读取被借物理书刊信息(物理书刊ID、名称等),创建借阅记录,并将该信息写入借阅记录,借阅记录的数量不能超过借阅上限;否则,通知借阅者的借阅数量已满,用例执行结束。后置条件:后置条件:如果该用例成功执行,在系统中建立借阅记录。附流:附流:None.26软件工程软件工程需求工程与需求分析需求工程与需求分析Use caseUse case:还书(Return Books)(Return Books)ID:2描述:描述:本用例提向借阅者供归还物理书刊的功能,该功能由图书管理代替借阅者来执行。主要参与者:主要参与者:图书管理员(Librarian)辅助参与者:助参与者:借阅者(Borrower Actor)前置条件:前置条件:在该用例开始前,图书管理员必须登陆到系统。主流:主流:1.当借阅者通知图书管理员还书时,用例启动。2.图书管理员利用条码扫描器读取借阅者归还的每本物理书刊条码,并根据该条码标识从系统中获取该物理书刊的借阅者及其借阅记录信息。3.系统根据借阅记录、还书时间以及该借阅者的最长借阅时间,判断所借物理书刊是否过期,如果过期,则根据罚款规则生成罚金,存储到借阅者的帐号中。4.删除该借阅记录。后置条件:后置条件:如果该用例成功执行,系统删除借阅记录。附流:附流:None.27软件工程软件工程1.1. 绪论绪论2.2. 软件生存周期与软件过程软件生存周期与软件过程3.3. 结构化分析与设计结构化分析与设计4.4. 面向对象与面向对象与UMLUML5.5. 需求工程与需求分析需求工程与需求分析6.6. 面向对象分析面向对象分析7.7. 面向对象设计面向对象设计8.8. 编码与测试编码与测试9.9. 软件维护软件维护10.10. 软件复用软件复用11.11. 软件工程管理软件工程管理主要内容主要内容28软件工程软件工程面向对象分析面向对象分析n1 软件分析概述软件分析概述面向对象软件分析面向对象软件分析(Object-Oriented Analysis, OOA):OOA的主要任务的主要任务理解用户需求理解用户需求分析建模:标识类,定义属性和方法,刻画类层次,表分析建模:标识类,定义属性和方法,刻画类层次,表示对象以及对象与对象之间的关系,为对象行为建模。示对象以及对象与对象之间的关系,为对象行为建模。OOA的模型的模型以用例模型为主体的需求模型以用例模型为主体的需求模型:类类/对象模型、类对象模型、类/对象关系模型、对象行为模型对象关系模型、对象行为模型29软件工程软件工程面向对象分析面向对象分析以用例模型以用例模型为主体的为主体的需求模型需求模型类类/对象对象模型模型对象对象关系模型关系模型对象对象行为模型行为模型属性、操作、协作者属性、操作、协作者OOA模型的结构模型的结构30软件工程软件工程面向对象分析面向对象分析OOA的优点的优点(与传统软件分析方法相比与传统软件分析方法相比)同时加强了对问题空间和软件系统的理解;同时加强了对问题空间和软件系统的理解;改进了包括用户在内的与软件分析有关的各类人员之间改进了包括用户在内的与软件分析有关的各类人员之间的交流;的交流;对需求变化具有较强的适应性;对需求变化具有较强的适应性;很好地支持软件复用;很好地支持软件复用;确保从需求模型到设计模型的一致性。确保从需求模型到设计模型的一致性。31软件工程软件工程面向对象分析面向对象分析分析模型的特点分析模型的特点全面覆盖软件的功能需求;全面覆盖软件的功能需求;分析模型与软件的实现无关分析模型与软件的实现无关(平台无关模型平台无关模型);分析模型的表述方法与所采用的分析技术有关。分析模型的表述方法与所采用的分析技术有关。32软件工程软件工程面向对象分析面向对象分析n2面向对象分析建模面向对象分析建模识别与确定分识别与确定分析类析类定义类的层次定义类的层次结构结构确定主题或子确定主题或子系统系统建立对象建立对象-行行为模型为模型建立对象建立对象-关关系模型系模型33软件工程软件工程面向对象分析面向对象分析1.识识别与确定分析类别与确定分析类分析类的类型分析类的类型边界类:边界类:边界类提供了对参与者或外部系统交互的接口。边界类提供了对参与者或外部系统交互的接口。一个系统可能有多种边界类一个系统可能有多种边界类:用户界面类、系统接口类、用户界面类、系统接口类、设备接口类。设备接口类。控制类:控制类:控制类用于封装一个或几个用例所特有的流程控制类用于封装一个或几个用例所特有的流程控制行为,通过它可以建立系统地动态行为模型。控制行为,通过它可以建立系统地动态行为模型。实体类:实体类:实体类用于对必须存储的信息和相关行为建模,实体类用于对必须存储的信息和相关行为建模,其主要职责是存储和管理系统中的信息。其主要职责是存储和管理系统中的信息。34软件工程软件工程面向对象分析面向对象分析查找分析类查找分析类为每对参与者为每对参与者/用例确用例确定边定边界类。界类。为为每个用例设每个用例设置控置控制类。制类。确定相关的各个实体类。确定相关的各个实体类。边界类边界类35软件工程软件工程面向对象分析面向对象分析控制类控制类实体类实体类36软件工程软件工程面向对象分析面向对象分析课课程注册用程注册用例的分例的分析类析类37软件工程软件工程面向对象分析面向对象分析2.建建立对象立对象-行为模型行为模型根据用例的事件流,绘制行为模型根据用例的事件流,绘制行为模型( (顺序图顺序图/ /协作图协作图) )。1)1)系统从课程管理系统中得到可选择的课程列表,并将列表显示给学生。系统从课程管理系统中得到可选择的课程列表,并将列表显示给学生。2)2)学生从课程列表中选择本学期所要学的课程学生从课程列表中选择本学期所要学的课程( (必修课程必修课程/ /选修课程选修课程) )。3)3)一旦学生决定了选课情况,系统为他们创立一个包含所选课程的课程表。一旦学生决定了选课情况,系统为他们创立一个包含所选课程的课程表。4)4)执行提交课表子流程。执行提交课表子流程。38软件工程软件工程注册课程顺序图注册课程顺序图39软件工程软件工程面向对象分析面向对象分析:Client:SupplierPerformResponsibilityPerformResponsibilitySupplier类图类图交互图交互图为分析类分配职责为分析类分配职责40软件工程软件工程面向对象分析面向对象分析p课程注册用例的分析类的职责分配课程注册用例的分析类的职责分配41软件工程软件工程面向对象分析面向对象分析3.建建立对象立对象-关系模型关系模型1)1)分分析类的属性:析类的属性:分析类自身的特征。属性名应分析类自身的特征。属性名应当当是是一一个名词,其数据类型一般为简单的数据类型。个名词,其数据类型一般为简单的数据类型。2)2)分分析类的关联:析类的关联:分析类具有指向其他分析类的关联,分析类具有指向其他分析类的关联,通过这种关联能够找到其他分析类。在顺序图通过这种关联能够找到其他分析类。在顺序图/通信图中,通信图中,对象之间的链接是相应分析类之间存在关联关系的动态表对象之间的链接是相应分析类之间存在关联关系的动态表现形式。现形式。3)3)分分析类图:析类图:描述分析类及其之间关系,其中描述某个描述分析类及其之间关系,其中描述某个用例的分析类图称为用例的分析类图称为参与类图参与类图。4)4)分分析类合并:析类合并:一个分析类可以参与任何数量的用例,一个分析类可以参与任何数量的用例,因此就整个系统而言,需要合并分析类,把具有相似行为因此就整个系统而言,需要合并分析类,把具有相似行为的类合并为一个。的类合并为一个。42软件工程软件工程面向对象分析面向对象分析:Client:SupplierPerformResponsibilityPerformResponsibilitySupplier类图类图交互图交互图Client链接链接关联关联对象对象类类p链接与关联之间的对应关系链接与关联之间的对应关系43软件工程软件工程面向对象分析面向对象分析p课程注册用例的参与类图课程注册用例的参与类图44软件工程软件工程借书借书45软件工程软件工程面向对象分析与设计面向对象分析与设计还书还书46软件工程软件工程面向对象分析面向对象分析维护借阅者信息维护借阅者信息47软件工程软件工程面向对象分析与设计面向对象分析与设计增加借阅者增加借阅者48软件工程软件工程面向对象分析与设计面向对象分析与设计修改借阅者修改借阅者
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号