系统分析与设计:敏捷迭代方法(原书第6版)
作者 : [美]约翰 W. 萨茨辛格(John W. Satzinger) 罗伯特 B. 杰克逊(Robert B. Jackson) 史蒂芬 D. 伯德(Stephen D. Burd)著
译者 : 沈群力 译
丛书名 : 计算机科学丛书
出版日期 : 2017-01-12
ISBN : 978-7-111-55641-1
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 324
开本 : 16
原书名 : Introduction to Systems Analysis and Design: An Agile, Iterative Approach,Sixth Edition
原出版社: Cengage Learning
属性分类: 教材
包含CD :
绝版 :
图书简介

全面论述系统分析和设计领域的两大类方法——传统的结构化方法和面向对象方法,包括现代系统分析员、系统分析任务、系统设计任务及实施与支持四个部分的内容,既关注概念,又重视方法,更注重实践。全书通过具体的系统项目案例和最佳实践,完整地介绍先进的系统分析与设计方法,在承认现实世界中开发环境多变的同时,强调永久价值的基本原则。

图书特色

本书主要讨论系统分析、系统设计和项目管理三大主题,第6版对全书内容进行了重新组织,以一个完整的系统开发案例贯穿始终,更加注重敏捷和迭代方法,并通过UML建模使面向对象方法的讲解更加细致和深入。新版在引入新方法的同时,依然保留了对传统结构化开发过程的介绍,并且突出了项目管理部分。
本书特色
经典和新颖的内容。既介绍系统开发的基本规则,也囊括与时俱进的新技术,用新方法传授新概念,提高学生的参与程度和学习效率。
完整和实用的案例。除了贯穿始终的RMO案例,每章开篇还有精选的小案例。迭代项目的过程在第1章中便全景呈现,先观概貌,再探细节。
灵活和高效的教学。针对侧重面向对象、传统方法和项目管理的不同课程,教师可自主选择内容,学生在入门后亦可轻松实现自学。

作者简介
约翰 W. 萨茨辛格(John W. Satzinger) 美国密苏里州立大学计算机信息系统学院教授,拥有20多年的CIS和MIS大学课程教学和研究经验,研究方向包括系统分析与设计、图形用户界面设计和客户-服务器系统开发等。
罗伯特 B. 杰克逊(Robert B. Jackson) 美国杨百翰大学信息系统系退休教师,研究方向包括面向对象系统分析与设计、电子商务、项目管理等。
史蒂芬 D. 伯德(Stephen D. Burd) 美国新墨西哥大学副教授,从事管理信息系统、网络、数据库、硬件/软件课程的教学已逾30年。

图书前言

