作者结合20多年的教学和实践经验,以清晰的结构、生动的语言、丰富的案例全面阐述了系统分析与设计所涉及的知识、相关技术和工具。
全书共5部分,分别介绍了系统分析基础、信息需求分析、分析过程、设计基础以及质量保证和实现。
KennethE.Kendall,美国罗格斯大学(RutgersUniversity)商学院管理系教授,多年来一直从事系统分析与设计、决策支持系统、管理学和运筹管理学的研究和教学工作,他曾担任IFIPWorkingGroup8.2的主席,并帮助成立了“信息系统国际研讨会”(ICIS),该研讨会每年有上千人参加。JulieE.Kendall美国罗格斯大学商学院信息系统管理系副教授,主要从事系统分析与设计、信息系统管理方面的研究和教学工作,她曾在英国剑桥大学Judge管理研究学院担任访问学者。
出版者的话
译者序
前言
致谢
第一部分系统分析基础
第1章系统、角色和开发方法
1.1系统分析与设计的必要性
1.2系统分析员的角色
1.2.1系统分析员作为顾问
1.2.2系统分析员作为支持专家
1.2.3系统分析员作为变更代理
1.2.4系统分析员的品质
1.3系统开发生命期
1.3.1考虑人机交互
1.3.2标识问题、机会和目标
1.3.3确定人的信息需求
1.3.4分析系统需求
1.3.5设计推荐系统
1.3.6软件开发和编档
1.3.7系统测试和维护
1.3.8系统实现和评估
1.3.9维护的影响
1.3.10使用CASE工具
1.4敏捷方法
1.5面向对象系统分析与设计
1.6选择使用哪种系统开发方法
1.7开发开源软件
1.7.1组织为什么要参与开源社区
1.7.2分析员在开源软件中的作用
1.8小结
复习题
参考资料
第2章了解组织系统及组织系统的建模
2.1组织作为系统
2.1.1系统的相互关联和相互依赖
2.1.2虚拟组织和虚拟团队
2.1.3获得系统的透视图
2.1.4企业系统:视组织为系统
2.2系统的图形化描述方法
2.2.1系统和上下文级数据流图
2.2.2系统和实体-关系模型
2.3用例建模
2.3.1用例符号
2.3.2用例关系
2.3.3开发系统的范围
2.3.4开发用例图
2.3.5开发用例场景
2.3.6用例级别
2.3.7创建用例描述
2.3.8为什么用例图是有益的
2.4管理的层次
2.5组织文化
2.6小结
复习题
问题
小组项目
参考资料
第3章项目管理
3.1项目启动
3.1.1组织内的问题
3.1.2定义问题
3.1.3选择项目
3.2确定可行性
3.2.1判断可能性
3.2.2估计工作负荷
3.3确定硬件和软件需求
3.3.1盘点计算机硬件
3.3.2评估计算机硬件采购
3.3.3租用云服务时间和空间
3.3.4评估厂商对计算机硬件的支持
3.3.5理解“自带设备”方案
3.3.6创建定制软件
3.3.7购买COTS软件
3.3.8使用SaaS提供商的服务
3.3.9评估厂商对软件和SaaS的支持
3.4成本与效益的识别、预测和比较
3.4.1预测
3.4.2识别效益和成本
3.4.3成本效益比较
3.5时间和活动的管理
3.5.1工作分解结构
3.5.2时间估计技术
3.6项目进度安排
3.6.1使用甘特图安排项目进度
3.6.2使用PERT图
3.7项目控制
3.7.1估计成本和准备预算
3.7.2风险管理
3.7.3使用加速法管理时间
3.7.4使用挣值管理法控制成本
3.8管理项目团队
3.8.1组建团队
3.8.2团队管理的沟通策略
3.8.3设置项目生产率目标
3.8.4激励项目团队成员
3.8.5管理电子商务项目
3.8.6制定项目章程
3.9系统建议
3.9.1系统建议包含的内容
3.9.2使用插图进行有效沟通
3.10小结
复习题
问题
小组项目
参考资料
第二部分信息需求分析
第4章信息收集:交互式方法
4.1面谈
4.1.1面谈准备的5个步骤
4.1.2问题类型
4.1.3按逻辑顺序安排问题
4.1.4书写面谈报告
4.2听故事
4.3联合应用程序设计
4.3.1支持使用JAD的条件
4.3.2涉及的人
4.3.3召开JAD会议的地点
4.3.4完成项目活动的结构化分析
4.3.5用JAD代替传统面谈的潜在优点
4.3.6使用JAD的潜在特点
4.4使用问卷调查表
4.4.1规划问卷调查表的使用
4.4.2写下问题
4.4.3在问卷调查表中使用标度
4.4.4设计问卷调查表
4.4.5整理问卷调查表
4.5小结
复习题
问题
小组项目
参考资料
第5章信息收集:非干扰性方法
5.1采样
5.1.1采样的必要性
5.1.2采样设计
5.1.3决定采样规模
5.2调查
5.2.1分析定量文档
5.2.2分析定性文档
5.3观察决策者的行为
5.4观察物理环境
5.4.1结构化环境观察
5.4.2应用STROBE方法
5.5小结
复习题
问题
小组项目
参考资料
第6章敏捷建模和原型化方法
6.1原型化方法
6.1.1原型的种类
6.1.2原型化方法是系统开发生命期的一种替代方案
6.2原型的开发
6.2.1开发原型的准则
6.2.2原型化方法的缺点
6.2.3原型化方法的优点
6.2.4使用COTS软件进行原型化
6.2.5用户在原型化方法中的角色
6.3敏捷建模
6.3.1敏捷建模的价值和原则
6.3.2敏捷建模的活动、资源和实践
6.3.3敏捷开发过程
6.3.4从敏捷建模中吸取的经验教训
6.4敏捷建模与结构化方法的比较
6.4.1改进知识工作效率:SDLC与敏捷
6.4.2组织改革中固有的风险
6.5小结
复习题
问题
小组项目
参考资料
第三部分分析过程
第7章使用数据流图
7.1需求确定的数据流方法
7.1.1数据流方法的优点
7.1.2数据流图的使用规范
7.2开发数据流图
7.2.1创建上下文图
7.2.2画图0(上下文图的下一层)
7.2.3创建子图(更详细的图层)
7.2.4检查数据流图中的错误
7.3逻辑数据流图和物理数据流图
7.3.1开发逻辑数据流图
7.3.2开发物理数据流图
7.3.3分割数据流图
7.4数据流图实例
7.4.1开发业务活动列表
7.4.2创建上下文级数据流图
7.4.3绘制图0
7.4.4创建子图
7.4.5根据逻辑数据流图创建物理数据流图
7.4.6分割物理数据流图
7.5分割Web站点
7.6使用数据流图进行沟通
7.7小结
复习题
问题
小组项目
参考资料
第8章使用数据字典分析系统
8.1数据字典
8.2数据存储库
8.2.1定义数据流
8.2.2描述数据结构
8.2.3逻辑数据结构和物理数据结构
8.2.4数据元素
8.2.5数据存储
8.3创建数据字典
8.3.1分析输入和输出
8.3.2开发数据存储
8.4使用数据字典
8.4.1使用数据字典创建XML
8.4.2XML文档类型定义
8.4.3XML schema
8.5小结
复习题
问题
小组项目
参考资料
第9章过程规范和结构化决策
9.1过程规范概述
9.2结构化英语
9.2.1编写结构化英语
9.2.2数据字典和过程规范
9.3决策表
9.3.1开发决策表
9.3.2核验完备性和正确性
9.4决策树
9.5选择一种结构化决策分析技术
9.6小结
复习题
问题
小组项目
参考资料
第10章基于UML的面向对象系统分析与设计
10.1面向对象概念
10.1.1对象
10.1.2类
10.1.3继承
10.2CRC卡片和对象思考
10.3统一建模语言的概念和图
10.4用例建模
10.5活动图
10.5.1创建活动图
10.5.2活动图的存储库项
10.6顺序图和通信图
10.6.1顺序图
10.6.2通信图
10.7类图
10.7.1方法重载
10.7.2类的类型
10.7.3定义消息和方法
10.8增强顺序图
10.8.1Web类实例
10.8.2顺序图中的表现、业务和持久层
10.9增强类图
10.9.1关系
10.9.2泛化/特化图
10.10状态图
10.11包和其他UML制品
10.12UML实践
10.13使用UML进行建模的重要性
10.14小结
复习题
问题
参考资料
第四部分设计基础
第11章设计有效的输出
11.1输出设计的目标
11.1.1设计满足预定目标的输出
11.1.2设计适合用户的输出
11.1.3交付合适数量的输出
11.1.4确保输出的信息是必不可少的
11.1.5按时提供输出
11.1.6选用正确的输出方式
11.2将输出内容与输出方式联系起来
11.2.1输出技术
11.2.2选择输出技术所要考虑的因素
11.3认识到输出偏差对用户的影响
11.3.1识别使用的输出方式所带来的偏差
11.3.2在设计输出时应避免偏差
11.3.3设计印制输出
11.4设计屏幕输出
11.4.1屏幕设计指导原则
11.4.2在屏幕设计中使用图形输出
11.4.3仪表板
11.4.4widget和gadget——改变桌面隐喻
11.5设计网站
11.5.1网站的一般设计准则
11.5.2网站设计的特定准则
11.6Web 2.0技术和社交媒体设计
11.7设计智能电话和平板电脑的app
11.7.1建立开发者账号
11.7.2选择开发过程
11.7.3原创性
11.7.4决定如何给你的app定价
11.7.5遵守规则
11.7.6设计图标
11.7.7为app选择合适的名称
11.7.8设计应适用于各种设备
11.7.9设计app的输出
11.7.10再次为不同的显示方向设计输出
11.7.11app的逻辑设计
11.7.12创建使用手势的用户界面
11.7.13保护知识产权
11.7.14销售你的app
11.8输出生产和XML
11.9小结
复习题
问题
小组项目
参考资料
第12章设计有效的输入
12.1良好的表单设计
12.1.1使表单易于填写
12.1.2达到预定的目的
12.1.3确保准确填写表单
12.1.4设计的表单要有吸引力
12.1.5商业表单控制
12.2良好的屏幕和Web表单设计
12.2.1保持屏幕简洁
12.2.2保持屏幕的一致性
12.2.3易于用户在屏幕间移动
12.2.4设计有吸引力且令人愉快的屏幕
12.2.5在屏幕设计中使用图标
12.2.6图形用户界面设计
12.2.7表单控件和数值
12.2.8隐藏字段
12.2.9事件响应图
12.2.10动态Web页
12.2.11三维Web页
12.2.12Ajax
12.2.13在屏幕设计中使用色彩
12.3网站设计
12.4小结
复习题
问题
小组项目
参考资料
第13章数据库设计
13.1数据库
13.2数据概念
13.2.1现实、数据和元数据
13.2.2文件
13.2.3关系型数据库
13.3规范化
13.3.1规范化的3个步骤
13.3.2规范化实例
13.3.3使用实体-关系图确定记录键
13.3.4一对多关系
13.3.5多对多关系
13.4主文件/数据库关系设计指导原则
13.4.1完整性约束
13.4.2异常
13.5使用数据库
13.6反规范化
13.7数据仓库
13.7.1联机分析处理
13.7.2数据挖掘
13.8商务智能
13.9文本分析
13.10小结
复习题
问题
小组项目
参考资料
第14章人机交互
14.1理解人机交互
14.2可用性
14.2.1设计不同用户的认知风格
14.2.2HCI设计中的身体因素
14.2.3考虑人的缺陷、残障和意图
14.2.4实施良好的HCI实践
14.3用户界面的类型
14.3.1自然语言界面
14.3.2问答式界面
14.3.3菜单
14.3.4填写式表单界面(输入/输出表单)
14.3.5选择和评估界面
14.4设计智能电话和平板电脑的界面
14.4.1手势
14.4.2警报、通知和查询
14.4.3徽章
14.4.4语音识别
14.5对话设计的指导原则
14.5.1有意义的交流
14.5.2最小化用户操作
14.5.3操作的标准化和一致性
14.6用户反馈
14.6.1反馈的类型
14.6.2在系统设计中包含反馈
14.7电子商务的特殊设计因素
14.7.1获得电子商务网站客户的反馈信息
14.7.2轻松的电子商务网站导航
14.8mashup
14.9查询设计
14.9.1查询类型
14.9.2查询方法
14.10小结
复习题
问题
小组项目
参考资料
第五部分质量保证和实现
第15章设计准确的数据输入规程
15.1有效的编码
15.1.1记录某些事物
15.1.2分类信息
15.1.3隐藏信息
15.1.4揭示信息
15.1.5请求相应的处理
15.1.6编码的一般指导原则
15.2有效和高效的数据获取
15.2.1决定要获取什么样的数据
15.2.2让计算机完成其余的事情
15.2.3避免瓶颈和减少额外输入步骤
15.2.4从一个好的表单开始
15.2.5选择一种数据输入方法
15.3通过输入有效性检查保证数据的质量
15.3.1对输入事务进行有效性检查
15.3.2对输入数据进行有效性检查
15.3.3数据验证过程
15.4电子商务环境中的数据准确性优势
15.4.1客户自己输入数据
15.4.2保存数据以备后用
15.4.3在整个订单履行过程中使用数据
15.4.4向客户提供反馈信息
15.5小结
复习题
问题
小组项目
参考资料
第16章质量保证和实施
16.1全面质量管理方法
16.1.1六西格玛
16.1.2全面质量管理的责任
16.1.3结构化走查
16.1.4自顶向下的系统设计和开发
16.1.5使用结构图设计模块化系统
16.1.6面向服务的架构
16.2编档方法
16.2.1程序操作手册
16.2.2民间故事法
16.2.3选择一种设计和编档技术
16.3测试、维护和审计
16.3.1测试过程
16.3.2维护实践
16.3.3审计
16.4实现分布式系统
16.4.1客户/服务器技术
16.4.2云计算
16.4.3网络建模
16.5用户培训
16.5.1培训策略
16.5.2培训的指导原则
16.6转换到新系统
16.6.1转换策略
16.6.2转换时应考虑的其他因素
16.6.3组织比喻及其与成功系统的关系
16.7传统系统和基于Web系统的安全考虑
16.7.1物理安全性
16.7.2逻辑安全性
16.7.3行为安全性
16.7.4电子商务的特殊安全考虑
16.7.5电子商务的隐私考虑
16.7.6灾难恢复规划
16.8评估
16.8.1评估方法
16.8.2信息系统效用方法
16.9评估公司的网站
16.10小结
复习题
问题
小组项目
参考资料
术语表
缩写词
这本号称是“计算机科学丛书”的读物,真是让我大开眼界,不过不是因为内容有多么高深莫测,而是其行文风格的奇特。我原以为系统分析与设计这门学科会深入探讨需求工程的复杂性,或者至少在架构选择上能提供一些前沿的视角。然而,这本书给我的感觉,更像是一本五十年前的教科书披上了现代的皮。它花了大量的篇幅去阐述一些基础概念,比如流程图和数据流图,这些内容在如今的敏捷开发和DevOps实践中,已经退居次要地位了。我期待看到关于微服务治理、云原生设计原则,或者至少是UML在复杂企业级应用中的实战应用,但翻遍了前几章,只看到了大量对瀑布模型的执着歌颂,以及对结构化分析的过度迷恋。阅读体验是相当的枯燥,作者似乎完全沉浸在自己的理论世界里,缺乏与当代软件工程实践的对话。它更像是一份详尽的、但已经过时的理论备忘录,而非一本指导现代系统构建的实用指南。对于想了解当前行业主流实践的读者来说,这本书提供的价值非常有限,更像是历史资料的陈列馆,而非指引未来的灯塔。
评分最让我感到恼火的是,作为一本号称是“原书第9版”的更新版本,它在技术时效性上做得极其失败。在软件工程领域,知识的半衰期越来越短。我期待看到至少对近十年间新兴技术栈的适应性分析,比如如何分析和设计基于API网关的系统,或者如何在高并发场景下应用领域驱动设计(DDD)的概念。然而,这本书的例子和术语几乎完全停留在客户端-服务器架构的黄金时代。当你提到“数据库范式优化”时,它似乎没有意识到现代应用更多地依赖于缓存策略和NoSQL的最终一致性模型。阅读过程需要我不断地进行“心理翻译”,将书中的过时概念映射到我实际需要使用的现代技术堆栈上,这极大地消耗了我的注意力和学习效率。买一本新版本的书,我期望看到的是面向未来的洞察,而不是对过往辉煌的冗长回顾,这一点上,这本书完全令人失望。
评分我购买这本书的初衷,是希望能够系统地梳理一下如何将商业目标转化为可执行的技术规范。我特别关注了关于系统分解和模块化设计的章节,期待能从中汲取如何在高耦合系统中寻找解耦的智慧。遗憾的是,这本书对“设计”本身的探讨显得异常肤浅。它似乎认为,只要遵循了几个固定的步骤,系统设计自然水到渠成。对于如何处理跨系统的集成挑战、如何权衡性能与可维护性之间的矛盾,书中的论述蜻蜓点水,几乎没有提供任何可供参考的案例研究或决策框架。更让人不解的是,它对非功能性需求的优先级排序和量化处理几乎是避而不谈,这在当今这个对用户体验和系统弹性要求极高的时代,简直是不可想象的疏忽。总而言之,这本书在“设计”层面缺乏深度,停留在工具和流程的表面介绍,未能触及真正工程决策的核心。
评分说实话,这本书的排版和语言组织简直是一场灾难。我得承认,我试图从中寻找一些关于如何进行有效的利益相关者访谈的技巧,或者如何利用最新的建模语言来捕捉非功能性需求。结果呢?我得到的是一堆晦涩难懂的术语堆砌,仿佛作者急于展示自己学识的渊博,却完全忘记了读者是需要学习和实践的工程师。很多章节的逻辑跳跃性极大,一个概念刚抛出来,还没等我消化,马上又转向了另一个看似毫不相关的领域。特别是涉及到系统建模的那部分,图表的质量粗糙得令人发指,有些箭头指向哪里都让人摸不着头脑,这对于一个讲究精确性的分析设计书籍来说,简直是本末倒置。我不得不频繁地停下来,查阅外部资料来厘清作者在这里到底想表达什么。如果说学习系统分析设计是为了构建清晰的蓝图,那么这本书本身就像是一张被墨水晕染开来的草稿,根本无法提供任何可操作性的指导。
评分这本书给我的感觉是,它非常“西化”,而且是那种老派的、脱离了全球化软件开发现实的西化。我正在参与一个跨时区的敏捷团队,需要一套能够灵活适应不同文化背景和项目节奏的方法论。这本书中描述的分析与设计过程,充满了冗长、线性的会议和文档审批流程,这在快速迭代的现代环境中根本无法实现。我希望能找到一些关于如何将精益原则融入到需求分析中,或者如何利用自动化工具来验证设计模型的内容,但这些在书中都是真空地带。作者似乎默认所有项目都是在一个理想的、资源充足的、瀑布式管理的象牙塔内进行的。这种刻板的、不切实际的场景设定,使得我读完后,非但没有获得解决当下工作难题的思路,反而产生了一种强烈的“这本书与我无关”的疏离感。它更像是为学术研究而不是为工程实践而写的。
评分这本书内容不错,
评分程序员向分析员迈进,进阶读物,值得一读
评分很给力,很便宜,速度快
评分不错就是等的时间太长了…………
评分未看
评分程序员向分析员迈进,进阶读物,值得一读
评分这本书内容不错,
评分程序员向分析员迈进,进阶读物,值得一读
评分好
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有