1 UML 在软件开发中的建模
Rational Rose 是一个完全的 , 具有能满足所有建模环境(Web 开发,数据建模,Visual Studio 和 C++ )需求能力和灵活性的一套解决方案。 Rose 允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。 通过在软件开发周期内使用这种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。 常用软件开发过程为:分析、设计、实现、配置、测试等阶段,不同的软件开发方法,无疑都是对这些过程的 n 次迭代。
(1)需求分析阶段建模。 使用 UML 静态图中的用例图 、状态图,可以在软件开发的需求分析阶段找出系统所有需求并加以描述。 在用例图中,使用事件表明了用户和系统的交互作用,在这个图形中显示了用户能实现一个目标。 通过用例图,可以把需求分析和功能分析中的系统模块, 按角色分配到各类用户,使得系统模型更加清晰。 UML 的状态图是描述对象在生命周期内处于哪些状态,每一种状态的行为以及什么样的事件引起对象状态发生改变。
(2)设计阶段建模。 设计阶段的任务是通过综合考虑所有的技术限制,以扩展和细化分析阶段的模型。 设计的目的是指明一种易转化成代码的工作方案,是对分析工作的细化,即进一步细化分析阶段所提取的类(包括属性和操作),并且增加新的类处理诸如数据库、用户接口、通信、设备等技术领域的问题。
设计阶段可以分为两个部分,一是结构设计。 结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖性和主要通信机制。 希望得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽可能地减少双向的依赖关系。 二是详细设计。 细化包的内容,使编程人员得到的所有类的一个足够清晰的描述。 在设计阶段可以使用两种 UML 视图来描述系统,一是类图,类图是 UML 中的静态视图中的一种;二是序列图,序列图是 UML 中的动态图中的一种。 ① 系统类图。 定义的类通常要有二个特点:一是使用来自问题域的概念,二是类的名字用该类实际代表的涵义命名。 通过系统需求分析、系统用例,建立本系统类图;② 序列图。 序列图描述对象如何相互交互和通讯。序列图中的最重要的是时间。通过序列图,可以看出为了完成某种功能一组对象如何发送和接收序列消息。
(3)实现阶段建模。 构造或实现阶段是对类进行编程的过程。 选择向对象语言 C# 作为实现系统的软件环境。 在 C# 中很容易实现从逻辑试图到代码部件的映射。 在实现阶段中,可以选择下列图来辅助编程。 ①类的规格说明:每个类的规格说明详细显示了必要的属性和操作。 ②类图:显示类的静态结构和类之间的关系。 ③状态图:显示类的对象可能的状态、所需处理的转移以及触发这些转移的操作。 ④包含某个类的对象的动态图(顺序图、合作图、活动图):显示该类的某个方法的实现或别的对象是如何使用该类的对象的。 ⑤ 用例图和规格说明:显示系统需求和结果。
(4)测试与配置阶段建模。 完成系统编码后,需要对系统进行测试,它通常包含:单元测试、集成测试、系统测试和验收测试。 在单元测试中,使用类图和类的规格说明,对单独的类或一组类进行测试;在集成测试中,使用组件图和合作图,对各组件的合作情况进行测试;在系统测试中,使用 UML 的用例图,以及查所,开发的系统是否满足用例图所描述的需求。
2 UML 建模简介
UML 通 过事物 、 关系和图来描述软件工程的建模内容 .
UML 采用多视图表示模型的不同侧面, 表 示各种元素和概念之间的划分, 而每一类视图使用一种或两种特定图来可视化的表示视图中的概念。 图是 UML 的核心,通过事物和关系来描述客观事物的抽象。 UML 的图可划分为如下三种类型:① 静态图:描述了那些不发生变化的软件元素的逻辑结构,描绘了类、对象、数据结构及其存在于它们之间的关系。 ② 动态图: 展示了在运行期间的软件实体的变化,描绘了执行流程、实体改变状态的方式。 ③物理图:显示了软件实体的不变化的物理结构,描绘库文件、字节文件、数据文件等,以及存在于它们之间的关系。
下表说明了三类图中最常用的一些 UML 图, 以及它们适用的软件开发阶段。
3 UML 建模的主要特点
建模的目的是从不同的视角去分析软件的功能,从应用角度来看, UML 的主要特点可以归结为:① UML 融合了当前一些流行的开发方法的主要概念与技术,成为一种面向对象的标准化的统一的建模语言,约束了以往各种方法的建模语言的不一致和差别。② UML 捕捉系统静态和动态行为的信息。静态结构定义了对系统具有重要意义的各种对象,以及它们之间的关系。 动态行为定义了时间上和状态上对象间的通讯。 从不同而又相关的视角来对系统建模,允许了多角度对系统的理解。 ③UML 是系统建模语言,独立于开发过程。 虽然 UML 与常用的建模工具配合使用,将发挥强大的效用,但是 UML 也可以在其它面向对象的开发过程中使用。④ UML 与具体的实现无关,可应用于任何语言平台和工具平台。 它可以被具有代码生成的交互式可视建模工具所支持, 工具可以提供 UML 向各种编程语言的代码生成,以及可以从现有的程序逆向构筑模型。
4 结语
在不同的阶段建立不同的模型, 建模的目的也各不相同。
UML 为用户提供了强大的支持,并提供了很大的自由度。 用户在遵循某些软件开发方法的原则下完全可以根据自己所开发系统的特点,在软件开发的过程(分析、设计、实现、测试和配置)中,灵活地选用 UML 所提供的各种图,建立系统模型。
参考文献:
[1]胡 颖辉,宁 赛飞着。基 于 UML 和 ASP.NET 实 现三层 B/S 结构系统开发[J].合肥市:计算机与信息技术,2007.
[2]陆魁军等。计算机网络工程实践教程[M].北京:清华大学出版社,2006 .
计算机已经经历了四代的发展历程,从电子计算机到晶体管计算机时代,再从集成电路计算机时代到大规模集成电路计算机时代,这一路的发展表现出了计算机的发展速度,同时这也为计算机软件开发的发展打好了坚实的基础。...
1引言我国信息化建设突飞猛进的发展,给我们的工作和生活带来很多便捷。无论是在学校、军营,还是机关、农村,信息化覆盖率越来越高,让人们真切感受到科技带来的独特魅力,人们可以足不出户就能体验到科技给予我们的全新的感受。科技让我们距离世界很近;...
面对这种问题,通过对开发中的各个方面的安全隐患进行分析,归纳总结出每一类问题安全预防的有效方法,以方便开发人员采取具体措施,从而减少常见的软件漏洞,提升软件安全水平。...
嵌入式的实时软件技术可以使计算机软件在设计层面上有更大的改变,进一步升华。根据这门技术,将分别对嵌入式实时软件技术框架、嵌入式技术的特点和性能及其任务以及主要应用进行了详细介绍。...
商用空调产品功能复杂,运行环境恶劣,尤其对于商用多联机来说,其控制软件可是说是电器类产品中最复杂的软件之一。商用多联机控制软件不仅包含整个空调各个运行系统的控制逻辑而且还包含复杂的多机通讯,同时相同功能的代码需要在不同处理器之间移植。因...
随着科技的进步,交通工具愈来愈发达,人们出行也更加便利,但与此同时也带来了许多安全隐患,安全事故频频发生,造成这一现象的直接原因是疲劳驾驶、酒后驾驶等。...
软件开发的核心基础就是一个合理的、科学化的网络平台,以及较为先进的技术,只有待各项条件均趋于成熟以后,才能更高质量地完成计算机软件开发的既定任务,满足用户的软件使用需求。软件编程规则则是软件开发过程中所需要遵守的基本原则。从具体情况...
计算机软件开发从理论上进行理解就是:计算机的软件开发人员通过对计算机的内部进行屏蔽工作的开展,直观地以图形界面的形式为使用者进行操作方式的呈现。...
随着计算机技术的不断发展,计算机软件开发也要与时俱进,尤其是随着社会各项技术的不断发展,要求计算机软件开发技术也应该不断更新,才能够满足社会的发展,实现IT行业的兴起和繁荣。...
本文首先从Python的定义、优缺点以及应用领域三个方面对Python进行了简要介绍,然后分析了目前Python在国内外市场中的实际应用情况,最后以企业信息自动化运维为例对Python在智能化运维中的运用进行了深入探究,提及了Python在运维系统安全保护、数据报表、数...