计算机科学丛书:系统分析与设计(原书第9版) [Systems Analysis and Dewsign Ninth Edition]

计算机科学丛书:系统分析与设计(原书第9版) [Systems Analysis and Dewsign Ninth Edition] pdf epub mobi txt 电子书 下载 2025

[美] Kenneth E. Kendall,[美] Julie E. kenda 著,施平安 等 译
图书标签:
  • 计算机科学
  • 系统分析
  • 系统设计
  • 信息系统
  • 软件工程
  • 需求分析
  • 数据库设计
  • UML
  • 建模
  • 软件开发
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111479505
版次:1
商品编码:11564572
品牌:机工出版
包装:平装
丛书名: 计算机科学丛书
外文名称:Systems Analysis and Dewsign Ninth Edition
开本:16开
出版时间:2014-10-01
用纸:胶版纸
页数:481

具体描述

编辑推荐

  


    作者结合20多年的教学和实践经验,以清晰的结构、生动的语言、丰富的案例全面阐述了系统分析与设计所涉及的知识、相关技术和工具。
  全书共5部分,分别介绍了系统分析基础、信息需求分析、分析过程、设计基础以及质量保证和实现。
  

内容简介

  《计算机科学丛书:系统分析与设计(原书第9版)》是一本优秀的系统分析与设计教材,从1988年首次出版以来,几经更新和完善,目前已经升级到第9版。
  作者结合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小结
复习题
问题
小组项目
参考资料
术语表
缩写词

精彩书摘

  1.2.2系统分析员作为支持专冢  系统分析员必须扮演的另一个角色是担当某个企业的支持专家,企业定期雇佣这些支持专家来解决系统容量的问题。如果扮演这种角色,分析员将吸取有关计算机硬件和软件及其在企业中运用的专业知识。这种工作往往不是一个成熟的系统项目,而是需要影响某个部门的细微修改或者决策。  作为支持专家,分析员不用管理项目,只需作为项目管理者的顾问。如果你是制造公司或者服务公司聘请的系统分析员,那么你的许多日常活动可能以此角色为中心。  1.2.3系统分析员作为变更代理  系统分析员扮演的最重要的角色是变更代理,企业内部的变更代理,或者企业外部的变更代理。作为一个系统分析员,每当在系统开发生命期(在下一节讨论)中执行任何一种活动,就以变更代理的身份出现,并且在很长一段时间内在该企业中存在(从2个星期到1年多时间)。变更代理可以定义为:一个担当变更催化剂、制订变更计划并与他人合作使变更更容易的人。  在企业中,分析员会起到变革企业的作用。作为一个系统分析员,必须认识到这一事实,并且把它作为分析的起点。因此,从项目一开始,就必须与用户和管理部门(如果它们不是合二为一的话)交互。如果没有他们的帮助,就不可能了解组织中正在发生的事情,也就不可能带来实质性的变化。  如果经分析后认为必须进行变更(即可以通过信息系统实现企业的改进),则下一步工作是同实施变更的人一起制订一个变更计划。对要进行的变更达成一致后,必须经常与那些实施变更的人进行交互。通过运用与人和计算机交互的专家经验,在一个人机信息系统中集成它们,可以使变更更加容易。、  作为担当变更代理的系统分析员,应倡议某种变更方法,包括使用信息系统。此外,把变更过程教给用户,因为信息系统的变更不会独立地发生,而是还会导致组织中其他方面的变更。  1.2.4系统分析员的品质  从前面描述的系统分析员所扮演的角色不难看出,优秀的系统分析员必须拥有许多品质。许多不同类型的人都可以成为系统分析员,因此,从某种意义上讲,任何一种描述都存在不足。然而,有一些品质,似乎是大多数系统分析员都应拥有的。  首先,分析员是一个解决问题的人。分析员是一个把问题的分析视为一种挑战,并且喜欢设计可行的解决方案的人。必要时,通过巧妙地运用工具、技术和经验,分析员必须能够系统地处理面临的情况。分析员还必须是一个交流者,能够在很长一段时间内与他人进行有意义的交流。系统分析员需要能够理解人们与技术进行交互的需求,因此他们需要足够的计算机编程经验,能理解计算机的功能,收集用户需求以及传递程序员所需的信息。他们还需具备健康的个人和职业道德准则,帮助他们树立自己的客户关系。  系统分析员必须是一个自我约束、自我激励的人,能够管理和协调无数的项目资源,包括其他人员。系统分析是一种要求苛刻的职业,但令人欣慰的是,它是一种不断变化并且始终充满挑战的职业。  ……

