2022-10-02 08:50:31 星期日
软件开发
软件开发方法(⭐)
(1)结构化开发方法
用户至上,自顶向下,逐步分解(求解),严格区分工作阶段,每阶段有任务与成果,强调系统开发过程的整体性和全局性,系统开发过程工程化,文档资料标准化。
优点:
理论基础严密,它的指导思想是用户需求在系统建立之前就能被充分了解和理解。由此可见,结构化方法注重开发过程的整体性和全局性。
缺点:
开发周期长;文档、设计说明繁琐,工作效率低;要求在开发之初全面认识系统的信息需求,充分预料各种可能发生的变化,但这并不十分现实;若用户参与系统开发的积极性没有充分调动,造成系统交接过程不平稳,系统运行与维护管理难度加大。阶段固化,不善变化,适用于需求明确。
(2)原型法开发方法
适用于需求不明确的开发,按功能分-水平原型(界面)、垂直原型(复杂算法),按最终结果分-抛弃式原型、演化式原型。原型法的特点在于原型法对用户的需求是动态响应、逐步纳入的,系统分析、设计与实现都是随着对一个工作模型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。系统开发计划就是一个反复修改的过程。适于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,开发方法更宜被用户接受;但如果用户配合不好,盲目修改,就会拖延开发过程。抛弃型原型(Throw-It-Away Prototype),此类原型在系统真正实现以后就放弃不用了。进化型原型(Evolutionary Prototype),此类原型的构造从目标系统的一个或几个基本需求出发,通过修改和
追加功能的过程逐渐丰富,演化成最终系统。
(3)面向对象方法
最早来源于仿真领域,其特点是系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,
有利于系统开发过程中用户与开发人员的交流和沟通,缩短开发周期,提供系统开发的准确性和效率。具
有更好的复用性,关键在于建立一个全面、合理、统一的模型,分析、设计、实现三个阶段界限不明确。
用面向对象方法开发软件,通常需要建立三种形式的模型:对象模型(描述系统数据结构)、动态模型(描述系统控制结构)、功能模型(描述系统功能)。
对象模型
对象模型表示静态的、结构化的系统的“数据”性质。对象模型是对模拟客观世界实体的对象以及对象彼
此间的关系的映射,描述了系统的静态结构。
动态模型
动态模型表示瞬时的、行为化的系统的“控制”性质,规定了对象模型中对象的合法变化序列。即对象的
动态行为。用状态图来描绘对象的状态、触发状态转换的事件、以及对象的行为(对事件的响应)。每个类
的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。
功能模型
功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,故更直接反映了用户对目标系
统的需求。功能模型也通常由一组数据流程图表示。在面向对象方法中,数据流程图没有在结构化分析中
重要,有时可以省略
(
4)面向服务的方法
以粗粒度、松散耦合的系统功能为核心,强调系统功能的标准化和构件化,加强了系统的灵活性、可复用
性和可演化性。
从概念上讲,SO 方法有三个主要的抽象级别:操作、服务、业务流程
操作:代表单个逻辑工作单元(LUW)的事务。执行操作通常会导致读、写或修改一个或多个持久性数
据。SOA 操作可以直接与面向对象 (OO) 的方法相比。它们都有特定的结构化接口,并且返回结构化的
响应。完全同方法一样,特定操作的执行可能涉及调用附加的操作。操作位于最底层。
服务:代表操作的逻辑分组。例如,如果我们将 CustomerProfiling 视为服务,则按照电话号码查找客户、
按照名称和邮政编码列出顾客和 保存新客户的数据就代表相关的操作。
业务流程:为实现特定业务目标而执行的一组长期运行的动作或活动。业务流程通常包括多个业务调用。
业务流程的例子有: 接纳新员工、 出售产品或服务和完成订单。
SOAD 分为三个层次:基础设计层(底层服务构件)、应用结构层(服务之间的接口和服务级协定)和业
务组织层(业务流程建模和服务流程编排)
服务建模:分为服务发现、服务规约和服务实现三个阶段