软件开发方法简介

如何选择一个合适的开发方法,以保证在多变的市场环境下,在既定的预算和时间要求范围内,开发出让用户满意的信息系统,是系统分析师必须要面对的问题。

面向对象方法使系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人员的交流与沟通,缩短开发周期,提供系统开发的正确性和效率。

模型驱动开发(MDD Model-Driven Development):一种新型软件设计方法——面向模型的分析设计方法,系统一开始我们就首先确立实体模型Entity Model,以及它们之间的关系,进而可以交由程序员分别实现表现层、业务服务层和持久层,通过使用Jdon Framework(以下简称JF)等模型驱动框架,结合FDD等模型驱动的工程方法,从而正确无误地、且快速高质量地完成一个软件开发过程。

面向构件的开发是一种软件开发手段,在开发周期的不同阶段和不同方面——包括需求分析、结构、设计、建立、测试、上线、支撑性技术架构、项目管理等,都以构件为基础。
该定义把面向构件开发的外延,从运用面向构件的思路建立软件,扩展到了整个软件开发周期——它的所有阶段和所有方面都以构件为中心。如果希望构件可随时用于组装,这些构件必须作为项目的零件来建造,此时面向构件显得特别有优势。确实,尽管这些构件尚未面世,用构件法来构思信息系统,仍是目前控制大型分布式系统开发复杂度的最佳方法。

面向服务方法以粗粒度、松散耦合的系统功能为核心,强调系统功能的标准化和构件化,加强了系统的灵活性、可复用性和可演化性。

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。

微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源可以提供给其它任务。
微服务应用程序的另一个好处是,它们更快且更容易更新。当开发者对一个传统的单体应用程序进行变更时,他们必须做详细的QA测试,以确保变更不会影响其他特性或功能。但有了微服务,开发者可以更新应用程序的单个组件,而不会影响其他的部分。测试微服务应用程序仍然是必需的,但它更容易识别和隔离问题,从而加快开发速度并支持DevOps和持续应用程序开发。
第三个好处是,微服务架构有助于新兴的云服务,如事件驱动计算。类似AWS Lambda这样的功能让开发人员能够编写代码处于休眠状态,直到应用程序事件触发。事件处理时才需要使用计算资源,而企业只需要为每次事件,而不是固定数目的计算实例支付。

你可能感兴趣的:(系统分析,系统架构)