前言/序言

  译者序  信息系统领域正在发生日新月异的变化,智能手机和平板电脑的普及,云计算的发展和应用,极大地推动了世界经济和社会的发展,也促使各行各业纷纷加强信息系统建设。然而信息系统建设是一项极其复杂的系统工程,涉及管理和技术,只有既懂管理又懂信息技术的优秀系统分析员,才能正确地进行系统需求分析和系统设计,肩负起组织实施的重任。系统分析与设计是软件工程项目开发中的重要阶段,影响项目开发质量甚至成败。我国系统分析与设计人才十分匮乏,远远无法满足企业的需求。为了使学生走出校门就能胜任系统分析与设计方面的工作,我国及时引进和翻译出版了这本畅销20多年之久的国外经典教材。  《计算机科学丛书:系统分析与设计(原书第9版)》自1988年首次出版以来,很快就被许多国家和地区的高等院校选为“系统分析与设计”课程的教科书,几经更新和完善,目前已经升级到第9版。现在已知有以下大学选用本书作为教材:中国澳门大学、中国香港城市大学、美国匹兹堡大学、奥克拉荷马中央大学、布瑞耶州立大学、宾夕法尼亚州州立大学、肯塔基大学、雷德塞尔大学、南加州大学摩尔商学院、福特汉大学、威斯康辛大学密尔沃基分校、马里兰州州立大学、拉歇尔大学、泰国孔敬大学(Khonkaen university)、越南胡志明科技大学等。  《计算机科学丛书:系统分析与设计(原书第9版)》作者Kenneth E.Kendall和.Julie E.Kendall均就职于美国罗格斯大学(Rutgers university)商学院,多年来一直从事系统分析与设计、决策支持系统、管理科学与作业管理的教学科研工作,重点是开发系统分析员使用的工具、改良系统分析与设计的教学法以及研究全新的决策支持系统应用。本书学时为一学期,也可以扩展为两学期,供计算机专业、信息管理专业本科高年级学生和研究生使用。课程的难度和课时可以调整。  《计算机科学丛书:系统分析与设计(原书第9版)》注重理论与实践的有机结合,但更突出实践。系统分析与设计是一门实践性很强的学科,是人们对项目开发实践经验的总结。本书作者不是条条款款地列出系统分析员在分析与设计过程中应该做什么和不应该做什么,而是通过一个个实例说明这样做是合适的,并让读者自己从中归纳出应该做什么以及如何做。每章都有HyperGase体验,提供一些作业来帮助学生解决他们在MRE遇到的困难的组织问题;还有50多个咨询时间,大多都是信息系统领域中最新出现的相关主题。总之,本书是介绍系统分析与设计的权威著作,不管是在校学生还是实际从事软件项目开发的系统分析员,均可从中吸取有益的经验,这些经验需要他们完成几十个系统开发项目才能体会到。  《计算机科学丛书:系统分析与设计(原书第9版)》的翻译出版是集体工作的结晶。施平安、徐远新等负责全书的翻译工作,施惠琼等负责全书的审校工作,周莎等参与了全书的录入和排版工作。全书最后由施平安负责统稿。  在《计算机科学丛书:系统分析与设计(原书第9版)》的翻译过程中,我们尽量保留原书的特色,并对书中出现的术语和难词难句进行了仔细推敲和斟酌,但毕竟有些方面是译者在自己研究领域中不曾遇到过的,所以疏漏和争议之处在所难免,望广大读者提出宝贵的意见。  最后,祝愿广大读者能花时间细细品味这本凝聚着作者夫妇及译者大量心血的经典教材,为将来的职业生涯奠定良好的基础。  译者  2014年5月6日