当我们撰写本教材的第1版时,系统开发正处于一个重要的转变过程中——从结构化方法到面向对象方法。在同类教材中,我们较早地系统性引进面向对象方法,第6版在讲解面向对象技术时将继续保持这一领先优势。
然而世界变化不断。如今,大量创新成果和技术已经牢牢嵌入系统开发领域。首先是无处不在的全球互联网。这导致了大规模的连通性,并且意味着当今的项目团队将分散于世界各地。此外,技术供应商巨头(比如微软)以及一些零散的小供应商为我们提供了功能丰富、多种多样的软件开发环境。
为了管理当今系统开发团队的广分布、快节奏、强连接及千变万化的环境,软件开发技术在不断升级,项目管理方法也在不断发展。基于基础项目管理原则,新的途径和理念提供了类似迭代、增量式开发等更新潮、更易成功的方法论。而这些都在本书中有所体现。
尽管本书全面涵盖了各种主题(如用例、面向对象建模、综合项目管理、统一建模语言以及敏捷技术)且在领域内持续领先,但也是时候采取新的教材设计了。第6版使用创新方法来讲授系统分析与设计,并利用了新兴的教学工具和技术。因此,本书不但使学生更易于学习系统分析与设计,而且使教学工作能够更顺利地进行,为学生和老师都提供了极大的便利。
在这一版本中,我们主要做了三个方面的更新。首先,我们讲授系统开发的基本规则,这些规则必须紧跟今天普遍连接的环境。其次,我们讲授并解释由于广泛互联而在当今获得使用的新兴方法和技术。最后,我们重新组织并修订了书中内容,使得它能更好地用新的方法传授新的概念。
例如,第1章介绍了一个新系统开发中的完整迭代方法。学生可以在学习抽象的原理或记忆专业术语前,从头到尾(通过实验和测试)看到完整的迭代方法。我们对这种新的方法感到兴奋,这些更新使新的教学素材和工具更适合系统分析与设计课程的教学。教师会发现这本书直观、丰富且易用。学生则会在本书中有更好的参与感和主动权。通过上课和教师提供的指导,学生可以自学书中呈现的大多数理论。这本书将会给老师和学生带来非凡的讲授和学习体验。
更新
这一版在许多方面做了更新,包括从传统方法到面向对象方法的重要概念,涉及用例驱动的面向对象方法(通过UML建模使其更详细且有深度),强调敏捷和迭代开发,并在项目管理中采用了新的概念。同时,材料的重组为学生学习系统分析与设计提供了更好的支持。
涵盖面向对象和传统的分析与设计
本书的一大特点是整合了一些重要的系统建模概念,这些概念在传统的结构化分析方法和面向对象的分析方法中都会涉及——基于用户目标和事件而建立的系统用例,加上对象/实体,这些都是系统问题域的一部分。我们用一章来介绍如何确定用例,再用一章介绍如何对关键的对象/实体建模,包括实体-联系图,同时强调UML域模型类图。与传统方法有所不同的是,本书先假定学生从一开始就了解面向对象的关键概念,包括结构化概念,因为近年来许多教师更强调面向对象方法的教学。
全面涵盖UML和面向对象方法
本书中呈现的面向对象方法基于OMG(对象管理组织)的统一建模语言(UML 2.0),它是由Grady Booch、James Rumbaugh和Ivar Jacobson发明的。模型驱动方法首先分析用例和场景,然后定义涉及用户工作的问题域类。需求建模包含用例图、领域建模、用例描述、活动图和系统顺序图。FURPS+模型就是用来强调功能性和非功能性需求的。
本书深入讨论了设计原理和设计模式,通过使用UML组件图和包图来建立系统体系结构的模型。特别关注使用CRC卡、顺序图和类图设计来实现用例,并详细地讨论了模型的细节设计。
涵盖项目管理
许多本科课程需要系统分析与设计这门课程所讲授的项目管理知识。为满足这一需要,我们通过“双管齐下”的方法来学习项目管理。第一,项目管理技术和任务在本书中得到了突出体现,我们将讲解系统开发生命周期的各种活动(包括迭代开发)该如何使用特定的项目管理方法。第二,用独立的一章完整地介绍了项目的计划和管理。
重组内容以实现高效学习
第6版的结构焕然一新,它从一个贯穿系统开发始末的完整例子开始,使学生快速了解系统分析模型和技术,然后介绍系统设计的概念,强调系统结构、用户界面和系统界面。学生会在前7章中了解许多有关分析和设计的知识。接下来,在学生理解了系统开发真正包含的内容后,就会明白本书理论知识的重点是管理系统开发项目,包括敏捷开发。最后,本书覆盖了详细的设计主题与部署主题,从而帮助学生更深入地了解现代方法,如统一过程(UP)、极限编程(XP)和Scrum开发方法。
篇章结构和用书建议
本书包含了很多简洁、现代和集中的主题,这些主题对信息系统开发者来说是必不可少且非常重要的。
本书中涉及三个主要的课程领域:系统分析、系统设计和项目管理。其他没有那么重要的领域则不会深入讲解,比如系统的安装、启用、测试和调整。除此之外,我们也采用了一些与其他书籍不一样的方法。因为学生已经在第1章中对系统分析与设计有了基本了解,所以我们加深了关于系统分析与设计的概念,并在以后的章节中增加了项目管理的主题。这使得学生在理解系统分析与设计的元素之后能更好地学习项目管理的概念。我们认为这对于学生学习此门课程是很有意义的。
第一部分:系统开发导论
第一部分即第1章,主要内容是系统开发的概述。第1章开篇清晰地解释了系统分析与设计的目标,然后用一个详细、具体的例子来阐述在典型的软件开发项目中都需要什么。很多参加编程课程的学生认为编程就是必须会开发软件和调试系统,本章和本书中的其他内容会消除这个误解。
第二部分:系统分析活动
第2~5章详细阐述了系统分析。第2章讨论的是搜集某个商业问题的信息所需要的系统需求、分析活动和技术。只有充分理解问题所在,才有可能开发出相对适合的系统。第2章同时阐述了怎样确定利益相关者并使其参与进来,还介绍了模型和建模的概念。第3章和第4章讲述了以一种有用的方式捕获详细系统需求的建模技术。当我们提到信息系统时,两个核心概念是很有用的:一个是用例,它能正确定义出最终用户需要系统做什么;另一个是数据实体/域类,用户以此来完成他们的工作任务。这两个概念——用例和数据实体/域类——在任何一种系统开发方法中都是很重要的。第5章出现了更多深层次的需求模型,例如用例描述、用例图、系统顺序图以及状态机图。
这些建模技能使得分析员可以对用户需求进行深度分析并撰写需求说明。再次重申一下,系统分析的目的就是完全理解和说明用户需求。
第三部分:系统设计的要点
第6章和第7章的主要内容是系统设计和设计用户体验的基本概念。第6章全面介绍了系统设计和结构化设计的重要原则。这一章不但是各种设计原则的概述,而且为后续章节中所要学习的设计技术、任务、技巧和模型打下了基础。
第7章讲述了有关设计用户界面和系统界面的其他一些设计原则。设计用户界面是分析和设计的结合。与分析有关是因为它需要很多用户的参与,包括说明用户活动和期望。另一方面,这也是一个设计活动,因为它能创造出特殊的组件,这些组件会对编程结果的产生起到促进作用。必须精确设计界面,记录和其他用户的互动,这样才能作为最终系统的一部分而进行编程。当一个信息系统与另一个信息系统在没有人为干扰的情况下产生了交流和交互时,就需要设计系统界面。系统界面因为网站服务和云计算而变得越来越重要。
第四部分:项目和项目管理
通过这一部分,学生会对系统开发的所有组成元素有一个基本了解。第四部分会通过解释更多有关组织和管理开发项目的过程而将所有概念结合到一起。第8章描述了在当前环境下用不同方法进行的系统开发,包括几种重要的系统开发生命周期模型和敏捷开发。这是一个重要的章节,它能帮助你理解项目是怎样得以执行的。
第9章通过讲解项目计划和项目管理的基本原理扩充了这些概念。每个系统分析员都会参与到组织、协调和管理软件开发项目的过程中。除此以外,大多数优秀的学生最终会成为团队领导和项目管理者。第9章中呈现的这些原理对于一项成功的事业来说是必需的。
第五部分:高级设计和部署概念
第五部分会更深入地谈到系统设计、数据库设计,以及其他重要的有关有效且成功的系统开发和部署的论题。
第10章和第11章详细解释了用来设计软件系统的模型、技巧和技术。正像之前提到的,系统设计是一个相当复杂的活动,尤其是要把它做得很正确。这两章的任务是教会学生从简到难的各种技术,这些技术可以用来进行有效的软件系统设计。第12章描述了系统开发的最终元素:最终测试、部署、维护和版本控制。
分析与设计课程的教学建议
分析与设计课程的教学方法有很多种,并且各个大学中教授这门课程的目的也不一样。在一些学院的信息系统专业,分析与设计课程是一门顶级课程,学生要将之前在数据库、电子信息和编程课程中学习到的知识运用到一个真实的分析与设计项目中。在其他的信息系统专业,分析与设计会作为系统开发领域的导论课,先于其他专业课。还有一些信息系统专业开设两门课程,第一个学期强调的是分析,而第二个学期则注重设计和应用。另外一些信息系统专业仅仅开设一门课程,同时讲授分析与设计。
由于要在强调传统结构的方法和面向对象方法中进行选择,所以这门课程的设计变得更加困难,这也使得它要依靠学校自身课程设置的优先顺序。此外,越来越多的迭代方法在开发中得到应用,这使得顺序排列分析与设计课题难上加难。例如,若采用迭代开发,则两门课程就不能轻易地分为分析和设计。
这些目标、课程内容、任务和项目会不断变化,我们所能提供的是使用这本书教授这门课程的一些建议。
面向对象分析与设计课程
面向对象设计在本书中得到了详细介绍。这门课程包括面向对象的分析和设计、用户和系统界面设计、数据库设计、控制和安全以及应用和测试。我们通常假设项目采用定制开发,包括Web开发。本课程强调迭代开发方法,包括三层结构、项目管理、信息收集和管理报告。为了学生学习的完整性,一学期制课程通常仅仅达到完成用户界面原型设计的目标。有时,这门课程也会横跨两个学期,在第二个学期会有一些实际系统的实施,以求获得更加完整的开发经验。其中,需要强调的是迭代开发。
对于强调面向对象开发的课程,我们推荐直接按照本书章节顺序进行讲授。
传统分析与设计课程
传统系统分析与设计课程提供了包括结构化分析、用户和系统界面设计、数据库设计、控制和安全以及实施和测试等全面的活动和任务。我们通常认为该项目采用定制开发,包括Web开发。本课程强调系统开发生命周期、项目管理、信息采集和管理报告。同样,一学期制课程通常局限于使学生完成用户界面的原型设计,而两学期制课程会在第二个学期通过一些实际系统的实施使学生有更完整的开发经验。
对于这门课程的设计,大纲中会合理地省略关于面向对象方法的细节。然而,面向对象的概念贯穿全书,因此学生仍可以不断熟悉它。
关于传统结构化方法的课程,我们推荐在教学大纲中省略第5章、第10章及第11章,同时可以适当补充一些关于系统分析员和传统需求的其他资料。
深入分析与项目管理
一些课程会涉及更有深度的面向对象系统分析方法,同时对结构化分析做了简明介绍,强调项目管理而不太关注面向对象设计。这些课程通常是研究生课程,并且通常认为设计和实施都包含在更加技术性的课程中。在一些案例中,软件包被认为更可能是解决方案而不是定制开发的,所以定义需求和管理过程比设计行为更重要。
关于面向对象分析且深入讲解项目管理的课程,我们推荐在教学大纲中省略第10~12章,同时可以适当补充一些关于系统分析员、传统需求以及项目管理的其他资料。
相关支持
本书提供支持教师在课堂上使用的教学工具,包括教师手册、答案、PowerPoint演示文稿、图文件、在线测试以及在线章节等,可访问login.cengage.com查找和下载。
致谢
作为作者,我们得到了广大支持者的热情评论,在此表示由衷的感谢。在美国和加拿大,老师和学生认为我们的教材是目前最前沿、最灵活的。本书已被翻译成多种语言,在欧洲、澳大利亚、新西兰、印度和中国等地使用。我们由衷地感谢为本教材所有版本做出贡献的所有人。
第6版由编辑Kate Mason负责,他的工作包括招募开发编辑、与生产部门协商以加快写作和编辑进度、处理许多作者间的不确定性并调解冲突。开发编辑Kent Williams要将多种材料汇总并重新组织起来,有些材料看起来就像是疯狂的教授们随意放置的,因此这项任务是相当艰巨的。
最后,我们要衷心感谢为本书努力工作的评审者,从本书第1版到现在的第6版,他们自始至终都在提供建议。我们非常幸运有这么多知识渊博、观点鲜明的评审者。我们认真采纳了他们的建议,使得本书更加完善。所有版本的评审者包括:

参与本书创作的所有人都希望,在这个不断变化的环境里,当你迎接分析与设计的挑战时能有最好的作为。

John Satzinger
Robert Jackson
Steve Burd

上架指导

计算机\软件工程

封底文字

本书主要讨论系统分析、系统设计和项目管理三大主题,第6版对全书内容进行了重新组织,以一个完整的系统开发案例贯穿始终,更加注重敏捷和迭代方法,并通过UML建模使面向对象方法的讲解更加细致和深入。新版在引入新方法的同时,依然保留了对传统结构化开发过程的介绍,并且突出了项目管理部分。

本书特色
·经典和新颖的内容。既介绍系统开发的基本规则,也囊括与时俱进的新技术,用新方法传授新概念,提高学生的参与程度和学习效率。
·完整和实用的案例。除了贯穿始终的RMO案例,每章开篇还有精选的小案例。迭代项目的过程在第1章中便全景呈现,先观概貌,再探细节。
·灵活和高效的教学。针对侧重面向对象、传统方法和项目管理的不同课程,教师可自主选择内容,学生在入门后亦可轻松实现自学。

作者简介

[美]约翰 W. 萨茨辛格(John W. Satzinger) 罗伯特 B. 杰克逊(Robert B. Jackson) 史蒂芬 D. 伯德(Stephen D. Burd)著:
约翰 W. 萨茨辛格(John W. Satzinger) 美国密苏里州立大学计算机信息系统学院教授,拥有20多年的CIS和MIS大学课程教学和研究经验,研究方向包括系统分析与设计、图形用户界面设计和客户-服务器系统开发等。
罗伯特 B. 杰克逊(Robert B. Jackson) 美国杨百翰大学信息系统系退休教师,研究方向包括面向对象系统分析与设计、电子商务、项目管理等。
史蒂芬 D. 伯德(Stephen D. Burd) 美国新墨西哥大学副教授,从事管理信息系统、网络、数据库、硬件/软件课程的教学已逾30年。

