软件工程 第五章:交互图

第五章:交互图

概述
  1. 动态模型用来描述系统的动态行为,分为状态模型和交互模型。
  2. 交互图描述对象间的动态合作关系及合作过程中的行为次序。常用来描述一个用例的行为,显示该用例中所涉及的对象及它们间的消息传递情况。
  3. 交互图有序列图和协作图两种形式
    序列图主要用来描述对象之间信息交换时的时间顺序.
    协作图则用来描述系统对象之间如何协作共同完成系统功能的要求。
  4. 它们在语义上是等价的。这意味着序列图和协同图内部包含的信息是相同的。因此两图可以互相推导,可通过工具互相自动转换
  5. 交互图可以为软件系统的下列构成的对象的动态行为进行建模:类、接口、部件、节点

序列图

概述
  • 定义:序列图是交互图的一种,它强调的是消息发送的时间的先后顺序
组成

(1)对象:序列图中所包含的每个对象用一个对象框(短式)表示,对象名需带下划线。
(2)生存线:对象框下画的一条垂直虚线,称为该对象的生存线,表示对象的生存时间。
(3)激活期:对象生存线上的一个细长方形框,表示该对象的激活时间段,即活动期间。
(4)消息:对象之间消息的发送和接收用两个 对象生存线(激活期)之间的消息箭头线。
在这里插入图片描述

消息
  • 定义:对象间的互相合作与交流表现为一个对象以某种方式启动另一一个对象的活动。这种交流在UML中被定义为消息。消息相当于向目标对象发送了一条命令,此命令启动了目标对象的一个动作。

  • 分类:消息的分类可以从两个角度区分:
    一是从消息触发的动作来区分
    二是从消息的过程控制流进行区分。

  • 通过发送消息可以触发的动作有:

  1. 创建一个对象或释放对象
  2. 调用另一个对象的操作
  3. 调用本对象的操作
  4. 发送信息给另一个对象
  5. 返回值给调用者
  • 消息可以分为四种控制流,分别是简单消息、异步消息、同步消息和返回消息。
    1)简单消息
    展示了控制如何从一个对象传递到另一个对象,但不描述任何通信的细节。
    2)同步消息
    是一种嵌套的控制流,通常用操作调用来实现。
    3)异步消息
    异步控制流,没有明显的返回信息回送给调用者。
    4)返回消息
    表示控制流从过程调用的返回。
建立序列图的过程

① 从用例中识别交互过程;
② 识别参与交互过程的对象;
③ 为每一个对象设置生命线,并确定对象的存在期限;
④ 从引发交互的初始消息开始,在对象生命线上依次画出交互的消息;
⑤ 如果需要,可以给消息增加时间约束,以及前置条件和后置条件。

例:
读者在借书时,先由馆员把读者编号输入给系统,系统返回读者的身份信息,以及读者的借阅信息。如果读者借书数量没有超过借书的上限,则把要借书的图书编号输入系统,系统登记借书信息,并返回借书成功信息,借书过程完成。
在这里插入图片描述

协作图

概述

定义:协作图是交互图的另一种表现形式,它在语义上和交互图是等价的
在这里插入图片描述

构成

包含三个:对象、连接、在此连接上传递的消息

  • 连接:
  1. 连接(Link)被定义为对象之间的语义联系。连接是类之间的关联关系实例。在序列图中,两个对象之间有消息,意味着它们之间在语义上存在着联系,所以它们的对象之间存在着连接关系。
  2. 在协作图上,连接用对象之间相连的直线来表示; 连接可以有名字,它标在表示连接的直线上
    在这里插入图片描述
建立协作图的过程

① 从用例中识别交互过程;
② 识别参与交互过程的对象;
③ 确定对象之间的链,以及链上的消息;
④ 从引发交互的初始消息开始,将随后每个消息附在相应的链上;
⑤ 如果需要,可以给消息增加时间约束,以及前置条件和后置条件。

对比
  • 协作图VS序列图
  1. 序列图和协作图都属于交互图,用来描述对象之间的动态关系。
  2. 序列图和协作图在语义上是等价的,两者可以相互转换。
  3. 与序列图相比,通过编号来看消息的执行顺序比较困难,但协作图中对象间灵活的空间布局可以更方便地展示动态连接关系等有用信息。
  4. 序列图强调消息的时间顺序,协作图强调参与交互的对象的组织关系。
  5. 当行为比较简单时,交互图比较好;当行为比较复杂时,则应使用活动图。
  6. 如果想描述跨越多个用例的单个对象的行为,应当使用状态图。如果想描述跨越多个用例或多个线程的复杂行为,则应使用活动图。