揭示系统构建的智慧:从需求到实现的全面指南 本书并非仅是一本关于“计算机科学丛书:系统分析与设计(原书第9版)”的介绍,而是旨在揭示一套行之有效的系统构建智慧,涵盖从初步构思到最终实现的每一个关键环节。它为任何致力于创造、改进或管理信息系统的人士提供了一个坚实的基础和宝贵的指导。我们将深入探讨如何理解业务需求,如何将其转化为清晰可行的技术蓝图,以及如何在整个开发生命周期中确保系统的质量、效率和可持续性。 第一章:理解系统开发的基石——需求与分析 在任何一个成功的项目中,清晰而准确的需求定义都是成功的关键。本章将带领读者深入理解系统分析的核心价值。我们将从识别和获取用户需求入手,探讨各种有效的需求收集技术,包括访谈、问卷调查、焦点小组、原型法以及场景分析等。理解不同用户群体的视角至关重要,因此,我们将学习如何区分涉众(stakeholders)并理解他们的期望和约束。 进一步地,我们将学习如何对收集到的原始需求进行梳理、分析和建模。这包括识别业务流程、数据流以及系统之间的相互作用。我们将介绍多种建模技术,例如用例图(Use Case Diagrams)来描述系统的功能性需求,类图(Class Diagrams)来表示系统的数据结构,以及活动图(Activity Diagrams)来可视化业务流程。对这些模型进行详细的分析,有助于发现需求中的模糊性、不一致性以及潜在的冲突,从而在项目早期就规避风险。 我们还将探讨非功能性需求的定义和重要性。这包括性能(performance)、安全性(security)、可用性(usability)、可靠性(reliability)以及可维护性(maintainability)等。这些非功能性需求往往比功能性需求更具挑战性,却对最终用户体验和系统的长期成功至关重要。学会如何量化和评估这些需求,是系统分析能力的体现。 第二章:勾勒系统蓝图——系统设计 需求分析的成果是系统的“做什么”,而系统设计则回答“如何做”。本章将聚焦于将抽象的需求转化为具体的系统架构和模块设计。我们将从高层次的系统架构设计开始,探讨不同的架构模式,如客户端-服务器(Client-Server)、多层架构(Multi-tier Architecture)、微服务(Microservices)等,并分析它们各自的优缺点,帮助读者根据项目特点选择最合适的架构。 模块化设计是系统设计的核心原则之一。我们将深入理解如何将复杂的系统分解为更小、更易于管理和维护的模块。这涉及到接口设计、模块间的耦合(coupling)与内聚(cohesion)的平衡,以及如何确保模块的独立性和可重用性。良好的模块化设计可以显著提高开发效率,降低维护成本,并促进团队协作。 数据设计是系统设计中不可或缺的一部分。我们将学习如何进行概念数据建模(Conceptual Data Modeling)、逻辑数据建模(Logical Data Modeling)和物理数据建模(Physical Data Modeling)。重点将放在关系数据库设计上,包括实体-关系模型(Entity-Relationship Models)、规范化(Normalization)以及如何设计高效的数据库模式(Schema)。数据完整性(Data Integrity)和数据安全性(Data Security)将是数据设计过程中重点关注的方面。 用户界面(User Interface, UI)和用户体验(User Experience, UX)设计也是系统设计的重要组成部分。我们将探讨如何设计直观、易用且符合用户习惯的界面。这包括信息架构(Information Architecture)、导航设计(Navigation Design)、交互设计(Interaction Design)以及视觉设计(Visual Design)。一个优秀的UI/UX设计能够极大地提升用户满意度和系统的可用性。 第三章:将蓝图化为现实——系统实现与开发 设计完成后,便是将蓝图付诸实践的实现阶段。本章将关注系统实现过程中关键的活动和考虑因素。我们将探讨不同的软件开发方法论,如瀑布模型(Waterfall Model)、敏捷开发(Agile Development)中的Scrum和Kanban等,并分析它们在不同项目场景下的适用性。理解这些方法论的流程、原则和实践,能够帮助团队更有效地组织和管理开发过程。 编码实践是实现阶段的核心。我们将强调编写高质量、可读性强、易于维护的代码的重要性。这包括遵循编码规范、使用有意义的命名、编写清晰的注释以及进行代码重构(Refactoring)。代码审查(Code Review)作为一种重要的质量保证手段,将被详细介绍,它能够帮助发现潜在的缺陷,提升代码质量,并促进团队知识的共享。 版本控制系统(Version Control Systems),如Git,是现代软件开发不可或缺的工具。我们将了解如何有效地使用版本控制来管理代码变更、协作开发以及回滚到先前的版本。这对于多团队协作和保持代码库的稳定性至关重要。 同时,我们将关注集成(Integration)和单元测试(Unit Testing)。单元测试是在模块级别验证代码功能的最小单位,而集成测试则是在模块组合后验证它们之间交互的正确性。早期和持续的测试是确保软件质量的关键。 第四章:确保系统可靠——测试与质量保证 软件质量是用户满意度和系统成功的决定性因素。本章将深入探讨测试策略和质量保证(Quality Assurance, QA)活动。我们将从不同层次的测试类型展开,包括单元测试(Unit Testing)、集成测试(Integration Testing)、系统测试(System Testing)和验收测试(Acceptance Testing)。每种测试都有其特定的目的和测试方法。 我们将详细介绍各种测试技术,如黑盒测试(Black-box Testing)和白盒测试(White-box Testing)。黑盒测试侧重于验证系统的功能是否符合规格说明,而白盒测试则深入到代码内部,检查代码逻辑的正确性。性能测试(Performance Testing)、安全测试(Security Testing)和可用性测试(Usability Testing)等非功能性测试也将被重点讨论,以确保系统在各种环境下都能稳定、安全、高效地运行。 自动化测试(Automated Testing)在现代软件开发中扮演着越来越重要的角色。我们将探讨如何利用自动化测试工具来提高测试效率,缩短测试周期,并实现持续集成和持续交付(CI/CD)。 质量保证不仅仅是测试,它是一个贯穿整个开发生命周期的过程。本章还将涵盖缺陷管理(Defect Management)流程,包括缺陷的报告、跟踪、分析和修复。过程改进(Process Improvement)也是QA的重要组成部分,通过分析项目中的问题并采取措施加以改进,可以不断提升团队的开发能力和软件质量。 第五章:系统的生命周期管理——部署、维护与演进 一个系统一旦开发完成并部署上线,其生命周期管理才刚刚开始。本章将聚焦于系统上线后的关键活动。我们将讨论部署(Deployment)策略,包括如何将系统安全、高效地推送到生产环境。这可能涉及到服务器配置、数据库迁移、网络设置以及用户培训等。 系统的维护(Maintenance)是确保其长期稳定运行的重要环节。我们将分析不同类型的维护活动,如纠错性维护(Corrective Maintenance)以修复缺陷,适应性维护(Adaptive Maintenance)以适应外部环境的变化(如操作系统升级),以及完善性维护(Perfective Maintenance)以改进系统性能和功能。 随着业务需求的变化和技术的发展,系统需要不断地演进(Evolution)。本章将探讨如何进行系统的升级和重构(Refactoring),以及如何管理技术债务(Technical Debt)。一个良好的系统演进策略能够确保系统始终保持竞争力,满足不断变化的业务需求。 最后,我们将讨论系统的退役(Decommissioning)过程。当一个系统不再需要或已被更先进的系统取代时,如何安全、有序地将其从生产环境中移除,并妥善处理相关数据,也是系统生命周期管理的一部分。 总结 本书所阐述的系统分析与设计智慧,并非孤立的理论知识,而是贯穿于信息系统开发整个生命周期的实践指南。从对业务需求的深入洞察,到对系统架构的精妙设计,再到对系统实现的严谨把控,以及对系统质量的孜孜追求,每一个环节都息息相关,共同构成了构建成功的数字解决方案的完整链条。掌握这些原则和技术,将帮助您更好地理解、创建和管理复杂的系统,为您的项目注入智慧,驱动创新,并最终交付出稳定、高效、满足用户期望的优秀产品。

