欢迎来到系统开发的世界!

你是否曾经好奇过 Instagram 这种大型应用程序,或是航空公司复杂的订位系统究竟是如何建构出来的呢?其实,这不仅仅是坐下来写程序那么简单。开发系统就像建造摩天大楼一样:你需要周详的规划、合适的建材,还要清楚了解谁会使用这栋大楼。

在这些笔记中,我们将探讨课程大纲中的主题 4(信息科技系统)主题 10(网页设计)。我们将学习如何将大型难题拆解成小部分,并设计出真正“切合用途”(fit for purpose) 的系统。

1. 信息科技系统由什么组成?

在开发系统之前,我们必须先了解我们处理的对象。一个信息科技系统 (IT System) 不仅仅是一台电脑,它是四个关键要素的结合:

  • 硬件 (Hardware): 实体部件(服务器、平板电脑、电缆)。
  • 软件 (Software): 指示硬件运作的程序和操作系统。
  • 程序 (Processes): 为达成目标而遵循的规则或步骤(例如:重设密码的步骤)。
  • 人员 (People): 与系统互动的使用者,以及负责维护系统的工作人员。

比喻:想象一家餐厅。厨房和餐桌是硬件,食谱是软件,侍应生接单的方式是程序,而厨师和饥肠辘辘的顾客则是人员。餐厅要运作,这四者缺一不可!

系统分解 (Decomposition)

大型系统往往既复杂又令人望而生畏。为了管理这种复杂性,开发人员会使用分解 (decomposition)。这意味着将大型系统拆解成更小、更易于管理的子系统 (sub-systems)

快速复习: 为什么要进行分解?
1. 它让问题变得更容易理解。
2. 不同的团队可以同时处理不同的部分。
3. 测试和修复小部分比处理一个庞然大物要容易得多。

重点总结:

信息科技系统是硬件、软件、程序和人员的集合。将其分解(分解法)能让开发过程更顺畅。

2. 设计工具:流程图与数据流图 (DFD)

开发人员会在动手开发前使用“蓝图”来展示系统运作方式。其中最重要的两种工具是流程图 (Flowcharts)数据流图 (Dataflow Diagrams)

流程图(展示“如何”运作)

流程图用来展示过程中的逻辑和逐步决策。它侧重于行动的先后顺序
范例:登录页面的流程图会显示:输入用户名 -> 密码正确吗? -> 若是,前往首页;若否,显示错误信息。

数据流图(展示“什么”在流动)

数据流图 (DFD) 展示了数据如何在系统中流动。它不关注步骤的先后顺序,而是关注信息从哪里来、流向何处,以及储存在哪里。

避免常见错误: 千万别搞混这两者!
- 使用流程图来展示决策(是/否路径)。
- 使用数据流图 (DFD)来展示数据移动(例如:客户的订单从表格移动到数据库)。

重点总结:

流程图展示逻辑与步骤;数据流图展示信息如何在系统中传输。

3. 设计网页产品

在进行网页开发时,我们遵循特定的设计流程,以确保使用者有良好的体验。别担心步骤看起来很多——这只不过是将想法转化为成品的过程而已。

设计旅程:

  1. 线框图 (Wireframes): 简单的草图,用于展示布局 (layout)。没有颜色或图片,只有框框来标示位置。(可以把它想成骨架。
  2. 模型图 (Mock-ups): 更详细的视觉设计。包括颜色、字型和图片。看起来就像最终网站,但还无法“运作”。(可以把它想成皮肤。
  3. 网页设计风格指南 (Web-design Style Guide): 一份文件,列出具体的颜色(十六进制代码)、字型和按钮样式,以确保设计的一致性
  4. 原型 (Prototyping): 设计的互动版本。你可以点击按钮,查看页面之间如何链接。

你知道吗? 使用风格指南可以确保即使有十个人同时参与网站开发,网站看起来依然像是出自同一人之手!

重点总结:

网页设计从布局(线框图)到视觉(模型图),最后到可运作的模型(原型)。

4. 切合用途与效能

一旦系统设计或开发完成,我们必须进行评估。最重要的问题是:它是否“切合用途”(fit for purpose)

切合用途是指系统完全符合使用者的需求,并满足所有原始规格要求。

衡量效能

要了解系统效能是否良好,我们会观察:

  • 速度 (Speed): 处理器处理任务的速度有多快?
  • 容量 (Capacity): 储存装置能存放多少数据?
  • 带宽 (Bandwidth): 网络在同一时间内能传输多少数据?
  • 能源效率 (Power Efficiency): 是否耗电过快?(这对移动设备特别重要!)

开发中的数学应用

有时你需要计算系统处理任务的能力。例如,计算传送文件所需的时间:

\( \text{时间} = \frac{\text{文件大小}}{\text{传输速率}} \)

记忆小贴士:请记住,在信息科技中(IEC 单位),一个千位字节 (Kibibyte, KiB) 等于 \( 2^{10} \) (1024) 字节,而不是 1000!

重点总结:

只有当系统“切合用途”时,它才是成功的——这意味着它能满足使用者的需求,并达成速度与容量等效能指标。

最终总结清单

考试前,请确认你能够:
- [ ] 列出信息科技系统的四个组成部分(硬件、软件、程序、人员)。
- [ ] 解释为什么分解法 (decomposition) 很有用。
- [ ] 分辨流程图数据流图 (DFD) 的区别。
- [ ] 描述线框图模型图的差异。
- [ ] 定义什么是切合用途 (fitness for purpose)

你能行的!系统开发不过是解决问题的循序渐进方法。只要一步一个“子系统”来处理就好!