需求分析与系统设计(原书第3版)(计算机科学丛书)(Requirements Analysis and System Design)
分類: 图书,计算机与互联网,软件工程及软件方法学,需求分析,
品牌: 麦斯阿塞克(Leszek A.Maciaszek)
基本信息·出版社:机械工业出版社
·页码:401 页
·出版日期:2009年09月
·ISBN:7111272803/9787111272809
·条形码:9787111272809
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:计算机科学丛书
·外文书名:Requirements Analysis and System Design
产品信息有问题吗?请帮我们更新产品信息。
内容简介《需求分析与系统设计(原书第3版)》论述软件分析与设计的原理、方法和技术,并特别关注设计阶段,对软件体系结构的内容进行了很大的扩充。《需求分析与系统设计(原书第3版)》强调对象技术及统一建模语言(UML)在企业信息系统开发中的应用,并讨论了使用Web技术和数据库技术进行开发的方法。
《需求分析与系统设计(原书第3版)》是大学本科生学习系统分析与设计、软件工程、软件项目管理、数据库和对象技术的理想教材和参考书;对于软件工程技术人员来说,《需求分析与系统设计(原书第3版)》也是很好的参考资料。
作者简介麦斯阿塞克,澳大利亚悉尼Macquarie大学副教授。他原籍波兰,曾在世界许多国家担任研究员咨询专家和教师,于1985年移居澳大利亚。他具有在许多大型跨国公司从事技术咨询和培目工作的经验。他的研究领域包括系统开发和集成软件工程数据库对象技术以及分布式计算,已经写了100多篇论文,并出版了7本书。
编辑推荐在企业信息系统的开发中,强有力的分析和设计对成功开发都是非常重要的。《需求分析与系统设计(原书第3版)》讲解设计大型面向对象系统所需的基础理论,以及如何将这些理论付诸实践。《需求分析与系统设计(原书第3版)》作者非常注重实践,提供了大量实例、练习和问题,使读者快速掌握理论知识,提高开发水平。
《需求分析与系统设计(原书第3版)》主要特点
围绕七个实例研究(大学注册、音像商店、关系管理、电话销售、广告支出、时间记录和货币兑换)展开实例教学,每个实例都具有自身的特点和教学价值。
特别关注设计阶段,并不是将设计看成分析的直接转换,而是充分考虑大型企业信息系统开发的困难和复杂性。
通过大量的练习-答案和问题-解决方案巩固所学的知识。
使用可视化系统建模的标准——UML,讨论使用Web技术和数据库技术进行开发。
新增了解决方案管理框架(ITIL和COBIT)和系统集成、业务过程建模、Web GUI设计。
目录
译者序
前言
第1章 软件过程
1.1 软件开发的本质
1.1.1 软件开发的不变事实
1.1.2 软件开发的“意外事件”
1.1.3 开发还是集成
复习小测验1.1
1.2 系统规划
1.2.1 SWOT方法
1.2.2 VCM方法
1.2.3 BPR方法
1.2.4 ISA方法
复习小测验1.2
1.3 三级管理系统
1.3.1 事务处理系统
1.3.2 分析处理系统
1.3.3 知识处理系统
复习小测验1.3
1.4 软件开发生命周期
1.4.1 开发方法
1.4.2 生命周期的阶段
1.4.3 跨越生命周期的活动
复习小测验1.4
1.5 开发模型与方法
1.5.1 螺旋模型
1.5.2 IBM Rational统一过程
1.5.3 模型驱动的体系结构
1.5.4 敏捷软件开发
1.5.5 面向方面的软件开发
复习小测验1.5
1.6 实例研究的问题陈述
1.6.1 大学注册
1.6.2 音像商店
1.6.3 关系管理
1.6.4 电话销售
1.6.5 广告支出
1.6.6 时间记录
1.6.7 货币兑换
小结
关键术语
选择题
问题
复习小测验答案
选择题答案
奇数编号问题的答案
第2章 需求确定
2.1 从业务过程到解决方案构想
2.1.1 过程层次建模
2.1.2 业务过程建模
2.1.3 解决方案构想
复习小测验2.1
2.2 需求引导
2.2.1 系统需求
2.2.2 需求引导的传统方法
2.2.3 需求引导的现代方法
复习小测验2.2
2.3 需求协商与确认
2.3.1 超出范围的需求
2.3.2 需求依赖矩阵
2.3.3 需求风险和优先级
复习小测验2.3
2.4 需求管理
2.4.1 需求标识与分类
2.4.2 需求层次
2.4.3 变更管理
2.4.4 需求可跟踪性
复习小测验2.4
2.5 需求业务模型
2.5.1 系统范围模型
2.5.2 业务用例模型
2.5.3 业务词汇表
2.5.4 业务类模型
复习小测验2.5
2.6 需求文档
2.6.1 文档模板
2.6.2 项目准备
2.6.3 系统服务
2.6.4 系统约束
2.6.5 项目的其他问题
2.6.6 附录
复习小测验2.6
小结
关键术语
选择题
问题
练习:广告支出
练习:时间记录
复习小测验答案
选择题答案
奇数编号问题的答案
练习的解决方案:AE
第3章 可视化建模基础
3.1 用例视图
3.1.1 参与者
3.1.2 用例
3.1.3 用例图
3.1.4 用例文档化
复习小测验3.1
3.2 活动视图
3.2.1 动作
3.2.2 活动图
复习小测验3.2
3.3 结构视图
3.3.1 类
3.3.2 属性
3.3.3 关联
3.3.4 聚合
3.3.5 泛化
3.3.6 类图
复习小测验3.3
3.4 交互视图
3.4.1 顺序图
3.4.2 通信图
3.4.3 类方法
复习小测验3.4
3.5 状态机视图
3.5.1 状态和转换
3.5.2 状态机图
复习小测验3.5
3.6 实现视图
3.6.1 子系统和包
3.6.2 构件和构件图
3.6.3 节点和部署图
复习小测验3.6
小结
关键术语
选择题
问题
练习
练习:音像商店
复习小测验答案
选择题答案
奇数编号问题的答案
奇数编号练习的解决方案
奇数编号练习的解决方案:音像商店
第4章 需求规格说明
4.1 体系结构优先权
4.1.1 模型-视图-控制器
4.1.2 J2EE的核心体系结构
4.1.3 表示-控制器-bean-中介者-实体-资源
复习小测验4.1
4.2 状态规格说明
4.2.1 类建模
4.2.2 关联建模
4.2.3 聚合及复合关系建模
4.2.4 泛化关系建模
4.2.5 接口建模
4.2.6 对象建模
复习小测验4.2
4.3 行为规格说明
4.3.1 用例建模
4.3.2 活动建模
4.3.3 交互建模
4.3.4 操作建模
复习小测验4.3
4.4 状态变化规格说明
4.4.1 对象状态建模
复习小测验4.4
小结
关键术语
选择题
问题
练习:音像商店
练习:关系管理
练习:大学注册
复习小测验答案
选择题答案
奇数编号问题的答案
练习的解决方案:大学注册
第5章 从分析到设计
5.1 高级类建模
5.1.1 扩展机制
5.1.2 可见性与封装
5.1.3 导出信息
5.1.4 限定关联
5.1.5 关联类与具体化类
复习小测验5.1
5.2 高级泛化与继承建模
5.2.1 泛化和可替换性
5.2.2 继承与封装
5.2.3 接口继承
5.2.4 实现继承
复习小测验5.2
5.3 高级聚合与委托建模
5.3.1 给聚合增加更多的语义
5.3.2 作为泛化的可选方案的聚合
5.3.3 聚合与整体构件-一些仅供
思考的材料
复习小测验5.3
5.4 高级交互建模
5.4.1 生命线和消息
5.4.2 片段
5.4.3 交互使用
复习小测验5.4
小结
关键术语
选择题
问题
练习
练习:时间记录
练习:广告支出
复习小测验答案
选择题答案
奇数编号问题的答案
奇数编号练习的解决方案
练习的解决方案:时间记录
第6章 系统体系结构与程序设计
6.1 分布式物理体系结构
6.1.1 对等体系结构
6.1.2 分层体系结构
6.1.3 数据库为中心的体系结构
复习小测验6.1
6.2 多层逻辑体系结构
6.2.1 体系结构的复杂性
6.2.2 体系结构模式
复习小测验6.2
6.3 体系结构建模
6.3.1 包
6.3.2 构件
6.3.3 结点
复习小测验6.3
6.4 程序设计与复用原则
6.4.1 类的内聚与耦合
6.4.2 复用策略
复习小测验6.4
6.5 协作建模
6.5.1 协作
6.5.2 复合结构
6.5.3 从用例到复合协作
6.5.4 从协作到交互
6.5.5 从交互到复合结构
复习小测验6.5
小结
关键术语
选择题
问题
练习:音像商店
练习:广告支出
复习小测验答案
选择题答案
奇数编号问题的答案
练习的解决方案:广告支出
第7章 图形用户界面设计
7.1 GUI设计原则
7.1.1 从GUI原型到实现
7.1.2 良好GUI设计指南
复习小测验7.1
7.2 桌面GUI设计
7.2.1 主窗口
7.2.2 辅窗口
7.2.3 菜单和工具栏
7.2.4 按钮及其他控件
复习小测验7.2
7.3 WebGUI设计
7.3.1 Web应用系统的使能技术
7.3.2 内容设计
7.3.3 导航设计
7.3.4 利用GUI框架支持Web设计
复习小测验7.3
7.4 GUI导航建模
7.4.1 用户体验故事情节
7.4.2 UX元素建模
7.4.3 行为性UX协作
7.4.4 结构性UX协作
复习小测验7.4
小结
关键术语
选择题
问题
练习:关系管理
练习:电话销售
复习小测验答案
选择题答案
奇数编号问题的答案
练习的解决方案:关系管理
第8章 持久性与数据库设计
8.1 业务对象和持久性
8.1.1 数据库管理系统
8.1.2 数据模型的层次
8.1.3 集成应用系统与数据库建模
8.1.4 对象-数据库映射基础
复习小测验8.1
8.2 关系数据库模型
8.2.1 列.域和规则
8.2.2 表
8.2.3 引用完整性
8.2.4 触发器
8.2.5 存储过程
8.2.6 视图
8.2.7 范式
复习小测验8.2
8.3 对象-关系映射
8.3.1 映射实体类
8.3.2 映射关联
8.3.3 映射聚合
8.3.4 映射泛化
复习小测验8.3
8.4 管理持久对象的模式
8.4.1 检索持久对象
8.4.2 装载持久对象
8.4.3 释放持久对象
复习小测验8.4
8.5 设计数据库访问和事务
8.5.1 SQL程序设计的层次
8.5.2 设计业务事务
复习小测验8.5
小结
关键术语
选择题
问题
练习:关系管理
练习:电话销售
复习小测验答案
选择题答案
奇数编号问题的答案
练习的解决方案:关系管理
第9章 质量与变更管理
9.1 质量管理
9.1.1 质量保证
9.1.2 质量控制
复习小测验9.1
9.2 变更管理
9.2.1 工具与管理变更请求
9.2.2 可追踪性
复习小测验9.2
小结
关键术语
选择题
问题
复习小测验答案
选择题答案
奇数编号问题的答案
第10章 复习巩固指南
10.1 用例建模
10.1.1 参与者
10.1.2 用例
10.1.3 用例图
10.1.4 编写用例文档
10.2 活动建模
10.2.1 动作
10.2.2 活动图
10.3 类建模
10.3.1 类
10.3.2 属性
10.3.3 关联
10.3.4 聚合
10.3.5 泛化
10.3.6 类图
10.4 交互建模
10.4.1 顺序图
10.4.2 通信图
10.5 状态机建模
10.5.1 状态和转换
10.5.2 状态机图
10.6 实现模型
10.6.1 子系统
10.6.2 包
10.6.3 构件
10.6.4 注释
10.7 对象协作设计
10.7.1 用例设计规格说明
10.7.2 用户界面原型
10.7.3 顺序图
10.7.4 设计层类图
10.8 窗口导航设计
10.8.1 用户体验元素
10.8.2 行为性UX协作
10.8.3 结构性UX协作
10.9 数据库设计
10.9.1 对象-关系映射
10.9.2 引用完整性设计
小结
练习:在线购物
附录A对象技术基础
参考文献
……[看更多目录]
序言本书概况
信息系统(informationsystem,IS)的开发(从开始计划到部署给利益相关者)包括三个迭代增量式阶段:分析、设计和实现。本书论述了分析和设计阶段使用的方法和技术。实现方面的问题(包括代码实例)只在设计阶段需要考虑时才讲解,质量与变更管理在第9章单独讨论。
本书集中在面向对象软件开发上。统一建模语言(UnifiedModelingLanguage,UML)用于捕捉建模的人工制品,主要论述用逐步细化的方式进行开发,并且在整个开发生命周期中都使用UML这种建模语言、系统分析师、设计师和程序员使用同一种语言和工具,但有时也会使用一些语言中的方言(配置文件)来满足各自的需要。
对象技术的早期应用主要针对图形用户界面(GUI),并关注开发新系统的速度和程序执行的速度.而在本书中,作者强调对象技术在企业信息系统(enterpriseinformationsystem,EIS)开发中的应用。其中的挑战是数据量大,数据结构复杂,许多并发用户对信息进行共享式访问,事务处理,需求变更等.对象技术在EIS开发中的主要优势在于可以提高系统的适应性(可理解性、可维护性和可伸缩性)。
开发企业信息系统与进行大规模的分析和设计是同步的。如果不遵循严格的开发过程,不理解基本的软件体系结构,EIS项目就不可能成功。这种开发是大型的、面向对象的、迭代增量式的。
本书提出了用UML进行企业信息系统分析和设计的详细方法,确定了以下几方面的解决方法:
分析和建模业务过程。
控制大型系统模型的复杂性。
改进软件体系结构。
提高系统的适应性。
处理详细的设计问题。
理解图形用户界面。
了解数据库的重要性。
管理质量.管理变更等。
本书特点
本书的最大特点是“实例教学”。主要的讨论围绕七个实例研究和学习指导形式的复习巩固章节进行。这些例子是从七个应用领域抽取的,每个例子都有各自的特点和教学价值。涉及的领域有大学注册、音像商店、关系管理、电话销售、广告支出、时间记录和货币兑换。学习指导涉及在Internet上购买计算机的在线购物应用系统。
为了便于自学,本书用问题-答案及练习-解决方案的形式阐述了实例研究和学习指导。通过每章末给出的问题和练习,实践材料得到了进一步扩充和丰富、选择题(或练习)都提供了答案(或解决方案)。每章都包含带有答案的复习小测验和选择题,并且都给出了关键术语的定义。
文摘插图:
第1章 软件过程
1.1 软件开发的本质
在关于信息系统(information system,IS)管理的文献中,充满了项目失败、逾期和超预算、有缺陷的解决方案,以及不可维护的系统等例子。虽然大量引用Standish Chaos报告(声称有70%的软件项目失败)是有些夸张(Glass 2005),但毋庸置疑的是,许多“成功的”系统(换句话说,就是已经付款并交付给用户的系统)被可靠性、性能、安全性、可维护性及其他问题所困扰。
为了了解这些问题的原因,我们首先需要了解软件开发的本质。在一篇有代表性的论文中,Brooks(1987)阐述了软件工程的本质问题和意外事件。软件工程的本质问题体现在软件本身所固有的困难中,我们只能承认这些困难——没有获得突破性进展或“银弹”的方法。按照Brooks的说法,软件工程的本质问题是由软件固有的复杂性、一致性、可变性和不可见性所导致的。
软件的“本质困难”定义了软件开发的不变事实。不变事实声明软件是一种创造性开发行为的产品——由工匠而不是优秀艺术家所完成的行为意义上的一种工艺品或艺术品。在典型的情况下,软件并不是制造业重复性行为的结果。