用户评价

评分

这本号称是“计算机科学丛书”的读物,真是让我大开眼界,不过不是因为内容有多么高深莫测,而是其行文风格的奇特。我原以为系统分析与设计这门学科会深入探讨需求工程的复杂性,或者至少在架构选择上能提供一些前沿的视角。然而,这本书给我的感觉,更像是一本五十年前的教科书披上了现代的皮。它花了大量的篇幅去阐述一些基础概念,比如流程图和数据流图,这些内容在如今的敏捷开发和DevOps实践中,已经退居次要地位了。我期待看到关于微服务治理、云原生设计原则,或者至少是UML在复杂企业级应用中的实战应用,但翻遍了前几章,只看到了大量对瀑布模型的执着歌颂,以及对结构化分析的过度迷恋。阅读体验是相当的枯燥,作者似乎完全沉浸在自己的理论世界里,缺乏与当代软件工程实践的对话。它更像是一份详尽的、但已经过时的理论备忘录,而非一本指导现代系统构建的实用指南。对于想了解当前行业主流实践的读者来说,这本书提供的价值非常有限,更像是历史资料的陈列馆,而非指引未来的灯塔。

评分

最让我感到恼火的是,作为一本号称是“原书第9版”的更新版本,它在技术时效性上做得极其失败。在软件工程领域,知识的半衰期越来越短。我期待看到至少对近十年间新兴技术栈的适应性分析,比如如何分析和设计基于API网关的系统,或者如何在高并发场景下应用领域驱动设计(DDD)的概念。然而,这本书的例子和术语几乎完全停留在客户端-服务器架构的黄金时代。当你提到“数据库范式优化”时,它似乎没有意识到现代应用更多地依赖于缓存策略和NoSQL的最终一致性模型。阅读过程需要我不断地进行“心理翻译”,将书中的过时概念映射到我实际需要使用的现代技术堆栈上,这极大地消耗了我的注意力和学习效率。买一本新版本的书,我期望看到的是面向未来的洞察,而不是对过往辉煌的冗长回顾,这一点上,这本书完全令人失望。