译者简介

沈群力 译:暂无简介

译者序

本书以信息系统开发的生命周期为主线,以一个贯穿系统开发始末的完整案例为引导,全面涵盖面向对象方法和UML,使学生快速熟悉系统分析模型和技术,在此基础上介绍系统设计的概念,强调系统结构、用户界面和系统界面。本书前7章中介绍了大量有关系统分析与设计的知识,学生在理解这些内容的基础上,就会明白管理系统开发项目的重要性,包括敏捷开发项目。整本教材按照系统分析、系统设计、项目管理、系统支持的顺序,结合实际案例来设计教学内容,将知识点穿插于具体案例之中,并通过大量习题来加以巩固。这些教学内容的安排由浅入深,循序渐进地讲授系统开发的基本规则,同时,这一版还增加了一些最近几年出现的新技术、新方法,提倡用新方法来传授新概念。对初学者来说,这是一本很容易入门的教材。
本教材已在上海商学院信息管理与信息系统专业使用过3届,并配有相关教学文件及教学资料,如需下载,可以登录cc.sbs.edu.cn(上海商学院课程中心),点击“课程资源”栏下的“精品课程”,找到“信息系统分析与设计”,具体网址为http://cc.sbs.edu.cn/G2S/Template/View.aspx?action=view&courseType=0&courseId=26461。在“信息系统分析与设
计”课程主页上有“资料下载”一栏,在此便可下载课件、实验材料、优秀学生作品等相关教学资料。
本课程建议采用54学时(27理论+ 27实验)或者72学时(36理论+36实验)来设计教学内容,实验部分围绕CASE工具的使用,教师也可以根据自己的教学需要灵活安排学时。我在实际教学中根据教学内容的要求,以Project及Visio为工具设计了约8个独立实验(30学时左右),其中安排了6~8个学时的Project软件应用实验,目的是从IT项目的角度来计划和管理一个完整信息系统的开发项目。在系统分析与设计阶段,采用Visio来绘制UML模型及其他系统设计图形,以实验来巩固课堂理论教学,相关实验指导及实验任务课程均可访问网站中的链接进行查看及下载。
本书的翻译得到了上海商学院高亚楠和乐嘉斌同学的帮助,还得到了上海商学院张晶老师及上海商校贾延琦老师的修改和校正,嘉兴瑞恺公司的聂在手经理也参与其中。在翻译过程中,我们尽量尊重原文的意思,一些新的及不常见的专业术语的翻译虽经过多次斟酌,但可能还会存在一定的歧义,错误之处也在所难免,恳请读者批评指正。