变化
  • 在UML2.0中,通信图实际上是以前版本的协作图
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文名: 软件工程 作者: 曾强聪 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 9787040157437发行时间: 2004年11月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本书是普通高等教育“十五”国家级规划教材。具有结构严谨、概念清晰、内容紧凑,深入浅出、突出实用、便于自学等特点。 全书内容紧凑,深入浅出。全书共10章正文,以软件生命周期为主线,主要内容包括:软件工程概论、软件工程过程模型、项目分析与规划、软件需求分析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、软件测试、软件维护。附录部分包括软件文档管理规范和软件文档格式。 本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用,还可供本科院校、计算机专业人员和爱好者参考使用,并可用作软件技术人员资格(水平)考试的培训教材。 目录: 第1章 软件工程概述 1.1 软件 1.1.1 软件特点 1.1.2软件分类 1.1.3软件发展历程 1.2软件危机 1.2.1软件危机现象 1.2.2产生软件危机的原因 1.3软件工程 1.3.1软件工程概念 1.3.2软件工程技术 1.3.3软件工程管理 1.3.4软件工程基本原则 1.3.5软件工程目标 1.3.6软件工程文化 小结 习题 第2章软件工程过程模型 2.1软件生命周期 2.1.1软件定义期 2.1.2软件开发期 2.1.3软件运行与维护期 2.2瀑布模型 2.2.1瀑布模型的特点 2.2.2瀑布模型的作用 2.2.3带有信息反馈环的瀑布模型 2.2.4瀑布模型的局限 2.3原型模型 2.3.1快速原型方法 2.3.2原型进化模型 2.4增量模型 2.4.1 增量 2.4.2增量模型的作用 2.5螺旋模型 2.6喷泉模型 2.7组件复用模型 小结 习题 第3章项目分析与规划 3.1计算机系统分析 3.1.1计算机系统 3.1.2系统分析方法 3.1.3建立系统模型 3.2项目可行性分析 3.2.1 可行性分析意义 3.2.2可行性分析内容 3.2.3可行性分析过程 3.3项目成本效益分析 3.3.1项目成本估算 3.3.2项目效益分析 3.4项目规划 3.4.1项目开发计划 3.4.2项目进度表 小结 习题 第4章软件需求分析 4.1需求分析的任务 4.1.1用户需求 4.1.2系统需求 4.2需求分析过程 4.3用户需求获取 4.3.1研究用户 413.2从调查中获取用户需求 4.3.3通过原型完善用户需求 4.3.4用户需求陈述 4.4结构化分析建模 4.4.1功能层次模型 4.4.2数据流模型(DFD) 4.4.3数据关系模型(ER) 4.4.4系统状态模型 4.5需求有效性验证 4.5.1需求验证内容 4.5.2需求验证方法 4.6需求规格定义 小结 习题 第5章软件概要设计 5.1概要设计过程与任务 5.1.1 设计过程 5.1.2设计任务 5.2系统构架设计 5.2.1集中式结构 5.2.2客户机/服务器结构 5.2.3 多层客户机/月艮务器结构 5.2.4组件对象分布式结构 5.3软件结构设计 5.3.1模块概念 5.3.2模块的独立性 5.3.3结构化设计建模 5.3.4软件结构优化 5.4面向数据流的结构设计 5.4.1变换流分析与设计 5.4.2事务流分析与设计 5.4.3混合流分析与设计 5.4.4 设计举例 5.5数据库结构设计 5.5.1逻辑结构设计 5.5.2物理结构设计 小结 习题 第6章面向对象分析与设计 6.1 面向对象方法学 6.1.1面向对象方法的基本概念 6.1.2面向对象方法具有的优越性 6.1.3 UML建模方法 6.2 面向对象分析建模 6.2.1 用例 6.2.2 活动 6.2.3 分析类 6.2.4序列 6.3面向对象设计建模 6.3.1 设计类 6.3.2协作 6.3.3状态 6.3.4构件 6.3.5部署 小结 习题 第7章用户界面设计 7.1用户界面设计过程 7.2界面设计中需要考虑的因素 7.3界面类型 7.3.1单窗体界面(SDI) 7.3.2多窗体界面(MDI) 7.3.3辅助窗体 7.3.4 Web页面 7.4 界面功能特征 7.4.1 用户交互 7.4.2 信息表示 7.4
院 系:软 件 学 院 实验课程:软件工程 实验项目:《餐饮管理系统》需求分析说明书 指导老师:庞雄文 开课时间:2012 ~ 2013年度第 1学期 专 业:软件工程(数字媒体) 班 级:2010级7,8班 学 生:邓润锋 何嘉妮 余晶晶 学 号:20102003007 20102003009 20102003066 华南师范大学教务处 需求分析规格说明书 1. 引言 ................................................................................................................................. 3 1.1. 编写目的................................................................................................................... 3 1.2. 背景........................................................................................................................... 3 1.3. 定义........................................................................................................................... 4 1.4. 参考资料 ................................................................................................................... 4 2. 任务概述 ......................................................................................................................... 5 2.1. 目标........................................................................................................................... 5 2.1.1. 总体目标 ........................................................................................................ 5 2.1.2. 概要目标 ........................................................................................................ 5 2.1.3. 系统结构 ........................................................................................................ 5 2.2. 用户特点 ................................................................................................................... 6 2.3. 假定和约束 ............................................................................................................... 7 3. 需求设计 ......................................................................................................................... 7 3.1. 系统详细设计 ...............................................................................................
序   前言   第1篇面向过程的软件工程   第1章软件危机、 软件工程   11软件工程的发展史   111程序设计时代   112程序系统时代   113软件工程时代   12软件危机主要表现形式   13产生软件危机的原因及解决途径   131产生软件危机的原因   132解决软件危机的途径   14软件和软件工程   141软件   142软件工程   15软件质量   16软件的生存周期及开发模型   161软件生存周期   162软件开发模型   17习题   第2章可行性研究   21可行性研究的目的与任务   22可行性研究的步骤   23系统流程   231系统流程的符号   232系统流程示例   24成本-效益分析   241货币的时间价值   242投资回收期   243纯收入   25可行性研究报告的主要内容   26习题   第3章软件需求分析   31需求分析的任务和步骤   311需求分析的任务   312需求分析的步骤   32需求获取的常用方法   321常规的需求获取方法   322快速建立软件原型来获取需求   33需求分析的方法   331功能分解方法   332结构化分析方法   333信息建模方法   334面向对象的分析   34结构化分析方法   341自顶向下逐层分解的分析策略   342结构化分析描述工具   343数据流   344数据字典   345加工逻辑的描述   35需求分析形工具   351层次方框   352Warnier   353IPO   36SA 方法的应用   37习题   第4章软件总体设计   41软件总体设计的目标和任务   42软件设计的概念和原理   421模块和模块化   422抽象   423信息隐蔽和局部化   424模块独立性及其度量   43软件结构设计准则   44软件结构设计的形工具   441软件结构   442层次   443HIPO   45结构化设计方法   451数据流的类型   452结构化设计方法的步骤   453变换型分析设计   454事务型分析设计   46习题   第5章软件详细设计   51详细设计的目的与任务   52结构化程序设计   53详细设计工具   531程序流程   532NS   533PAD   534过程设计语言   54习题   第6章软件编码   61程序设计语言的分类   611基础语言   612结构化语言   613面向对象的语言   62程序设计语言的选择   63程序设计风格   631程序内部文档   632数据说明   633语句构造   634输入/输出   635效率   64习题   第7章软件测试   71软件测试的目标   72软件测试的原则   73软件测试方法   731静态测试与动态测试   732黑盒测试法与白盒测试法   74软件测试用例的设计   741白盒技术   742黑盒技术   75软件测试过程   751单元测试   752集成测试   753确认测试   754系统测试   76调试   761调试的目的   762调试技术   77习题   第8章软件维护   81软件维护的分类   82软件维护的特点   821结构化维护与非结构化维护   822维护的代价   823软件维护中存在的问题   83软件可维护性   831软件可维护性的定义   832软件可维护性的度量   833提高软件可维护性的方法   84维护的副作用   85软件再工程   851软件再工程与逆向工程的概念   852实施软件再工程的原因   853软件再工程技术   86习题   第2篇UML与面向对象的软件工程   第9章UML简介   91UML概述   911UML的组成   912UML的特点和用途   913UML的模型视简介   92UML软件开发工具简介   921Rational Rose   922Visio简介   93习题   第10章面向对象的概念   101面向对象的方法学   1011面向对象建模   1012面向对象的方法与传统软件方法的比较   102对象与类及其UML表示   1021对象   1022类与实例   1023对象属性与操作   1024对象类的关联   103聚集、 组合、 继承和多态   1031聚集与组合   1032抽象与继承   1033多态   104习题   第11章对象设计模式   111对象设计模式概念   1111历史背景   1112对象设计模式   1113设计模式的分类   112几种典型的对象设计模式及应用   1121行为型模式中的职责键模式及应用   1122结构型模式中的外观模式及应用   1123创建型模式中的抽象工厂模式及应用   113对象类的高级概念   1131抽象类、 参数对象类、型与实现对象类   1132接口   1133版型   114组件、 包和结点   1141组件   1142包和包   1143结点   115习题   第12章面向对象的软件开发过程   121RUP概述   1211RUP的历史   1212RUP的特色   122RUP软件开发生命周期和建模   1221RUP软件开发的生命周期   1222RUP的动态结构   1223RUP的静态结构   1224RUP的建模   123面向对象软件开发过程的案例分析   1231系统需求   1232系统的静态结构模型   1233顺序和协作   1234状态和活动   1235组件和部署   124习题   第13章软件开发工具Rose   131Rose的用例与类   1311用例   1312类   132Rose的交互与状态机   1321交互   1322状态机   133包、 组件与部署   1331包   1332组件   1333部署   134Rose的代码生成和逆向工程   1341代码生成   1342逆向工程   135Rose应用举例   136习题   第14章Rose及其应用   141Rose的主要功能   142Rose的使用   1421Rose主菜单窗口   1422模型与工作方式的组织   143教学管理系统的分析与设计   1431系统需求分析   1432系统问题领域分析   1433静态结构模型的建立   1434动态行为模型的建立   1435物理模型的建立   144UML类与VB代码的转换   1441VB代码生成属性   1442Rose模型—VB代码的生成   1443VB代码的逆向工程   145UML类与Java代码的转换   1451UML类—Java代码的生成   1452Java代码的逆向工程   146习题   第15章面向对象的软件体系结构   151软件体系结构概述   152流程处理与客户机/服务器体系结构   1521流程处理   1522客户机/服务器体系结构   153三层和多层体系结构   1531三层体系结构   1532浏览器/服务器体系结构风格   1533多层体系结构   1534团聚与串行   154公共对象请求代理体系结构   155基于层次消息总线的体系结构风格   156异构结构风格   157习题   第16章软件工程新技术   161软件复用技术   1611软件复用概念及分类   1612软件复用的关键技术和复用粒度   162中间件技术   1621中间件概念及特点   1622中间件的分类   163组件技术   1631组件与组件化   1632组件模型及描述语言   1633组件的检索与组装   164计算机辅助软件工程技术   1641CASE的基本概念   1642CASE工具与集成CASE环境   165软件产品线技术   1651软件产品线基本概念   1652软件产品线方法   1653北大青鸟工程   166软件过程与标准化   1661软件过程及其改进   1662ISO 9000标准   1663软件能力成熟度模型   167习题   第3篇软件工程实验   第17章软件工程实验大纲   171面向过程的软件工程实验   1711实验1书馆书管理系统的可行性分析   1712实验2书馆书管理系统的项目开发计划   1713实验3书馆书管理系统的需求分析   1714实验4书馆书管理系统的总体设计   1715实验5书馆书管理系统的详细设计及编码实现   1716实验6书馆书管理系统的系统测试   1717实验7书馆书管理系统用户手册的撰写   1718实验8书馆书管理系统项目开发总结报告的撰写   172面向对象的软件工程实验   1721实验1浏览器系统的可行性分析   1722实验2浏览器系统的项目开发计划   1723实验3浏览器系统的需求分析   1724实验4浏览器系统的体系结构设计   1725实验5采用面向对象方法进行浏览器系统的详细设计   1726实验6利用Rational Rose正向工程功能完成编码的实验   1727实验7利用Rational Rose逆向工程完成修改设计的实验   1728实验8浏览器系统的测试   1729实验9浏览器系统用户手册的撰写   17210实验10浏览器系统项目开发总结报告的撰写   附录   附录AUML总结   附录BUML中定义的常用版型、 约束和标记   附录CGOF给出的软件设计模式
软件工程(原书第9版)》是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的不断发展,不断更新版本,影响了一代又一代软件工程人才,对学科本身也产生了重大影响。本版保留了上一版中的软件工程的基本材料,但对各章都进行了修改和更新,并增加了很多有关其他主题的新材料。 《软件工程(原书第9版)》包含四个部分:第一部分是对软件工程的一般性介绍,包括软件工程过程和敏捷开发,以及面向对象的设计和设计模式的使用;第二部分介绍可依赖性和信息安全性问题;第三部分介绍高级软件工程;第四部分介绍软件管理,重点介绍技术管理问题。 《软件工程(原书第9版)》适合作为软件和系统工程专业本科生或研究生教材,同时也是软件工程师难得的优秀参考书籍。 目录编辑 《软件工程(原书第9版)》 出版者的话 译者序 前言 第一部分软件工程导论 第1章概述 1.1专业化软件开发 1.1.1软件工程 1.1.2软件工程的多样性 1.1.3软件工程和web 1.2软件工程人员的职业道德 1.3案例研究 1.3.1胰岛素泵控制系统 1.3.2用于心理健康治疗的患者信息系统 1.3.3野外气象站 要点 进一步阅读材料 练习 参考书目 第2章软件过程 .2.1软件过程模型 2.1.1瀑布模型 2.1.2增量式开发 2.1.3面向复用的软件工程 2.2过程活动 2.2.1软件描述 2.2.2软件设计和实现 2.2.3软件有效性验证 2.2.4软件进化 2.3应对变更 2.3.1原型构造 2.3.2增量式交付 2.3.3boehm的螺旋模型 2.4rational统一过程 要点 进一步阅读材料 练习 参考书目 第3章敏捷软件开发 3.1敏捷方法 3.2计划驱动开发和敏捷开发 3.3极限编程 3.3.1极限编程中的测试 3.3.2结对编程 3.4敏捷项目管理 3.5可扩展的敏捷方法 要点 进一步阅读材料 练习 参考书目 第4章需求工程 4.1功能需求和非功能需求 4.1.1功能需求 4.1.2非功能需求 4.2软件需求文档 4.3需求描述 4.3.1自然语言描述 4.3.2结构化描述 4.4需求工程过程 4.5需求导出和分析 4.5.1需求发现 4.5.2采访 4.5.3脚本 4.5.4用例 4.5.5深入实际 4.6需求有效性验证 4.7需求管理 4.7.1需求管理规划 4.7.2需求变更管理 要点 进一步阅读材料 练习 参考书目 第5章系统建模 5.1上下文模型 5.2交互模型 5.2.1用例建模 5.2.2时序 5.3结构模型 5.3.1类 5.3.2泛化 5.3.3聚合 5.4行为模型 5.4.1数据驱动的建模 5.4.2事件驱动模型 5.5模型驱动工程 5.5.1模型驱动体系结构 5.5.2可执行uml 要点 进一步阅读材料 练习 参考书目 第6章体系结构设计 6.1体系结构设计决策 6.2体系结构视 6.3体系结构模式 6.3.1分层体系结构 6.3.2容器体系结构 6.3.3客户机-服务器体系结构 6.3.4管道和过滤器体系结构 6.4应用体系结构 6.4.1事务处理系统 6.4.2信息系统 6.4.3语言处理系统 要点 进一步阅读材料 练习 参考书目 第7章设计与实现 7.1利用uml进行面向对象设计 7.1.1系统上下文与交互 7.1.2体系结构的设计 7.1.3对象类识别 7.1.4设计模型 7.1.5接口描述 7.2设计模式 7.3实现问题 7.3.1复用 7.3.2配置管理 7.3.3宿主机-目标机开发 7.4开源开发 要点 进一步阅读材料 练习 参考书目 第8章软件测试 8.1开发测试 8.1.1单元测试 8.1.2选择单元测试案例 8.1.3组件测试 8.1.4系统测试 8.2测试驱动开发 8.3发布测试 8.3.1基于需求的测试 8.3.2情景测试 8.3.3性能测试 8.4用户测试 要点 进一步阅读材料 练习 参考书目 第9章软件进化 9.1进化过程 9.2程序进化的动态特性 9.3软件维护 9.3.1维护预测 9.3.2软件再工程 9.3.3通过重构进行预防性维护 9.4遗留系统管理 要点 进一步阅读材料 练习 参考书目 第二部分可依赖性和信息安全性 第10章社会技术系统 10.1复杂系统 10.1.1系统总体特性 10.1.2系统非确定性 10.1.3成功标准 10.2系统工程 10.3系统采购 10.4系统开发 10.5系统运行 10.5.1人为错误 10.5.2系统进化 要点 进一步阅读材料 练习 参考书目 第11章可依赖性与信息安全性 11.1可依赖性特征 11.2可用性和可靠性 11.3安全性 11.4信息安全性 要点 进一步阅读材料 练习 参考书目 第12章可依赖性与信息安全性描述 12.1风险驱动的需求描述 12.2安全性描述 12.2.1危险识别 12.2.2危险评估 12.2.3危险分析 12.2.4风险降低 12.3可靠性描述 12.3.1可靠性度量 12.3.2非功能性的可靠性需求 12.3.3功能可靠性描述 12.4信息安全性描述 12.5形式化描述 要点 进一步阅读材料 练习 参考书目 第13章可依赖性工程 13.1冗余性和多样性 13.2可依赖的过程 13.3可依赖的系统体系结构 13.3.1保护性系统 13.3.2自监控系统体系结构 13.3.3n-版本编程 13.3.4软件多样性 13.4可依赖的编程 要点 进一步阅读材料 练习 参考书目 第14章信息安全工程 14.1信息安全风险管理 14.1.1生存期风险评估 14.1.2运行风险评估 14.2面向信息安全的设计 14.2.1体系结构设计 14.2.2设计准则 14.2.3部署设计 14.3系统生存能力 要点 进一步阅读材料 练习 参考书目 第15章可依赖性与信息安全保证 15.1静态分析 15.1.1检验和形式化方法 15.1.2模型检测 15.1.3自动静态分析 15.2可靠性测试 15.3信息安全性测试 15.4过程保证 15.5安全性和可依赖性案例 15.5.1结构化论证 15.5.2结构化的安全性论证 要点 进一步阅读材料 练习 参考书目 第三部分高级软件工程 第16章软件复用 16.1复用概览 16.2应用框架 16.3软件产品线 16.4cots产品的复用 16.4.1cots解决方案系统 16.4.2cots集成系统 要点 进一步阅读材料 练习 参考书目 第17章基于组件的软件工程 17.1组件和组件模型 17.2cbse过程 17.2.1面向复用的cbse 17.2.2基于复用的cbse 17.3组件合成 要点 进一步阅读材料 练习 参考书目 第18章分布式软件工程 18.1分布式系统的问题 18.1.1交互模型 18.1.2中间件 18.2客户机-服务器计算 18.3分布式系统的体系结构模式 18.3.1主从体系结构 18.3.2两层客户机-服务器结构 18.3.3多层客户机-服务器结构 18.3.4分布式组件体系结构 18.3.5对等体系结构 18.4软件作为服务 要点 进一步阅读材料 练习 参考书目 第19章面向服务的体系结构 19.1服务作为可复用的组件 19.2服务工程 19.2.1可选服务的识别 19.2.2服务接口设计 19.2.3服务实现和部署 19.2.4遗留系统服务 19.3使用服务的软件开发 19.3.1工作流设计和实现 19.3.2服务测试 要点 进一步阅读材料 练习 参考书目 第20章嵌入式软件 20.1嵌入式系统设计 20.1.1实时系统建模 20.1.2实时编程 20.2体系结构模式 20.2.1观察和反应 20.2.2环境控制 20.2.3处理管道 20.3时序分析 20.4实时操作系统 要点 进一步阅读材料 练习 参考书目 第21章面向方面的软件工程 21.1关注点分离 21.2方面、连接点和切入点 21.3采用方面的软件工程 21.3.1面向关注点的需求工程 21.3.2面向方面的设计和编程 21.3.3检验和有效性验证 要点 进一步阅读材料 练习 参考书目 第四部分软 件 管 理 第22章项目管理 22.1风险管理 22.1.1风险识别 22.1.2风险分析 22.1.3风险规划 22.1.4风险监控 22.2人员管理 22.3团队协作 22.3.1成员挑选 22.3.2小组的结构 22.3.3小组的沟通 要点 进一步阅读材料 练习 参考书目 第23章项目规划 23.1软件报价 23.2计划驱动的开发 23.2.1项目计划 23.2.2规划过程 23.3项目进度安排 23.4敏捷规划 23.5估算技术 23.5.1算法成本建模 23.5.2cocomo Ⅱ模型 23.5.3项目的工期和人员配备 要点 进一步阅读材料 练习 参考书目 第24章质量管理 24.1软件质量 24.2软件标准 24.3复查与审查 24.3.1复查过程 24.3.2程序审查 24.4软件度量和量度 24.4.1产品量度 24.4.2软件组件分析 24.4.3度量歧义 要点 进一步阅读材料 练习 参考书目 第25章配置管理 25.1变更管理 25.2版本管理 25.3系统构建 25.4发布版本管理 要点 进一步阅读材料 练习 参考书目 第26章过程改善 26.1过程改善过程 26.2过程度量 26.3过程分析 26.4过程变更 26.5cmmi过程改善框架 26.5.1分阶段的cmmi模型 26software engineering,9e 出版者的话 译者序 前言 第一部分软件工程导论 第1章概述 1.1专业化软件开发 1.1.1软件工程 1.1.2软件工程的多样性 1.1.3软件工程和web 1.2软件工程人员的职业道德 1.3案例研究 1.3.1胰岛素泵控制系统 1.3.2用于心理健康治疗的患者信息系统 1.3.3野外气象站 要点 进一步阅读材料 练习 参考书目 第2章软件过程 2.1软件过程模型 2.1.1瀑布模型 2.1.2增量式开发 2.1.3面向复用的软件工程 2.2过程活动 2.2.1软件描述 2.2.2软件设计和实现 2.2.3软件有效性验证 2.2.4软件进化 2.3应对变更 2.3.1原型构造 2.3.2增量式交付 2.3.3boehm的螺旋模型 2.4rational统一过程 要点 进一步阅读材料 练习 参考书目 第3章敏捷软件开发 3.1敏捷方法 3.2计划驱动开发和敏捷开发 3.3极限编程 3.3.1极限编程中的测试 3.3.2结对编程 3.4敏捷项目管理 3.5可扩展的敏捷方法 要点 进一步阅读材料 练习 参考书目 第4章需求工程 4.1功能需求和非功能需求 4.1.1功能需求 4.1.2非功能需求 4.2软件需求文档 4.3需求描述 4.3.1自然语言描述 4.3.2结构化描述 4.4需求工程过程 4.5需求导出和分析 4.5.1需求发现 4.5.2采访 4.5.3脚本 4.5.4用例 4.5.5深入实际 4.6需求有效性验证 4.7需求管理 4.7.1需求管理规划 4.7.2需求变更管理 要点 进一步阅读材料 练习 参考书目 第5章系统建模 5.1上下文模型 5.2交互模型 5.2.1用例建模 5.2.2时序 5.3结构模型 5.3.1类 5.3.2泛化 5.3.3聚合 5.4行为模型 5.4.1数据驱动的建模 5.4.2事件驱动模型 5.5模型驱动工程 5.5.1模型驱动体系结构 5.5.2可执行uml 要点 进一步阅读材料 练习 参考书目 第6章体系结构设计 6.1体系结构设计决策 6.2体系结构视 6.3体系结构模式 6.3.1分层体系结构 6.3.2容器体系结构 6.3.3客户机-服务器体系结构 6.3.4管道和过滤器体系结构 6.4应用体系结构 6.4.1事务处理系统 6.4.2信息系统 6.4.3语言处理系统 要点 进一步阅读材料 练习 参考书目 第7章设计与实现 7.1利用uml进行面向对象设计 7.1.1系统上下文与交互 7.1.2体系结构的设计 7.1.3对象类识别 7.1.4设计模型 7.1.5接口描述 7.2设计模式 7.3实现问题 7.3.1复用 7.3.2配置管理 7.3.3宿主机-目标机开发 7.4开源开发 要点 进一步阅读材料 练习 参考书目 第8章软件测试 8.1开发测试 8.1.1单元测试 8.1.2选择单元测试案例 8.1.3组件测试 8.1.4系统测试 8.2测试驱动开发 8.3发布测试 8.3.1基于需求的测试 8.3.2情景测试 8.3.3性能测试 8.4用户测试 要点 进一步阅读材料 练习 参考书目 第9章软件进化 9.1进化过程 9.2程序进化的动态特性 9.3软件维护 9.3.1维护预测 9.3.2软件再工程 9.3.3通过重构进行预防性维护 9.4遗留系统管理 要点 进一步阅读材料 练习 参考书目 第二部分可依赖性和信息安全性 第10章社会技术系统 10.1复杂系统 10.1.1系统总体特性 10.1.2系统非确定性 10.1.3成功标准 10.2系统工程 10.3系统采购 10.4系统开发 10.5系统运行 10.5.1人为错误 10.5.2系统进化 要点 进一步阅读材料 练习 参考书目 第11章可依赖性与信息安全性 11.1可依赖性特征 11.2可用性和可靠性 11.3安全性 11.4信息安全性 要点 进一步阅读材料 练习 参考书目 第12章可依赖性与信息安全性描述 12.1风险驱动的需求描述 12.2安全性描述 12.2.1危险识别 12.2.2危险评估 12.2.3危险分析 12.2.4风险降低 12.3可靠性描述 12.3.1可靠性度量 12.3.2非功能性的可靠性需求 12.3.3功能可靠性描述 12.4信息安全性描述 12.5形式化描述 要点 进一步阅读材料 练习 参考书目 第13章可依赖性工程 13.1冗余性和多样性 13.2可依赖的过程 13.3可依赖的系统体系结构 13.3.1保护性系统 13.3.2自监控系统体系结构 13.3.3n-版本编程 13.3.4软件多样性 13.4可依赖的编程 要点 进一步阅读材料 练习 参考书目 第14章信息安全工程 14.1信息安全风险管理 14.1.1生存期风险评估 14.1.2运行风险评估 14.2面向信息安全的设计 14.2.1体系结构设计 14.2.2设计准则 14.2.3部署设计 14.3系统生存能力 要点 进一步阅读材料 练习 参考书目 第15章可依赖性与信息安全保证 15.1静态分析 15.1.1检验和形式化方法 15.1.2模型检测 15.1.3自动静态分析 15.2可靠性测试 15.3信息安全性测试 15.4过程保证 15.5安全性和可依赖性案例 15.5.1结构化论证 15.5.2结构化的安全性论证 要点 进一步阅读材料 练习 参考书目 第三部分高级软件工程 第16章软件复用 16.1复用概览 16.2应用框架 16.3软件产品线 16.4cots产品的复用 16.4.1cots解决方案系统 16.4.2cots集成系统 要点 进一步阅读材料 练习 参考书目 第17章基于组件的软件工程 17.1组件和组件模型 17.2cbse过程 17.2.1面向复用的cbse 17.2.2基于复用的cbse 17.3组件合成 要点 进一步阅读材料 练习 参考书目 第18章分布式软件工程 18.1分布式系统的问题 18.1.1交互模型 18.1.2中间件 18.2客户机-服务器计算 18.3分布式系统的体系结构模式 18.3.1主从体系结构 18.3.2两层客户机-服务器结构 18.3.3多层客户机-服务器结构 18.3.4分布式组件体系结构 18.3.5对等体系结构 18.4软件作为服务 要点 进一步阅读材料 练习 参考书目 第19章面向服务的体系结构 19.1服务作为可复用的组件 19.2服务工程 19.2.1可选服务的识别 19.2.2服务接口设计 19.2.3服务实现和部署 19.2.4遗留系统服务 19.3使用服务的软件开发 19.3.1工作流设计和实现 19.3.2服务测试 要点 进一步阅读材料 练习 参考书目 第20章嵌入式软件 20.1嵌入式系统设计 20.1.1实时系统建模 20.1.2实时编程 20.2体系结构模式 20.2.1观察和反应 20.2.2环境控制 20.2.3处理管道 20.3时序分析 20.4实时操作系统 要点 进一步阅读材料 练习 参考书目 第21章面向方面的软件工程 21.1关注点分离 21.2方面、连接点和切入点 21.3采用方面的软件工程 21.3.1面向关注点的需求工程 21.3.2面向方面的设计和编程 21.3.3检验和有效性验证 要点 进一步阅读材料 练习 参考书目 第四部分软 件 管 理 第22章项目管理 22.1风险管理 22.1.1风险识别 22.1.2风险分析 22.1.3风险规划 22.1.4风险监控 22.2人员管理 22.3团队协作 22.3.1成员挑选 22.3.2小组的结构 22.3.3小组的沟通 要点 进一步阅读材料 练习 参考书目 第23章项目规划 23.1软件报价 23.2计划驱动的开发 23.2.1项目计划 23.2.2规划过程 23.3项目进度安排 23.4敏捷规划 23.5估算技术 23.5.1算法成本建模 23.5.2cocomo Ⅱ模型 23.5.3项目的工期和人员配备 要点 进一步阅读材料 练习 参考书目 第24章质量管理 24.1软件质量 24.2软件标准 24.3复查与审查 24.3.1复查过程 24.3.2程序审查 24.4软件度量和量度 24.4.1产品量度 24.4.2软件组件分析 24.4.3度量歧义 要点 进一步阅读材料 练习 参考书目 第25章配置管理 25.1变更管理 25.2版本管理 25.3系统构建 25.4发布版本管理 要点 进一步阅读材料 练习 参考书目 第26章过程改善 26.1过程改善过程 26.2过程度量 26.3过程分析 26.4过程变更 26.5cmmi过程改善框架 26.5.1分阶段的cmmi模型 26.5.2连续cmmi模型 要点 进一步阅读材料 练习 参考书目 术语表5.2连续cmmi模型 要点 进一步阅读材料 练习 参考书目 术语表
附录A: 面向对象方法与UML 面向对象方法(Object-Oriented Methodology,OOM)是一种系统开发方法,它以对象(Object)为中心,以数据抽象和封装、继承和多态等特性为基础,通过对对象之间的关系和交互进行建模,来描述和分析系统的结构和行为。面向对象方法是一种比较成熟的软件开发方法,它已经被广泛应用于各种类型的软件系统的开发中。 统一建模语言(Unified Modeling Language,UML)是一种用于面向对象方法建模的标准化语言,它由Rational Software公司(现在属于IBM公司)的Grady Booch、James Rumbaugh和Ivar Jacobson三位软件工程师在1997年联合提出,经过多年的发展和完善,目前已经成为业界广泛应用的面向对象建模语言。UML提供了一套丰富的形符号和语法规则,可以用来描述系统的静态结构、动态行为和交互过程等方面的内容,具有表达能力强、易于理解和扩展等优点。 UML主要包括以下几种形符号: 1. 类(Class Diagram):用于描述系统的静态结构,包括类、接口、对象、关联、继承、聚合、组合等元素。 2. 对象(Object Diagram):用于表示系统中的具体对象及其状态。 3. 时序(Sequence Diagram):用于描述系统的动态行为,包括对象之间的消息交互过程。 4. 协作(Collaboration Diagram):与时序类似,用于描述对象之间的协作关系和消息交互。 5. 状态(Statechart Diagram):用于描述对象的状态转换过程。 6. 活动(Activity Diagram):用于描述系统的活动流程和业务流程。 7. 部署(Deployment Diagram):用于描述系统的物理结构和部署方式。 UML不仅是一种建模语言,还是一种设计方法和开发工具的集成平台,涵盖了系统分析、设计、实现和测试等各个阶段的内容。UML提供了一种通用的、标准化的建模语言,可以帮助软件开发人员更好地理解和描述系统的结构和行为,提高系统的可维护性和可扩展性,同时也便于不同开发者之间的交流和协作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值