Management Information Systems: Managing the Digital Firm
第 13 章 构建信息系统 (Building Information Systems)
13-1 🏗️ 构建新系统如何引发组织变革? (How does building new systems produce organizational change?)
构建一个新的信息系统不仅仅是引入新的硬件和软件,它是一种有计划的组织变革,会涉及到工作、技能、管理和组织结构的改变。
系统开发与组织变革
信息技术可以推动四种不同程度的结构性组织变革,每种变革都伴随着不同的风险和回报:
- 自动化 (Automation)
- 定义:这是最常见的 IT 驱动的组织变革形式,指利用技术协助员工更高效地完成任务。
- 风险与回报:风险最低,回报也相对有限。
- 程序合理化 (Rationalization of Procedures)
- 定义:对标准操作流程进行精简。自动化常常会暴露出现有流程的瓶颈,从而推动合理化。
- 关联概念:常与全面质量管理 (TQM) 和六西格玛 (Six Sigma) 等持续质量改进计划相关。
- 业务流程再造 (Business Process Redesign)
- 定义:对业务流程进行分析、简化和重新设计。它比程序合理化更为宏大,通常会重组工作流程,以减少浪费和消除重复性任务。
- 风险与回报:风险和回报都较高。
- 范式转移 (Paradigm Shifts)
- 定义:这是一种更激进的业务变革,涉及到对业务性质和组织性质的重新思考。
- 风险与回报:风险最高,但潜在回报也最大。
业务流程管理 (BPM)
BPM 提供了一系列工具和方法论来分析、设计和优化流程,它是一个持续改进的循环过程。主要步骤包括:
- 识别需要变革的流程:确定哪些业务流程对公司绩效最重要,以及如何改进它们。
- 分析现有流程:对现有流程进行建模和记录,找出冗余步骤、瓶颈和其他低效环节。
- 设计新流程:设计一个精简的“未来”流程,并与旧流程进行比较。
- 实施新流程:将新流程转化为新的程序和工作规则,并部署支持性的信息系统。
- 持续衡量:在新流程实施后,需要持续对其进行衡量,以防止其退化或因业务变化而失效。
13-2 📝 系统开发过程中的核心活动是什么? (What are the core activities in the systems development process?)
系统开发 (Systems Development) 是指为解决组织问题或抓住机遇而产生信息系统解决方案的一系列活动。它是一个结构化的问题解决过程,包含六项核心活动:
- 系统分析 (Systems Analysis)
- 任务:分析公司试图用信息系统解决的问题。包括定义问题、确定原因、指定解决方案和明确信息需求。
- 产出:通常会进行可行性研究 (feasibility study),从财务、技术和组织角度评估解决方案的可行性,并最终形成一份书面的系统建议报告。
- 系统设计 (Systems Design)
- 任务:展示系统将如何实现系统分析阶段确定的目标。它是系统的总体规划或模型,包含赋予系统形式和结构的所有规范。
- 重点:详细说明能够实现功能的系统技术规格,并解决所有管理、组织和技术方面的问题。
- 编程 (Programming)
- 任务:将系统设计阶段准备的规格说明转化为软件程序代码。
- 趋势:如今,许多组织不再自行编程,而是从外部购买软件包或服务。
- 测试 (Testing)
- 任务:进行详尽的测试,以确定系统是否能产生正确的结果。测试活动包括:
- 单元测试 (Unit Testing):单独测试系统中的每个程序。
- 系统测试 (System Testing):测试整个信息系统的功能,确保各个模块能协同工作。
- 验收测试 (Acceptance Testing):提供系统已准备好在生产环境中使用的最终认证。
- 任务:进行详尽的测试,以确定系统是否能产生正确的结果。测试活动包括:
- 转换 (Conversion)
- 任务:从旧系统切换到新系统的过程。
- 四种主要策略:
- 并行策略 (Parallel Strategy):新旧系统同时运行一段时间,最安全但成本最高。
- 直接切换策略 (Direct Cutover Strategy):在指定日期完全用新系统取代旧系统,风险最大。
- 试点研究策略 (Pilot Study Strategy):先在组织的有限区域内引入新系统。
- 分阶段方法策略 (Phased Approach Strategy):分阶段引入新系统,可以按功能或组织单位划分。
- 生产与维护 (Production and Maintenance)
- 生产:系统安装并转换完成后,即进入生产阶段。此时会对系统进行审查,看其是否达到预期目标。
- 维护 (Maintenance):对生产中的系统进行修改,以纠正错误、满足新要求或提高处理效率。
13-3 📐 建模和设计系统的主要方法论是什么? (What are the principal methodologies for modeling and designing systems?)
- 结构化方法论 (Structured Methodologies)
- 特征:这是一种自上而下、循序渐进的方法,主要关注对流程的建模。它将数据和流程分开处理。
- 主要工具:
- 数据流图 (Data Flow Diagram, DFD):用于表示系统组件流程以及它们之间数据流的逻辑图形模型。
- 结构图 (Structure Chart):一种自上而下的图表,显示设计的每个层级及其在整体设计结构中的位置。
- 面向对象开发 (Object-Oriented Development)
- 特征:使用对象 (object) 作为系统分析和设计的基本单位。一个对象捆绑了数据和操作这些数据的特定流程。
- 核心概念:
- 类 (Class):相似对象的通用类别。
- 继承 (Inheritance):子类可以继承其超类的所有结构和行为。
- 优势:由于对象是可重用的,面向对象开发可以减少编写软件的时间和成本。
13-4 🛠️ 构建信息系统的替代方法有哪些? (What are alternative methods for building information systems?)
除了传统方法,还有多种构建系统的替代方法。
- 传统系统生命周期 (Traditional Systems Life Cycle)
- 特征:这是构建信息系统最古老的方法,它将系统开发划分为正式的阶段,采用“瀑布式”方法,即一个阶段完成后才能开始下一个阶段。
- 适用场景:适用于需要严格需求分析和紧密控制的大型复杂项目。
- 缺点:成本高、耗时长、缺乏灵活性。
- 原型法 (Prototyping)
- 定义:为最终用户快速、廉价地构建一个实验性系统以供评估。通过与原型 (prototype) 交互,用户可以更好地了解自己的信息需求。
- 过程:这是一个迭代 (iterative) 的过程,包括四个步骤:识别基本需求 -> 开发初始原型 -> 使用原型 -> 修改和增强原型,直到用户满意为止。
- 优缺点:优点是能更好地满足用户需求;缺点是可能忽略系统开发中的必要步骤,如全面的测试和文档编制。
- 应用软件包和云软件服务 (SaaS)
- 方法:企业可以从商业软件供应商处购买预先编写好的应用软件包,或从在线软件服务提供商处租用软件服务 (SaaS)。
- 优势:如果软件包能满足大部分需求,公司可以节省自己编写软件的时间和金钱。
- 挑战:如果需要大量定制 (customization),成本和时间优势可能会丧失。组织需要调整其业务流程以适应软件包。
- 外包 (Outsourcing)
- 定义:将系统构建或运营工作委托给专门提供这些服务的外部组织。
- 类型:可以是国内外包,也可以是成本驱动的离岸外包 (offshore outsourcing)。
- 风险:公司可能会失去对其信息系统的控制,并对外部供应商产生过度依赖。外包还存在许多隐藏成本,如供应商选择、过渡、文化差异和合同管理等。
13-5 🚀 数字企业时代的系统构建新方法 (What are new approaches for system building in the digital firm era?)
为了适应快速变化的技术和商业环境,公司正在采用更短、更非正式的开发流程。
- 快速应用开发 (Rapid Application Development, RAD)
- 定义:在非常短的时间内创建可用系统的过程。RAD 使用可视化编程、迭代原型法和紧密的团队合作。
- 联合应用设计 (Joint Application Design, JAD):一种加速信息需求生成的技术,它将最终用户和信息系统专家聚集在一起进行交互式会议。
- 敏捷开发 (Agile Development)
- 核心:通过将大项目分解为一系列在短时间内完成的小型子项目(称为冲刺 Sprints),来快速交付可工作的软件。
- 特点:强调迭代、持续反馈、持续的用户参与、面对面沟通以及对变化的灵活响应。测试在整个开发过程中持续进行。
- DevOps
- 定义:DevOps 代表“开发 (Development)”和“运营 (Operations)”,是一种强调软件开发人员和 IT 运营人员之间密切协作的组织策略。
- 目标:通过促进沟通和协作,在整个应用开发生命周期中创建快速、稳定的工作流。
- 低代码和无代码开发
- 低代码开发 (Low-code development):通过图形界面中的可视化建模来组装和配置应用程序,从而以最少的手工编码更快地交付应用。
- 无代码开发 (No-code development):非 IT 业务人员更容易使用,无需任何编码。但功能通常有限,难以定制。
- 移动应用开发
- 类型:包括移动网站、移动 Web 应用和原生应用 (Native App)。
- 响应式 Web 设计 (Responsive Web Design):使网站能够根据访问者的屏幕分辨率(无论是桌面、平板还是智能手机)自动更改布局,从而无需为每种设备进行单独的设计和开发工作。
13-6 💼 MIS 如何助力我的职业生涯 (How will MIS help my career?)
学习 MIS 对于希望成为初级业务系统分析师等角色的求职者非常有价值。
- 掌握系统开发生命周期:MIS 提供了对软件开发生命周期各个阶段(从需求定义到系统实现)的深入理解,这是业务系统分析师的核心知识。
- 业务流程改进能力:职位要求对业务流程改进有深刻理解,这是 MIS 课程的重点之一。
- 项目团队经验:MIS 课程中的项目通常以团队形式进行,为在团队环境中舒适地工作提供了宝贵的经验。
- 技术与沟通的桥梁:业务系统分析师需要在业务用户和开发人员之间进行沟通。MIS 专业培养了这种既懂技术又懂业务的综合能力。
- 熟练使用分析工具:对 MS Office 应用(尤其是 Excel 和 Access)的熟练掌握以及对 SQL 的了解,是进行数据分析和需求文档编写的基础。
- 展现分析与写作能力:在求职时,能够提供项目经验中撰写的分析报告或文档,是展示自身分析能力和沟通技巧的有力证明。