沈群力
shenql@sbs.edu.cn
2016年11月

图书目录

出版者的话
译者序
前言
第一部分 系统开发导论
第1章 从始至终——系统分析与设计概述 2
1.1 软件开发以及系统分析与设计 2
1.2 系统开发生命周期 4
1.3 落基山运动用品(RMO)介绍 4
1.4 迭代开发 6
1.5 RMO贸易展览系统的开发 7
1.5.1 项目开始前的准备工作 7
1.5.2 第一天的工作活动 8
1.5.3 第二天的工作活动 11
1.5.4 第三天的工作活动 13
1.5.5 第四天的工作活动 15
1.5.6 第五天的工作活动 19
1.5.7 第六天的工作活动 19
1.5.8 第一次迭代回顾 21
1.6 后续内容导读 21
1.6.1 第一部分:系统开发导论 21
1.6.2 第二部分:系统分析活动 22
1.6.3 第三部分:系统设计的要点 22
1.6.4 第四部分:项目和项目管理 22
1.6.5 第五部分:高级设计和部署概念 22
本章小结 23
复习题 23
第二部分 系统分析活动
第2章 系统需求调查 26
2.1 引言 27
2.2 RMO综合销售和市场营销系统项目 27
2.2.1 现有的RMO信息系统与架构 27
2.2.2 新综合销售和市场营销系统 28
2.3 系统分析活动 30
2.3.1 收集细节信息 30
2.3.2 定义需求 31
2.3.3 需求的优先级划分 31
2.3.4 开发用户界面对话框 31
2.3.5 与用户一起评估需求 31
2.4 什么是需求 32
2.5 模型和建模 33
2.6 利益相关者 35
2.7 信息收集技术 38
2.7.1 与用户和其他利益相关者进行访谈 38
2.7.2 分发和收集调查问卷 41
2.7.3 检查输入、输出和流程 42
2.7.4 观察和记录业务流程 43
2.7.5 研究供应商的解决方案 44
2.7.6 收集活跃的用户评论和建议 44
2.8 用活动图记录工作流 44
本章小结 47
复习题 48
问题和练习 48
扩展资源 49
第3章 用例 50
3.1 引言 51
3.2 用例和用户目标 51
3.3 用例和事件分解 52
3.3.1 事件分解技术 53
3.3.2 事件类型 54
3.3.3 定义事件 55
3.3.4 使用事件分解技术 57
3.4 用例和CRUD 58
3.5 RMO案例中的用例 59
3.6 用例图 60
3.6.1 用例、参与者和符号 61
3.6.2 开发用例图 63
本章小结 64
复习题 65
问题和练习 66
扩展资源 67
第4章 域建模 68
4.1 引言 68
4.2 问题域中的“事物” 69
4.2.1 头脑风暴法 69
4.2.2 名词技术 70
4.2.3 事物的属性 71
4.2.4 事物间的关系 72
4.3 实体-联系图 73
4.4 域模型类图 76
4.4.1 域模型类图符号 76
4.4.2 有关对象类的更复杂的问题 79
4.4.3 RMO案例的域模型类图 81
本章小结 86
复习题 86
问题和练习 87
扩展资源 88
第5章 需求模型的延伸 89
5.1 引言 90
5.2 用例描述 90
5.2.1 简单的用例描述 91
5.2.2 完全展开的用例描述 91
5.3 用例活动图 93
5.4 系统顺序图——确定输入和输出 94
5.4.1 系统顺序图符号 94
5.4.2 开发系统顺序图 97
5.5 状态机图——确定对象行为 100
5.5.1 复合状态和并发性 101
5.5.2 开发状态机图的规则 103
5.5.3 开发RMO状态机图 104
5.6 需求模型的集成 107
本章小结 108
复习题 108
问题和练习 109
扩展资源 111
第三部分 系统设计的要点
第6章 设计与设计活动的基本要素 114
6.1 引言 115
6.2 设计要素 115
6.2.1 什么是系统设计 116
6.2.2 设计的主要组件和层次 116
6.3 系统设计的输入和输出 118
6.4 设计活动 120
6.4.1 设计环境 121
6.4.2 设计应用程序结构和软件 122
6.4.3 设计用户界面 122
6.4.4 设计系统界面 123
6.4.5 设计数据库 124
6.4.6 设计安全和系统控制 125
6.5 如何设计环境 125
6.5.1 设计内部部署 126
6.5.2 设计外部部署 128
6.5.3 设计远程和分散的环境 134
6.5.4 RMO的企业技术结构 135
本章小结 136
复习题 137
问题和练习 137
扩展资源 138
第7章 设计用户界面和系统界面 139
7.1 引言 140
7.2 用户界面和系统界面 140
7.3 理解用户界面 141
7.4 用户界面的设计概念 144
7.4.1 提示性与可视性 144
7.4.2 一致性 145
7.4.3 快捷方式 146
7.4.4 反馈 146
7.4.5 完整的对话 146
7.4.6 错误处理 146
7.4.7 撤销动作 147
7.4.8 减轻短期记忆负担 147
7.5 从分析到用户界面设计的转换 147
7.5.1 用例和菜单层次 148
7.5.2 对话和故事板 150
7.6 用户界面设计 152
7.6.1 设计窗体和格式的指导原则 152
7.6.2 网页浏览器用户界面的附加指导原则 154
7.6.3 手持设备的附加指导原则 157
7.7 确定系统界面 158
7.8 设计系统输入 160
7.8.1 自动化输入设备 160
7.8.2 定义系统输入的细节 160
7.9 设计系统输出 161
本章小结 167
复习题 167
问题和练习 168
扩展资源 168
第四部分 项目和项目管理
第8章 系统开发方法 170
8.1 引言 171
8.2 系统开发生命周期 171
8.2.1 系统开发生命周期的传统预测方法 172
8.2.2 系统开发生命周期的新的自适应方法 174
8.3 支持阶段 176
8.4 方法、模型、工具和技术 176
8.4.1 方法 176
8.4.2 模型 177
8.4.3 工具 178
8.4.4 技术 178
8.5 软件构造与建模的两种方法 178
8.5.1 结构化方法 179
8.5.2 面向对象方法 182
8.6 敏捷开发 185
8.6.1 敏捷开发的理论与价值 185
8.6.2 敏捷建模原则 186
本章小结 188
复习题 188
问题和练习 189
扩展资源 190
第9章 项目计划和项目管理 191
9.1 引言 192
9.2 项目管理原则 192
9.2.1 项目管理的需求 193
9.2.2 项目经理的角色 193
9.2.3 项目管理和仪式 194
9.2.4 项目管理知识体系(PMBOK) 195
9.2.5 敏捷项目管理(APM) 196
9.3 核心过程1:确定问题并获得批准 198
9.3.1 确定问题 198
9.3.2 量化项目批准因素 201
9.3.3 评估风险和可行性分析 204
9.3.4 与客户一起评审并获得批准 206
9.4 核心过程2:计划和监控项目 206
9.4.1 建立项目环境 207
9.4.2 安排工作进度 211
9.4.3 员工与资源分配 214
9.4.4 评估工作过程 215
9.4.5 监控过程与改正错误 215
本章小结 216
复习题 217
问题和练习 218
扩展资源 220
第五部分 高级设计和部署概念
第10章 面向对象设计:设计原则 222
10.1 引言 223
10.2 面向对象设计:分析与实施的桥梁 223
10.2.1 面向对象程序概述 224
10.2.2 面向对象设计模型和过程 224
10.3 面向对象结构化设计 226
10.4 面向对象细节设计的基本原则 231
10.5 设计类和设计类图 235
10.5.1 设计类符号 235
10.5.2 设计类表示 236
10.5.3 开发初步的设计类图 238
10.6 用CRC卡进行细节设计 241
10.7 细节设计的基本原则 243
10.7.1 耦合 243
10.7.2 内聚 244
10.7.3 变量保护 245
10.7.4 间接 245
10.7.5 对象职责 245
本章小结 246
复习题 246
问题和练习 247
扩展资源 248
第11章 面向对象设计:用例实现 249
11.1 引言 250
11.2 多层系统的细节设计 250
11.3 用例实现和顺序图 252
11.3.1 理解顺序图 253
11.3.2 用例实现的设计流程 255
11.3.3 “创建顾客账户”用例的初步顺序图 256
11.3.4 “加入购物车”用例的初步顺序图 259
11.3.5 顺序图初步设计的指南和假设 263
11.3.6 开发多层设计 264
11.4 用协作图进行设计 268
11.5 更新和打包设计类图 269
11.5.1 包图——将主要部分结构化 270
11.5.2 三层设计的实现问题 271
11.6 设计模式 274
11.6.1 适配器 274
11.6.2 工厂 275
11.6.3 单例 276
本章小结 277
复习题 278
问题和练习 279
扩展资源 283
第12章 实现系统的可操作性 284
12.1 引言 285
12.2 测试 286
12.2.1 单元测试 287
12.2.2 集成测试 288
12.2.3 可用性测试 289
12.2.4 系统、性能和强化测试 290
12.3 部署活动 291
12.3.1 转换与初始化数据 291
12.3.2 培训用户 292
12.3.3 部署产品环境 295
12.4 计划与管理实施、测试和部署 296
12.4.1 开发顺序 296
12.4.2 源代码控制 300
12.4.3 打包、安装和部署组件 300
12.4.4 改动和版本控制 304
12.5 整体回看——再访RMO 306
12.5.1 更新或代替? 306
12.5.2 最小化风险的阶段化部署 307
12.5.3 数据库开发和数据转换 307
12.5.4 开发顺序 308
12.5.5 文档和培训 308
本章小结 308
复习题 309
问题和练习 309
扩展资源 310

教学资源推荐
作者: 沈备军 万成城 陈昊鹏 陈雨亭 编著
作者: [美]罗杰·S.普莱斯曼(Roger S. Pressman),[美]布鲁斯·R. 马克西姆(Bruce R. Maxim) 著