评分

我购买这本书的初衷,是希望能够系统地梳理一下如何将商业目标转化为可执行的技术规范。我特别关注了关于系统分解和模块化设计的章节,期待能从中汲取如何在高耦合系统中寻找解耦的智慧。遗憾的是,这本书对“设计”本身的探讨显得异常肤浅。它似乎认为,只要遵循了几个固定的步骤,系统设计自然水到渠成。对于如何处理跨系统的集成挑战、如何权衡性能与可维护性之间的矛盾,书中的论述蜻蜓点水,几乎没有提供任何可供参考的案例研究或决策框架。更让人不解的是,它对非功能性需求的优先级排序和量化处理几乎是避而不谈,这在当今这个对用户体验和系统弹性要求极高的时代,简直是不可想象的疏忽。总而言之,这本书在“设计”层面缺乏深度,停留在工具和流程的表面介绍,未能触及真正工程决策的核心。

评分

说实话,这本书的排版和语言组织简直是一场灾难。我得承认,我试图从中寻找一些关于如何进行有效的利益相关者访谈的技巧,或者如何利用最新的建模语言来捕捉非功能性需求。结果呢?我得到的是一堆晦涩难懂的术语堆砌,仿佛作者急于展示自己学识的渊博,却完全忘记了读者是需要学习和实践的工程师。很多章节的逻辑跳跃性极大,一个概念刚抛出来,还没等我消化,马上又转向了另一个看似毫不相关的领域。特别是涉及到系统建模的那部分,图表的质量粗糙得令人发指,有些箭头指向哪里都让人摸不着头脑,这对于一个讲究精确性的分析设计书籍来说,简直是本末倒置。我不得不频繁地停下来,查阅外部资料来厘清作者在这里到底想表达什么。如果说学习系统分析设计是为了构建清晰的蓝图,那么这本书本身就像是一张被墨水晕染开来的草稿,根本无法提供任何可操作性的指导。

评分

这本书给我的感觉是,它非常“西化”,而且是那种老派的、脱离了全球化软件开发现实的西化。我正在参与一个跨时区的敏捷团队,需要一套能够灵活适应不同文化背景和项目节奏的方法论。这本书中描述的分析与设计过程,充满了冗长、线性的会议和文档审批流程,这在快速迭代的现代环境中根本无法实现。我希望能找到一些关于如何将精益原则融入到需求分析中,或者如何利用自动化工具来验证设计模型的内容,但这些在书中都是真空地带。作者似乎默认所有项目都是在一个理想的、资源充足的、瀑布式管理的象牙塔内进行的。这种刻板的、不切实际的场景设定,使得我读完后,非但没有获得解决当下工作难题的思路,反而产生了一种强烈的“这本书与我无关”的疏离感。它更像是为学术研究而不是为工程实践而写的。

评分

这本书内容不错,

评分

程序员向分析员迈进,进阶读物,值得一读

评分

很给力,很便宜,速度快

评分

不错就是等的时间太长了…………

评分

未看

评分

程序员向分析员迈进,进阶读物,值得一读

评分

这本书内容不错,

评分

程序员向分析员迈进,进阶读物,值得一读

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有