一定UML吗?——看看结构化设计实例
发布网友
发布时间:2022-04-24 14:21
我来回答
共1个回答
热心网友
时间:2022-04-11 23:07
背景:自从OOA、OOD被业界推崇以来,运用UML进行需求分析、架构设计几乎成为圣经,似乎使用迭代和UML就先进了、OO了,用传统的方法就是落后了、非OO了。事实上无论运用什么工具或方法,只要能够充分反映软件内在的本质就可以了。传统的软件工程中主要有如下建模工具:IPO模型、万诺模型、ER模型、JACKSON模型、DFD模型、程序流程图等,与之对应的详细设计方法主要是结构化设计法。在几年的MIS项目实践中我对传统软件工程领域中较为推崇的有:ER模型、Petri网、DFD模型、JACKSON模型和程序流程图。ER模型主要运用于领域模型设计、Petri网运用于工作流建模、DFD模型主要用于数据动态关联建模、Jackson模型主要运用于非ER环境的复杂数据结构建模及其相关算法(变换)建模、程序流程图用于对重要算法或处理过程进行说明。在我的项目中,主要运用的工具仍然是UML,但是在上述的一些环节中,我和我的团队仍然会运用传统软件工程领域中的一些建模方法,特别是现在流程重构需求较多以及大量的快速开发工具被运用的情况下,传统的东西似乎用得越来越多。我的实际经验表明,运用好传统的软件工程方法,会比一味的追求OOA、OOD更有效果。以下就以开发中的一个实例进行说明,限于商业考虑,只能在此将一些有代表性的文档拿出来讨论,希望大家能一块来讨论。一、用户业务流程说明客户是一个较大的机构,位于市区,在当地区县、乡镇均设有下级部门,为了提高企业库存周转率、防止库存积压导致现金占用的现象,该企业实行预算控制、集中采购。未上信息系统以前,区县、乡镇到市区领用物资的时候需要经历多道审批手续,时间长、管理成本大、数据滞后混乱。通过和客户认真沟通,并结合各职能部门的职责,对企业内部相关流程进行了重构、优化,并对一些机构的职责进行了微调。下图给出的就是整理后“按照物资进行领料”的工作流图,该图截取自JBPM的设计器,本质上一个Petri网。由于JBPM未能够将泳道在图上可视化表达,因此又让美工通过PS加上了泳道。 二、ER模型在实际为客户解决问题的过程中,我们分析并设计出了一个较为庞大的领域模型,主要的工具是PowerDesign,由于此处给出的实例是大家常见的一个需求情况,因此不给出数据库设计的实例。 三、流程中关键环节的数据处理过程1、当物料分发系统中的ERP领料单处于编辑状态时,要将ERP系统中的对应的ERP单号填写到该单据中,且ERP单号不能重复。当ERP领料单编辑完成后,可以提交ERP领料单到上级部门进行审核。如果觉得该单据制的不对,也不能通过修改进行调整过来,可以直接将该单据放弃。提交ERP单据和放弃ERP单据的数据流向入下图所示。 2、归口部门审核,有同意和拒绝两种情况。 3、预算部门的审核,有同意和拒绝两种情况。 4、ERP的审核,有同意和拒绝两种情况。 5、入库部门的审核,有同意和拒绝两种情况。 四、开发过程说明1、数据库使用PowerDesigner 12.1 进行设计,首先进行概念模型建模(ER),通过概念模型生成物理模型,通过物理模型生成Oracle建库脚本;2、通过概念模型生成OO模型,然后编辑OO模型与物理模型的映射关系,生成POJO类和基于Hibernate的DAO;3、用JUNIT对自动生成的DAO进行全面测试,未发现问题;4、分析业务流程后,建立JBPM业务协作模型,并依据分析出来的DFD编写JBPM各节点的Action Handler,发布并部署JBPM;5、使用BSTEK,快速生成开发界面,软件界面大致分为三种(1)简单的CRUD,由BSTEK快速生成,基本上不编写代码;(2)与工作流程中各交互页面在BSTEK上设计,用户提交后,将用户表单的数据直接映射到JBPM的任务上下文中,并触发流程事件,由ActionHandler来完成后续的数据具体操作;(3)其他的一些传统页面。
一文了解UML!
UML:统一建模语言的概述UML,即统一建模语言,是一种非专利的面向对象系统设计工具,它提供了一种标准化的方式来描述、可视化和文档化系统。UML独立于编程语言,主要在系统分析与设计过程中发挥作用,作为架构表达的通用语言。在系统开发的不同阶段,UML扮演着关键角色。在结构化开发中,数据流图用于系统分...
面向物件分析方法的五个步骤是什么?
模型问题是结构化方法的核心问题建立模型简称建模是为了更好地理解我们要模拟的现实世界建模通常是从系统的需求分析开始在结构化方法中就是使用SA方法构建系统的环境模型然后使用SD方法确定系统的行为和功能模型最后使用SP方法进行系统的设计并确定使用者的现实模型 4..面向物件方法的核心问题 面向物件方法与结构化方法一样...
问些关于软件工程的问题~~谁能帮小弟解释下
1、结构化方法 结构化开发方法是由E.Yourdon 和 L.L.Constantine 提出的,即所谓的SASD 方法, 也可称为面向功能的软件开发方法或面向数据流的软件开发方法。Yourdon方法是80年代 使用最广泛的软件开发方法。它首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程(SP)...
计算机网络工程师四级考试的过关技巧(比如哪些章节要牢记,哪些理解)_百...
⑸ 概要设计与详细设计。 ⑹ 模块结构设计与数据结构设计。 ⑺ 用户界面设计。 3.原型化开发方法: ⑴ 原型化开发的基本原理。 ⑵ 原型化开发模型。 ⑶ 原型化开发过程。 ⑷ 软件复用。 4.面向对象分析与设计: ⑴ 面向对象的基本概念。 ⑵ 面向对象分析。 ⑶ 面向对象设计。 ⑷ 统一建模语言(UML)。 5.软件...
系统分析师的主要考试内容
2、需求分析和设计方法分析设计图示(DFD、ERD、UML、流程图、NS图、PAD)面向对象设计(继承、抽象、代理、封装、多态)结构化分析设计模块设计(内聚、耦合)I/O设计(报表设计、屏幕设计、数据项代码设计),人机界面设计3、开发环境与开发工具集成开发环境开发工具(分析设计工具、编程工具、测试工具等)软件开发平台的比较4...
2020年软考考试大纲:软件设计师考试大纲
程序设计(结构化程序设计、面向对象程序设计) 6.4 软件测试的原则与方法 6.5 软件质量(软件质量特性、软件质量控制) 6.6 软件过程评估基本方法、软件能力成熟度评估基本方法 6.7 软件开发环境和开发工具 6.8 面向对象技术 面向构件技术 统一建模语言(UML) 软件过程改进模型和方法 6.9 网络环境软件技术 关于2020年软考考...
信息系统管理工程师考试知识点有哪些?
●面向对象分析设计与统一建模语言(UML)5.3系统实施基础知识●系统实施的主要任务●结构化程序设计、面向对象程序设计、可视化程序设计●程序设计语言的选择,程序设计风格●系统测试的目的、类型和方法●测试设计和管理●系统转换知识5.4系统运行管理知识●系统(计算机系统、数据库系统、计算机网络系统)运行管理●系统运行管理...
请做答软件工程题目
· 统一建模语言(UML) · 系统规格说明书 3.3 系统设计知识 · 系统设计的目的和任务 · 结构化设计方法和工具(系统流程图、HIPO图、控制流程图) · 系统总体结构设计(总体布局、设计原则、模块结构设计、数据存储设计、系统配置方案) · 系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计) · 系统...
信息系统管理工程师考试考哪些知识点?
●面向对象分析设计与统一建模语言(UML) 5.3系统实施基础知识 ●系统实施的主要任务 ●结构化程序设计、面向对象程序设计、可视化程序设计 ●程序设计语言的选择,程序设计风格 ●系统测试的目的、类型和方法 ●测试设计和管理 ●系统转换知识 5.4系统运行管理知识 ●系统(计算机系统、数据库系统、计算机网络系统)运行管理...
本人想更加深入的了解数据库~~想问下在机子上什么数据库对学习最好...
?统一建模语言(UML) ?系统规格说明书 3.3 系统设计知识 ?系统设计的目的和任务 ?结构化设计方法和工具(系统流程图、HIPO图、控制流程图) ?系统总体结构设计(总体布局,设计原则,模块结构设计,数据存取设计,系统配置方案) ?系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计) ?系统设计说明书 3.4 系统...