组织中的系统
一个 计算系统 是一个动态实体,用于解决问题并与其环境交互。请注意术语如何与“计算机”一词分开使用。计算机是一种设备。因此,计算系统由硬件、软件以及它们管理的数据组成。计算机硬件 是构成机器及其相关部件的一组物理元素;外壳、电路板、电子芯片、电线、磁盘、键盘、显示器,不胜枚举。计算机软件 是程序的集合,这些程序提供了计算机可以执行的指令。在计算机系统的核心是管理它的信息。
您通常会将“安装”一词与从互联网下载的程序或应用程序(如右侧所示)联系起来。您通常会看到某种加载屏幕,指示安装进度,并且有各种各样的选项可以设置,以便充分利用应用程序。
可以将新系统视为类似于在您的计算机上安装程序,因为它被放置在一个新的环境中。但是,这两者不能混淆。安装计算机程序不同于安装新系统,因为后者是关于开发新系统,这是本节的重点,而不是仅仅解压缩文件以执行。
1.1.1 确定规划新系统的环境。
从最一般的意义上讲,组织是与环境或“环境”相联系的集体目标。因此,环境定义了组织的界限。当构建系统时,它们是由创建者的需求定义的,因此,系统不是独立的实体,而是存在于环境中。这种环境会影响系统的功能和性能。有时,环境可能被认为是一个系统本身,但更一般地说,它由许多相互作用的其他系统组成。
当规划新系统时,它通常是环境变化的结果。可能存在一个过时或陈旧的系统,随着技术的进步,一个更有效和动态的实体可能会取代这个系统。此类情况的一个例子是 80 年代后期和 90 年代初电子表格工具的开发。在本世纪初,列表、数据以及各种其他记录通过使用物理图表和表格来维护。如今,类似的记录可以通过使用桌面软件轻松制作,并通过这些新计算机系统的动态特性来维护和编辑。
多年来,名为 IPv4(互联网协议版本四)的互联网协议 (IP) 版本被用于创建并在全球万维网上构建网络层。网络已经迅速超过了 IPv4 设置的 32 位互联网寻址系统,因此为了解决这个问题并建立其他有用的工具(如组播),一个名为 IPv6 的新版本已经建立。IPv6 使用 128 位,并且已被接受为可行的 IP,因此现在正在进行从 IPv4 到 IPv6 的转换。预计 32 位地址将在 2026 年之前消失。
在引入新系统时,重要的是要牢记新系统的范围和局限性。考虑互联网向 IPv6 的过渡。虽然其优点包括更多 IP 地址、集成额外的安全功能(IPsec)以及为连接到互联网的每个唯一设备(包括服务器、笔记本电脑、手机或智能电表)提供足够的地址,但过渡也存在一些固有的局限性。首先,对于大型公司来说,切换到 IPv6 堆栈可能非常昂贵且耗时。此外,该流程需要对 IT 人员进行培训并更换大量过时的设备。截至 2014 年底,过渡仍在进行中。
1.1.2 描述变更管理的必要性。
摩尔定律 描述了技术的自然发展,它本质上表明新系统的自然发展。这些新系统将针对问题或替换旧系统而开发。在后者的例子中,这些新系统将需要从一个系统到另一个系统的流畅过渡,需要管理。这种管理将需要技术能力来监督这种过渡并在如何最好地实施它方面拥有发言权。
1.1.3 概述包括遗留系统或企业合并在内的情况导致的兼容性问题。
大量错误或不兼容性可能源于软件的过渡,而外部方或内部专家的洞察性知识可以减少新系统实施之间的摩擦。
传统系统是指被更新的技术取代的过时的计算机系统。这些系统有许多缺点。首先,维护旧系统的成本可能更高,因为随着时间的推移,系统可能更容易出现故障。其次,这些系统的技术支持可能不再可用。此外,由于缺乏安全更新,传统系统往往更容易受到安全威胁。
企业合并
企业合并是指两个或多个商业实体合并,通常是为了节省成本或扩展业务。在企业合并过程中,需要为所有实体采用一个通用的系统。整合的四种方式是
- 保留两个信息系统并开发它们以具有相同的功能(维护成本高)
- 用更新的通用解决方案替换两个信息系统(安装和培训员工使用的初始成本高)
- 保留每个组织的最佳信息系统(员工可能不熟悉使用其他实体的信息系统)
- 只保留一个系统(可能受组织政策限制)
当系统发生变化时,会产生影响。这些影响可能会影响日常使用系统的用户(本地),也可能会影响依赖该系统的其他人(国际)。在设计新系统时,开发人员必须考虑这种变化的影响。以早期的电子表格革命为例,开始使用该软件的人必须经历一个学习曲线。这是“兼容性问题”一词最基本、最根本的含义。如果他们不能使用它,他们就不能工作,或者不得不继续使用旧系统,只是看到它变得越来越过时。
如今,兼容性问题会产生更大的影响,尤其是在系统不可或缺的情况下。如果开发一个系统,却没有考虑到其他用户(甚至可能是第三方)依赖于它,那么它可能会遇到很多问题。回到电子表格的例子,如果一个组织开始使用电子表格软件来管理特定商品的订单,并且它开始与另一个使用老式笔和纸的组织合作,他们将难以合作。新系统没有考虑到仍然以这种方式管理订单的用户,并且不允许这些人轻松地转移详细信息。由于该软件不是定制的,而是普遍开发的,因此一些最终用户可能会发现难以使用新系统。虽然一个解决方案可能是提供全面且易于阅读的文档,以消除人们发现的模糊之处,但在某些情况下,数据可能无法在双方之间转移。
这是一个关于兼容性问题的极端例子,它说明了系统需要考虑其他系统、旧系统以及所有用户。其他典型例子包括 Web 应用程序 API、桌面软件更新和物理硬件升级(例如磁带到 CD)。
软件不兼容是指不同的软件实体或系统无法在同一台计算机上或在通过局域网或广域网连接的不同计算机上以令人满意、协作或独立的方式运行。
1.1.4 比较使用客户硬件实现系统和远程托管系统。
软件即服务 (SaaS;发音为 /sæs/[1]) 是一种软件许可和交付模式,其中软件以订阅方式获得许可并集中托管。[2][3] 它有时被称为“按需软件”。[4] 用户通常通过 Web 浏览器使用瘦客户端访问 SaaS。SaaS 已经成为许多商业应用程序的常见交付模式,包括办公和消息软件、工资处理软件、DBMS 软件、管理软件、CAD 软件、开发软件、游戏化、虚拟化、[4] 会计、协作、客户关系管理 (CRM)、管理信息系统 (MIS)、企业资源规划 (ERP)、开票、人力资源管理 (HRM)、人才招聘、内容管理 (CM)、防病毒软件和服务台管理。[5] SaaS 已被纳入几乎所有领先的企业软件公司的战略。
与必须手动更新的本地托管软件不同,SaaS 程序由供应商集中更新。此外,SaaS 对客户没有维护成本,并且减少了对服务器技术人员的需求。SaaS 通常不会排除(或能够考虑)旧系统。
另一方面,SaaS 停机时间不受客户控制。也许更重要的是,SaaS 会带来非常危险的安全问题。由于数据存储在远程位置,供应商可以完全访问所有客户数据。对于某些情况(例如医院或人权非政府组织),这种妥协是不可接受的(甚至是非法的,参见[1])。
描述网络传输连接的服务。[1] NaaS 通过将网络和计算资源视为一个统一的整体,优化资源分配。[2] 对于新企业主来说,这个概念很有吸引力,因为它可以节省他们在网络硬件和内部管理网络所需的员工方面的支出。从本质上说,网络变成了一个公用事业,像电力、水或热一样付费。由于网络是虚拟的,所有复杂性都隐藏在视图之外。NaaS 并不是一个新概念,但它的部署一直受到一些与其他云计算服务相同的担忧的阻碍,尤其是关于提供商保证高可用性 (HA) 的能力的问题。其他担忧包括处理服务级别协议 (SLA)、与数据主权相关的合规性问题以及供应商锁定可能性。
1.1.5 评估替代安装流程。
与现有系统一起实施的系统。这只能在更换时发生,而不能在初始实施时发生。
使用此方法,原始系统(传统系统)和新系统将在一段时间内同时运行。所有新数据将输入到新系统和旧系统中,并将新系统的结果和输出与旧系统进行比较,以确保新系统正常工作。一旦确定新系统按预期运行,旧系统将被关闭。这种方法最安全,漏洞最少,即使在最坏的情况下,新系统完全崩溃,也不会丢失任何数据。但是,这需要安装系统的人员和必须输入所有数据两次的员工付出大量的工作。
大爆炸/直接切换
在这种实施方法中,所有现有系统都将被退役或停用,并将被替换为新系统。这种方法风险很大,因为如果新系统失败,所有数据都会丢失。这种方法的另一个要求是,所有员工都需要在新系统安装之前接受培训。直接切换/实施或大爆炸实施是在最短的切换时间内立即安装新系统。这需要最少的工作量;但是,如果系统无法正常运行,可能会导致整个系统变得无用的严重问题。
这种方法是在完全实施新系统之前,先小规模试用新系统的方案。通常会选择组织中的一个部门作为试点项目。该部门随后将转换到新系统。如果第一个部门的实施成功,则组织的其余部门也将随之进行。对于大型公司来说,这是一种很好的方法,并且它相当安全,因为系统中的故障不会产生如此大的影响。完成它也相当便宜。
分阶段转换
[edit | edit source]分阶段转换或分阶段实施意味着系统在一定时间内分多个阶段/阶段实施。与直接实施相比,这使得它不太容易出现完全失败。分阶段转换需要很长时间才能到位,并且需要大量的工作
1.1.6 讨论数据迁移过程中可能出现的问题。
数据迁移
[edit | edit source]用户可能会遇到的一点问题是语言障碍。当使用软件时,翻译丢失肯定会带来弊端。不仅根据受众规模,在两种或多种语言之间进行翻译可能很昂贵,而且还存在一个更基本的与计算机相关的概念:字符编码。国际字符问题已从 1990 年代初期开始得到解决[1],并且不仅扩展到字符,还扩展到国际数据约定,例如 时区 和货币。但是,能够识别、解决和利用此类标准对于维护这方面的兼容性至关重要。扩展系统的受众或只是使其更加人性化始终应该是优先事项。
在数据迁移和兼容性问题方面,文件格式是另一个令人担忧的问题。在系统改进或更改后,能够以与以前相同的方式读取和写入数据几乎可以肯定地成为考虑的首要方面。
可以说,采用新的文件格式作为对旧系统的改进是必要的。在这种情况下,采用新的文件格式可能是合适的。但是,旧的数据结构不必被遗忘;例如,当你更新你喜欢的音乐播放器时,你仍然希望能够播放你保存的播放列表。正是这种期望和便利的想法推动了新软件的发展,解决文件格式不兼容问题的始终是优先事项。应该进行改进,但不要忽视过去。
此外,你应该注意数据验证规则中的差异。例如,一个为美国用户(使用 MM/DD/YY 格式)设计的程序,但在德国安装(使用 DD/MM/YY 格式)可能会拒绝“21/09/14”作为输入。
最后,必须注意需要进行完整的数据传输。如果在传输过程中某些磁盘出现故障,或者在转换过程中某些数据被损坏,客户可能会遭受严重的损失。
1.1.7 建议测试类型。
测试
[edit | edit source]测试是对计算机系统进行调查以查找缺陷、差异或错误。可以将各种类型的测试应用于开发过程的各个部分。
Alpha 测试
[edit | edit source]Alpha 测试包括向内部的其他开发人员提供程序的早期开发版本,并从他们那里收集有关改进产品的反馈。
Beta 测试
[edit | edit source]在 Alpha 测试之后,公司可以选择向选定的外部群体(封闭 Beta)或公众(公开 Beta)提供产品的版本,并期望用户提供反馈并将错误报告给开发人员。
虽然 Beta 测试允许个人在最终版本发布之前尝试软件,但这并不是一种系统的测试方法。公众的报告可能质量不高,并且可能会报告许多重复的错误。
干运行测试
是为了确保系统算法或逻辑中没有错误。由工程师在纸上进行。
单元测试
[edit | edit source]单元测试涉及对程序子模块进行的小型、独立的测试,这些测试通常可以自动化。这可能涉及回归测试或确保错误修复不会意外地破坏程序的其他部分的测试。
集成测试
所有组件都一起测试,以确保系统作为一个整体工作。
用户验收测试
[edit | edit source]在这种类型的测试中,产品会向一群客户展示,作为在发布到市场之前进行的最后检查。这为开发人员提供了重要信息,以便更好地了解目标受众。开发人员可以使用这种方法轻松地收集现实的反馈。
调试
[edit | edit source]调试是一个系统的过程,用于查找和纠正计算机程序中的错误(小错误)。重要的是要注意,有一些计算机程序可以自动测试其他程序。这使测试过程更快、更便宜。
用户重点
[edit | edit source]1.1.8 描述用户文档的重要性。
用户文档支持计算机系统用户,包括硬件和软件。良好的用户文档可以确保用户能够快速适应新系统。文档是软件工程的重要组成部分。文档类型包括
- 需求 - 识别系统属性、功能、特征或质量的陈述。这是所有实施的基础。
- 架构/设计 - 软件概述。包括与环境的关系以及在软件组件设计中要使用的构建原则。
- 技术 - 代码、算法、接口和 API 的文档。
- 最终用户 - 面向最终用户、系统管理员和支持人员的手册。
- 营销 - 如何营销产品以及市场需求分析
1.1.9 评估提供用户文档的不同方法。
用户文档可以包括联机帮助、网站上的常见问题解答部分和视频教程。
不同用户文档方法的比较
[edit | edit source]帮助文件易于用户访问,创建成本低廉。此外,用户不会丢失帮助文件,而打印手册可能会丢失。与在线文档相比,它不需要互联网连接即可正常运行。
在线文档需要互联网连接,这可能会限制用户的访问。但是,它通常更易于使用和搜索。此外,还可以选择在之后更新文档。
打印手册曾经是用户文档的主要方法,但现在它们正被数字手册取代,以降低生产成本并更环保。打印手册的优点是它们可以在任何时候访问,即使系统尚未安装,因此如果安装过程中出现问题,它们可以提供帮助。
1.1.10 评估不同的用户培训交付方法。
用户可以通过正规课程或在线培训来学习,也可以自学。
自学意味着用户自己学习如何使用系统。这种方法对于许多人使用的通用系统特别有效,这些系统不可能对所有用户进行个人培训。这种方法最简单;然而,它不是特别有效。它只有在程序易于使用且有适当的用户文档的情况下才会起作用。
现场培训要求您来到系统使用的地方,并亲自向用户展示。这可能是最有效的培训方式,因为用户可以直接提问,并且您可以确保系统适合当地情况。但是,由于差旅费用,这是一种最昂贵的培训类型。此外,对大型公司中的每位员工进行培训可能需要很长时间,并且一些员工可能在培训期间不在场。此外,如果培训是在员工正常工作时间以外进行的,他们可能会失去兴趣,不积极参与,并且不会提出问题的答案。
远程培训比现场培训更容易组织,这也使它便宜得多。但是,它可能没有现场培训有效。远程培训的优势在于它非常容易包含公司的新员工。
1.1.11 确定一系列数据丢失的原因。
- 意外删除
- 管理错误
- 数据存储组织系统不良
- 建筑火灾/自然灾害
- 在保存文件之前关闭程序
- 故障迹象出现后继续使用
- 数据损坏
- 固件损坏
- 外部删除/窃取数据
- 存储设备物理损坏
- 电源故障
1.1.12 在特定情况下概述数据丢失的后果。
任何情况下数据丢失都是不可取的,需要防止。它可能会造成严重的后果,例如从医院数据库中删除患者的病历。
1.1.13 描述可以用来防止数据丢失的一系列方法。
数据丢失可能由多种原因引起,例如自然灾害或其他外部因素、数据盗窃、恶意软件破坏或系统故障导致的损坏。然而,对数据的主要风险来自用户本身,他们可能会删除数据或以相同的文件名保存新文件,覆盖旧数据。
数据丢失对任何公司或组织来说都是一个巨大的问题;但是,在某些业务中,它比其他业务更致命。数据丢失对医疗业务的影响最为严重,因为患者的医疗记录有时意味着生死攸关。这就是为什么即使在今天,每位患者的数据仍然有纸质备份,以防计算机系统出现故障。其他高度依赖数据的业务包括通过计算机系统进行所有业务的互联网公司,例如网站托管提供商。如果这些提供商丢失数据,他们也可能会失去许多客户。
防止数据丢失的最重要方法是对存储在不同地理位置的所有重要数据进行定期备份。在线存储可以帮助防止数据丢失,因为用于商业在线存储的大型公司服务器不太可能出现故障。此外,此类公司通常会为您进行备份。问题在于,需要活动的互联网连接才能访问数据。在线存储的另一个问题是,如果信息存储在另一个国家,可能会违反数据保护法。如果您要通过未加密的互联网协议发送信息,您的信息隐私也可能处于危险之中。
1.1.14 描述管理发布和更新的策略。
没有完美的软件。复杂的软件,例如 Linux 内核或 Windows 网络堆栈,通常包含数百万行代码。因此,在发布后,操作系统关键部分中会出现错误和安全漏洞。因此,自动更新机制(例如 Linux 软件仓库或 Apple 的更新服务器)对于确保计算机系统的良好性能和安全性至关重要。