前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】软考高级-架构设计师 042-信息系统的开发方法

【愚公系列】软考高级-架构设计师 042-信息系统的开发方法

原创
作者头像
愚公搬代码
发布2024-06-24 08:22:10
2790
发布2024-06-24 08:22:10
举报

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

信息系统的开发方法是指在信息系统开发过程中,按照一定的步骤和规范,采用特定的技术和工具进行系统的分析、设计、实施和维护的方法论。不同的开发方法适用于不同的项目特点、需求和约束条件。常见的信息系统开发方法包括但不限于以下几种:

  1. 瀑布模型(Waterfall Model):按照线性顺序依次完成需求分析、系统设计、编码、测试和维护等阶段,每个阶段的输出是下一阶段的输入。
  2. 原型模型(Prototype Model):通过迭代开发多个原型,让用户参与不断完善系统需求和功能,适用于需求不明确或变化频繁的项目。
  3. 增量模型(Incremental Model):将系统划分为多个部分,逐步开发和交付,每个增量都是一个完整的子系统,有利于逐步改进和扩展。
  4. 螺旋模型(Spiral Model):结合风险管理的概念,通过多个迭代的螺旋周期完成系统开发,每个周期包括风险分析、计划和评审等步骤。
  5. 敏捷开发(Agile Development):强调快速响应变化、持续交付和团队协作,通过短周期迭代、交付可工作软件来满足用户需求。
  6. 融合开发方法(Hybrid Development Methodologies):结合多种开发方法的优点,根据项目特点和需求选择合适的方法进行开发。

不同的开发方法适用于不同的项目需求和环境,选用合适的开发方法可以提高开发效率、降低风险,确保信息系统的质量和成功交付。

🚀一、信息系统的开发方法

🔎1.结构化方法

结构化方法是一种传统的信息系统开发方法,通过将软件开发过程划分为若干个阶段和步骤,每个阶段有明确的输入和输出,以及采用特定的技术或表示方式来描述各个阶段的工作成果。结构化方法主要由结构化分析(SA)、结构化设计(SD)、结构化程序设计(SP)三部分有机组合而成,其核心理念是自顶向下、逐步求精和模块化设计。

🦋1.1 结构化方法的主要阶段

  1. 需求分析阶段
    • 与用户沟通,明确软件需求和业务流程,绘制需求模型图。
  2. 概要设计阶段
    • 根据需求,设计软件的总体结构和模块,并描绘系统结构图。
  3. 详细设计阶段
    • 对各个模块进行详细的接口设计、数据库设计、业务逻辑设计,绘制详细设计图。
  4. 编码实现阶段
    • 根据详细设计文档,选择编程语言编写程序代码。
  5. 测试阶段
    • 对编写的代码进行测试,确保软件符合需求。
  6. 部署阶段
    • 将测试通过的代码安装部署到服务器,推向产品环境。

🦋1.2 结构化方法的主要特点

  1. 开发目标清晰化
    • 遵循“用户第一”的原则,确保开发目标清晰明确。
  2. 开发工作阶段化
    • 每个阶段工作完成后进行审查,使各阶段工作有序进行,便于项目管理与控制。
  3. 开发文档规范化
    • 每个阶段完成后,按要求完成相应的文档,以确保各个工作阶段的衔接和系统维护的便利。
  4. 设计方法结构化
    • 自顶向下地分解系统分析与设计,在系统实现时逐步实现整个系统,保持设计的结构化和模块化。

🦋1.3 结构化方法的不足和局限

  1. 开发周期长
    • 结构化方法按顺序经历各个阶段,直到实施阶段结束后,用户才能使用系统,导致开发周期较长,无法快速响应市场需求。
  2. 难以适应需求变化
    • 结构化方法的每个阶段都有明确的输入和输出,不适用于需求不明确或经常变更的项目,难以灵活应对需求变化。
  3. 很少考虑数据结构
    • 结构化方法是一种面向数据流的开发方法,较少考虑数据结构的设计,可能导致系统在处理复杂数据结构时效率低下或功能受限。

结构化方法一般利用图形表达用户需求,常用工具有数据流图、数据字典、结构化语言、判定表以及判定树等

🔎2.原型化方法

原型化方法,也称为快速原型法,是一种系统开发方法,旨在根据用户初步需求,利用系统开发工具快速建立一个系统模型,以展示给用户,并与用户交流,最终实现用户需求的信息系统快速开发。这种方法有以下分类和特点:

  1. 按是否实现功能分类
    • 水平原型(行为原型,功能的导航):主要用于展示系统的导航和流程,强调系统的整体布局和交互方式。
    • 垂直原型(结构化原型,实现了部分功能):重点展示系统的特定功能或模块,通常用于验证某些关键功能的可行性或效果。
  2. 按最终结果分类
    • 抛弃式原型:开发过程中的原型被视为临时的,不会被用于最终产品,主要用于收集反馈和验证概念。
    • 演化式原型:原型逐步演化成最终产品,通过不断迭代和完善,最终成为实际的系统产品。
  3. 优点
    • 缩短系统开发周期。
    • 降低成本和风险。
    • 加快开发速度。
    • 提高综合开发效益。
    • 提高用户满意度,因为系统开发以用户为中心,用户参与程度高,系统符合用户需求,成功率提高。
    • 有利于系统移交、运行与维护,因用户参与系统开发全过程,易于理解和接受系统功能和结构。
  4. 不足之处
    • 要求开发环境和管理水平高。
    • 适用于需求不明确的系统开发,对于分析层面难度大、技术层面难度不大的系统更为适用。

🔎3.面向对象的方法

面向对象方法认为,客观世界是由各种对象组成的,每一个事物都是对象,具有自己的运动规律和内部状态,属于某个对象类的一个元素。系统由不同对象的组合和相互作用构成,具有以下特点:

  1. 复用性:面向对象方法构造的系统具有更好的复用性,关键在于建立一个全面、合理、统一的模型。这种方法允许对象在不同的上下文中被重用,提高了系统开发效率和质量。
  2. 阶段划分:面向对象方法也有阶段划分,但系统分析、系统设计和系统实现三个阶段之间已经没有明确的“缝隙”。工作可以在不同阶段交叉进行,而且前一个阶段工作的不足可以在后一个阶段进行补充。
  3. 普适性:面向对象方法可以广泛适用于各类信息系统的开发,不受特定领域或应用的限制,具有灵活性和通用性。
  4. 不足之处:面向对象方法必须依赖于相应的面向对象技术支持,在大型项目的开发中存在一定局限性,且无法涉足系统分析之前的开发环节。

一些大型信息系统的开发通常会将结构化方法和面向对象方法结合起来使用。首先,使用结构化方法进行自顶向下的整体划分,然后采用面向对象方法进行自底向上的开发。因此,结构化方法和面向对象方法在系统开发领域中相互依存,都是不可替代的方法。

🔎4.面向服务的方法

面向服务的方法(Service Oriented Architecture,简称SOA)是一种将接口的定义与实现进行解耦的开发方法,它引入了服务和面向服务的概念。

举例来说,面向服务的开发方法类似于日常生活中使用的各种服务。比如,订外卖时我们可以选择使用美团外卖、饿了么等应用,它们都提供了外卖订餐服务,这些应用调用了餐馆提供的“外卖服务”。又如,叫车时我们可以选择使用滴滴、微信打车等应用,它们调用了出租车公司提供的“叫车服务”。餐馆和出租车公司将自己的服务以标准接口的形式对外提供,各种应用可以灵活调用这些服务。如果餐馆或者出租车公司要改进服务流程,对外部调用者没有影响,因为服务接口没有变化。这就实现了服务提供者和服务调用者的松耦合。服务调用者只关心服务接口,不关心服务的内部实现。

面向服务开发的思想是将系统分割成不同的服务,每个服务完成一项业务功能,服务之间通过开放接口进行交互。这样可以提高服务的重用性和系统的灵活性。例如,新增业务时可以调用已有服务,无需从头开发。

从应用的角度来看,组织内部和组织之间各种应用系统的互相通信和互操作性直接影响着组织对信息的掌握程度和处理速度。如何使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而SOA的思维方式恰好满足了这种需求。


我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、信息系统的开发方法
    • 🔎1.结构化方法
      • 🦋1.1 结构化方法的主要阶段
      • 🦋1.2 结构化方法的主要特点
      • 🦋1.3 结构化方法的不足和局限
    • 🔎2.原型化方法
      • 🔎3.面向对象的方法
        • 🔎4.面向服务的方法
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档