第2章 软件开发工具
软件工程第二章-软件过程
编码
运行 时期
1. 瀑布模型
瀑布模型(waterfall model)是软件工程最早的范例,
也称经典生命周期,它提出了一个系统的、顺序的软 件开发方法,从用户需求规格说明开始,通过计划、 建模、构建和部署的过程,最终提供一个完整的软件 并提供持续的技术支持。
沟通 项目启动 需求获取 策划 项目估算 进度计划 项目跟踪
… 框架活动 # n 动作 # n.1 任务集 …… 动作 # n.m 任务集 工作任务、工作产品、 质量保证点、项目里程碑
工作任务、工作产品、 质量保证点、项目里程碑
只有一种软件过程吗?
软件过程的种类很多,区别主要体现在几个方面: 组成过程的各个活动(包括普适性活动)、动作和任务,及其相互依 赖的关系都可能不同; 动作和任务的细化程度可能不同; 工作产品的定义和要求可能不同; 质量保证活动的应用方式可能不同; 项目跟踪和控制活动的应用方式可能不同; 过程描述的详细程度和严谨程度可能不同; 客户和利益相关者对项目参与的程度可能不同; 软件团队所赋予的自主权可能不同; 队伍组织和角色的明确程度可能不同。
下优先级进行增量开发:
第一个增量实现基本的文件管理、编辑和文档生成功能
; 第二个增量实现更加完善的编辑和文档生成功能; 第三个增量实现拼写和文法检查功能; 第四个增量完成高级的页面布局功能; ……
增量模型的特点
增量过程模型综合了线性、并行、演化三种过程流的
特征。
对于每个增量,使用的是线性过程流;
过程流
过程流(process flow):描述了在执行顺序和执行时
间上,如何组织框架中的活动、动作和任务。 大致有四大类不同的过程流:
常用的软件开发工具介绍
常用的软件开发工具介绍软件开发工具是现代软件开发中必不可少的一部分,因为它们可以大大提高开发的效率,这篇文章将简要介绍一些常用的软件开发工具。
1. IDE(Integrated Development Environment)IDE是一种包含了代码编辑器、编译器、调试器等多个组件的软件,旨在提高软件开发的效率和质量。
常用的IDE有Eclipse、IntelliJ IDEA、Visual Studio等。
Eclipse是一个免费开源的IDE,适用于Java开发。
它支持多个编程语言,包括Java、C++、Python等。
Eclipse的插件生态系统非常强大,使得它可以轻松扩展到各种不同的应用程序领域。
IntelliJ IDEA是一款智能的Java IDE,也支持其他编程语言。
它拥有强大的代码自动补全和代码重构功能,可以有效提高开发效率。
Visual Studio是一款由微软开发的IDE,适用于Windows操作系统。
它支持多种编程语言,包括C++、C#、等。
Visual Studio也有强大的插件系统,使得它可以扩展到各种应用程序领域。
2. 版本控制工具版本控制工具旨在为软件开发人员管理代码的版本。
常用的版本控制工具有Git和SVN。
Git是一款分布式的版本控制系统,适用于大多数编程语言。
它具有强大的分支和合并功能,使得多人协作开发变得更加容易。
SVN是一款集中式的版本控制系统。
与Git不同,SVN只有一个中央仓库,开发人员可以从中央仓库检出代码,修改后再提交到仓库中。
3. 自动化构建工具自动化构建工具可以自动地构建和部署应用程序。
它可以帮助开发人员在代码更改后自动地构建和测试代码,从而提高软件质量并减少错误。
常用的构建工具有Maven和Gradle。
Maven是一款基于XML的构建工具,适用于Java项目。
它可以自动地下载依赖项,编译代码,运行测试,并自动构建应用程序。
Gradle是一款内置Groovy的自动化构建工具,适用于Java和Android项目。
《高级语言程序设计教学课件》第2章
3 控制流程
掌握条件语句和循环语 句的使用,控制程序的 执行流程。
学习建议
实践
通过编写实际的程序来巩固 所学知识。
阅读
阅读相关的书籍和文档,进 一步扩展知识面。
交流
与同学和教师进行交流和讨 论,分享经验和解决问题。
1
简单程序案例
通过一个简单的程序案例,演示如何应用程序设计基础知识进行编码。
2
常见问题解答
解答学生在实践中遇到的常见问题,提供必要的指导和建议。
3
总结
回顾本章重点内容,强调学习要点,并提供学习建议和进一步资源。
重点回顾
1 变量与数据类型
学习变量的概念以及如 何选择和使用不同的数 据类型。
2 运算符与表达式
实践案例讲解
通过实际案例演示应用程序设计的过程和技 巧。
程序设计基础
编程语言选择
程序设计流程
软件开发工具
选择适合项目需求的编程语言, 如C++括需求分析、算法设计和编码。
介绍常用的软件开发工具,如 集成开发环境(IDE)和调试器。
实践案例讲解
《高级语言程序设计教学 课件》第2章
本章介绍高级语言程序设计的基础概念和流程,包括程序设计的目标、编程 语言选择、软件开发工具等内容。
高级语言程序设计概述
变量与数据类型
学习如何定义变量和使用不同的数据类型。
控制流程
学习条件语句和循环语句,控制程序的执行 流程。
运算符与表达式
了解常用的运算符和如何构建表达式进行计 算。
软件开发工具知识点
第一章绪论1、软件开发工具的定义:在高级程序设计语言(第三代语言)的基础之上,为了提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
2、软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中基类的只是的结晶,软件是人类文明与只是得以延续的新的载体,软件是人类记你一不成为一个整体,得以进一步相互联系的纽带。
3、用通用软件帮助软件开发有三个主要的弱点:第一个弱点是,有许多工作是通用软件所无法完成的;第二个弱点是,通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵;第三个弱点是,用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难。
4、IBM在1989年宣布了一个名为AD/Cycle的巨大的理论框架,可以被看做死后进入集成的软件开发环境阶段的标志。
5、软件开发工具概念的要点:它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;它支持软件开发的全过程,而不是仅限于编码或其它特定的工作阶段。
6、第四代语言(4GL):它的原义是非过程化的程序设计语言。
针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。
7、软件开发的过程:第一阶段是初始要求的提出;第二阶段是总体设计;第三阶段是程序的编写与文档的编写;第四阶段是测试或调试阶段。
8、软件开发工具应提供的支持工作有:第一,认识与描述客观系统;第二,存储及管理开发过程中的信息;第三,代码的编写或生成;第四,文档的编制或生成;第五,软件项目管理。
9、软件开发工具的性能:第一,表达能力或描述能力;第二,保持信息一致的能力;第三,使用的方便程度;第四,工具的可靠程度;第五,对硬件和软件环境的要求。
软件工程实用教程2版课后答案
软件工程实用教程2版课后答案第1章软件工程引论1.什么是软件危机?它和软件工程有什么关系?答案要点:由于软件规模的扩大、功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难。
在软件开发中经常会出现时间延迟、预算超支、质量得不到保证、移植性差等问题,甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。
软件危机的突出表现:1)软件生产率低2)软件产品常常与用户要求不一致3)软件规模的增长,带来了复杂度的增加4)不可维护性突出5)软件文档不完整、不一致。
人们提出“软件工程”的概念,就是为了用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。
由于引入了软件工程的思想,把其他工程技术研究和开发领域中行之有效的知识和方法运用到软件开发工作中来,提出了按工程化的原则和方法组织软件开发工作的解决思路和具体方法,在一定程度上缓解了“软件危机”。
2.简述软件和软件工程的定义以及软件工程的形成过程。
答案要点:计算机软件是由计算机程序的发展而形成的一个概念。
它是与计算机系统操作有关的程序、规程、规则及其文档和数据的统称。
软件由两部分组成:一是机器可执行的程序和有关的数据;二是与软件开发、运行、维护、使用和培训有关的文档。
软件工程是指导计算机软件开发和维护的工程学科。
它强调按照软件产品的生产特性,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术结合起来,以便经济地开发出高质量的软件并有效地维护它。
第一阶段:20世纪70年代,为了解决软件项目失败率高、错误率高以及软件维护任务重等问题,人们提出软件生产工程化的思想,希望使软件生产走上正规化的道路,并努力克服软件危机。
第二阶段:20世纪80年代,面向对象的方法与技术受到了广泛的重视,Smalltalk-80的出现标志着面向对象的程序设计进入了实用和成熟阶段。
第2章 桌面GIS应用软件的开发方式
第2章桌面GIS应用软件的开发方式对于桌面GIS应用来说,ArcGIS平台不仅提供了用于开发独立运行的GIS应用软件的二次开发工具包ArcGIS Engine,还提供了对ArcGIS Desktop桌面软件进行扩展的开发方法。
在开发一个具体的GIS行业应用软件时,程序员应该根据系统规模、用户水平和具体应用环境等设计相应的系统架构,从而决定是采用C/S架构还是B/S架构?如果采用C/S 架构,是开发一个独立的系统还是在现有的ArcGIS桌面软件上进行扩展?因此选择合适的开发方式是进行GIS软件设计的第一步。
特别需要注意的是,并不是所有的GIS应用系统都一定要基于ArcGIS Engine开发。
因此,本章将首先介绍基于ArcGIS平台开发桌面GIS应用系统的其它几种方式,包括使用VBA的方法,使用DLL动态链接库的方法,以及使用Add-In的方法等。
最后再介绍使用ArcGIS Engine创建一个简单的能独立运行的GIS应用软件的方法。
2.1使用VBA进行桌面软件开发VBA(Visual Basic for Applications)可以理解为简化的Visual Basic语言,它是Visual Basic语言的子集,主要用于对支持VBA的Windows程序(称为“宿主程序”)进行扩展和定制。
Word、Excel等Office办公套件很早就集成了VBA语言,利用它可以进一步扩充这些宿主程序的功能,或者基于这些宿主程序开发较为复杂的应用系统。
Visual Basic开发的系统可以脱离Visual Basic而运行,但是基于VBA开发的系统不能脱离宿主软件运行,它的代码存储在宿主程序的文档中,如对Word进行VBA定制和开发的代码存储在*.doc 文件中,对ArcMap进行扩展的代码存储于*.mxd地图文档中。
使用VBA进行系统扩展是一种轻量级的软件开发模式。
Esri目前不特别推荐使用VBA 进行系统开发,而更侧重于推荐使用Python语言进行扩展。
02-第二章-软件开发模型-软件工程教案-海南大学(共15章)
的系统开发任务书,任务书的内容应简洁明了、
全面完整而具体,以作为系统需求分析和开发工作 的依据。 可行性研究报告批准之后,便可着手进行软件 计划工作。对软件作用范围、工作环境和基本功能、 特性加以研究,确定要做什么,不要做什么,做到 什么程序。同时,估算出所需的资金、工作量、费 用和进度。编制系统开发初步进度计划表。
瀑布模型各个阶段的任务与文档
瀑布模型法明确规定了每个阶段的任务。 上一阶段完成确定的任务后就产生一定格式 的文档交给下一阶段。不同阶段的任务一般 由不同级别的软件人员来承担。 瀑布模型法适合于在软件需求比较明确、 开发技术比较成熟、工程管理比较严格的场 合下使用。 例如工资管理、会计系统软件的需求比较 明确,就适合于使用瀑布模型法进行开发。
快速原型模型包含的内容 ⑴ 功能选择 要恰当选择原型实现的功能。根据 用户基本需求,对系统给出初步定义。 用户的基本需求包括各种功能的要求、 数据结构、菜单和屏幕、报表内容和格 式等要求。这些要求虽是概略的,但是 最基本的,易于描述和定义。原型和最 终的软件系统不同,两者在功能范围上 的区别主要有以下两个方面:
• 问题定义——系统解决什么问题、目标、范围 • 可行性分析——了解用户要求及观察环境、收集资料、数据流程、技术、
经济、操作可行性、组织、人力、物力、效益
开发时期 • 需求分析——弄清用户的全部需求,用“需求规格说明书”准确地表达出来;
建立系统目标逻辑模型——即“做什么”
• 软件设计——分为总体设计与详细设计,产生软件结构、数据结构、用户界
快速原型模型的基本思想
在获得用户基本需求说明的基础上,投入少量人 力和物力,快速建立一个原始模型,使用户及时运 行和看到模型的概貌和使用效果,并对需求说明进 行补充和精化,提出改进意见,开发人员进一步修 改完善,如此循环迭代,直到得到一个用户满意的 模型为止。 从原型法的基本思想中可以看到,用户能及早 看到系统模型,在循环迭代修改和完善过程中,使 用户的需求日益明确,从而消除了用户需求的不确 定性,同时从原型到模型的生成,周期短、见效 快,对环境变化的适应能力较强。
软件工程名词解释
为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。
6. 软件可维护性
软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。
7.结构化维护
如果维护工作是从评价完整的软件配置开始入手,确定软件的重要结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且计划实施途径。然后首先修改设计并且对所做的修改进行仔细审查。接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回归测试;最后,把修改后的软件再次交付使用。
11. 桩模块
桩模块是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。
12. 单元测试
着重测试每个单独的模块,以确保它作为一个单元来说功能是正确的。
13. 集成测试
将模块组合起来成为一个完整的系统对其进行测试。
14. 确认测试
按照需求规格说明书中的确定指标对系统进行功能与性能的测试。
5. 数据流图
简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具.是一种功能模型.作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.
第四章
1. 模块
在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。
第六章
1. 程序设计风格
是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等
2. 程序可移植性
机器只识别0和1,不管是用什么语言写的程序最终都是0和1的串,说某种语言的移植性好是说在各种型号的机器上有能够把以这种语言写的源程序编译成机器码的编译器
STM32F429 Discovery软件开发工具入门指南
STM32F429Discovery软件开发工具入门指南翻译:山西大学电子信息工程系王晓峰,欢迎指正。
简介本文档描述了STM32F429Discovery开发板建立应用开发所需的软件环境和推荐开发工具。
本文档为入门开发人员提供了指导,在关于如何建立和运行示例应用以及创建并编译自己的应用方面。
本文档结构如下:第一章描述了在任何IDE上开始编程以前,如何找到ST-LINK/V2。
第二章描述如何使用以下工具,一步步执行和调试现存的工程。
IAR Embedded Workbench®for ARM(EWARM)by IAR SystemsMicrocontroller Development Kit for ARM(MDK-ARM)by Keil™TrueSTUDIO®by Atollic第三章描述了高级调试方法第四章为此前提到的工具链提供详细信息链接。
虽然这个手册无法覆盖所有关于软件开发环境的话题,但是它证明了开发的第一个基本步骤:编译/调试和提供需要的文档来完全理解操作的每一步是很有必要的。
目录1系统要求1.1支持STM32系列的基础开发环境(IDE)1.2ST-LINK/V2安装和开发1.3固件包2执行/调试固件使用的软件工具链2.1EWARM工具链2.2MDK-ARM工具链2.3TrueSTUDIO工具链3STM32F429高级调试4SW工具链有用的参考和链接5版本历史1系统要求在开始运行你的应用前,你应该:1、安装你的首选IDE2、安装ST-LINK V2驱动3、下载STM32F429I-Discovery固件4、确认如下图连接STM32F429I-Discovery开发板要运行和开发任何固件应用在你的STM32F429I-Discovery板上,最小系统要求为:Windows PC(2000,XP,Vista,7)MiniUSB电缆1.1支持STM32系列的IDEST微电子出品的STM32系列32位Cortex-M内核微控制器,围绕着传统的第三方IDE 的C语言环境,有完整的软件工具支持,配套ST微电子创新的工具。
软件开发工具与环境
软件开发工具的分类
l 三、基于硬件、软件的关系划分的工具 l 按与硬件和软件的关系,软件开发工具可分两
类: l 1. 依赖于特定计算机或特定软件(如某种数据
库管理系统); l 2. 独立于硬件与其它软件的软件开发工具 ; l 一般来说,设计工具多是依赖于特定软件的。
例如 集成化的软件开发工具常常是依赖于机器 与软件的,因此,在研究与使用软件开发工具 时必须注意 。
软件开发工具与环境
1.3 软件开发工具的特性
l 软件功能是指软件能做什么事,即定性地 说明能不能的问题,告诉我们该软件工具 能在软件开发工程中提供哪些帮助;而性 能则是指事情做到什么样的程度即尽可能 定量地说明该软件开发工具能做到什么样 的程度,说明这些支持或帮助的程度如何。
l 此外,作为一般的软件来说,效率、响应 速度等也需考虑。对于软件开发工具来说, 以下五点应是特别重要的。
些补充工具以更好地支援应用软件的研制 。
软件开发工具与环境
软件开发环境
l 三、软件开发工具与环境的关系 l 软件开发环境的主要组成成分是软件工具。不
仅需要有众多的工具来辅助软件的开发,还需 有一个统一的界面。 l 软件开发环境基本组成有三:交互系统、 l 工具集和环境数据库 。 l 软件开发工具在软件开发环境中以综合、一 致和整体连贯的形态来支持软件的开发。
图形输出和多任务等。 l 2. Windows 编程的四个特点: l 事件驱动、消息循环、图形输出、资源共享。
软件开发工具与环境
常用开发环境
l 3. Windows 的基本用户界面对象: l 包括窗口、标题栏、图标、光标、插入符号、对
话框、控件等 。 l 4. Windows 应用程序的基本组成和生成过程 :要
软件开发工具知识点
第一章1、什么是软件开发工具?在高级程序设计语言的(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
软件开发工具概念要点有三:(1)它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;(2)它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;(3)它支持软件开发的全过程,而不是仅限于某个特定的阶段。
2、简述计算机软件发展的几个阶段。
四个阶段:第一代计算机语言——机器语言阶段。
第二代计算机语言——汇编语言阶段。
第三代计算机语言——高级程序设计语言,过程化语言第四代计算机语言——非过程化语言(4GL)3、简述软件工作的重要性和困难性。
软件工作的重要性越来越为人们所认识,软件是计算机的灵魂,是广大使用者与计算机之间的桥梁,是人类在各个领域中积累的知识的结晶,是人类文明与知识得以延续的新的载体,是人类进一步成为一个整体、得以进一步相互联系的纽带。
人们在认识到软件工作的重要性的同时也越来越认识到了它的困难性。
这就是所谓的“软件危机”问题。
人类社会和客观世界的复杂性,决定了软件本身的复杂性;人类知识的丰富多彩,决定了软件的多样性;客观世界的动态性,决定了软件对可维护、可重用性越来越高的要求。
面对规模日益扩大的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,成为十分重要的课题。
4、简述软件开发工具的演变过程。
软件开发工具的演变是从无到有,从分散到集中的过程,是软件发展的必然趋势。
主要分为四个阶段:第一阶段:利用通用软件作为辅助工具的阶段——没有专用软件开发工具的阶段。
第二阶段:专用的软件开发工具阶段。
如:第三阶段:集成的软件开发工具阶段。
如:第四阶段:面向网络和开源软件的软件开发工具阶段。
5、试述用通用软件辅助软件开发的弱点。
用通用软件来帮助开发人员编写文档或画图可以减少很多工作量,但是与软件开发工作相比,这种帮助实在太表面、太初级了。
第2章__C++开发利器大集合
2.1.2 Visual C++ 6.0集成开发环境介绍
在我们应用Visual C++开发程序之前,应该首先熟悉其 开发环境,了解其每个部分的功能是什么。建议读者在阅读 本节内容时辅助以上机实践,以便能用最快的速度熟悉 Visual C++的界面操作,并应用其编写简单的实例。本节以 实际应用最为广泛的Visual C++ 6.0版本为例进行讲解。 1.标题栏与菜单栏 2.工具栏 3.资源编辑器窗口与源代码编辑器窗口 4.输出窗口
2.2.1 C++ Buider IDE(集成开发环境)简介
2.2.2 创建一个简单的程序
(1)选择文件菜单栏中的新建命令,在新建菜单中选择 “其他”选项。弹出新建项目选项卡。 (2)单击“确定”按钮,弹出Console Wizard对话框, 设置所创建控制台应用程序的属性和参数,如图所示。 (3)在代码编辑器中输入如下所示的代码,实现输出功 能。 (4)按工具条中的run按钮编译并运行程序。
2.1.4 创建一个简单的程序
2.1.4 创建一个简单的程序
2.2 C++ Builder
C++ Builder是由Borland公司推出的一款高性能可视化集 成开发工具。C++ Builder具有快速的可视化开发环境并内置了 100多个完全封装了Windows公用特性且具有完全可扩展性的 可重用控件;C++ Builder提供的功能包括:快速、高效、灵活 的编译器优化,逐步连接,CPU透视,命令行工具等。它实现 了可视化的编程环境和C++的完美结合。 C++ Buider IDE(集成开发环境)简介 利用C++ Buider可以更加方便快捷的编写C++ Windows 应用程序,用C++ Buider生成WIN32 GUI应用程序时,C++所 有功能都包装到RAD环境中去了,也就是说可以真正利用快速 应用程序开发的拖放技术生成应用程序的用户界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.3 Visio 2013建模示例
图2-9 Visio绘制系统架构图
2.1.3 Visio 2013建模示例
在项目前期的粗略设计阶段,系统架构图体现软件部件之 间的联系和部件的布局。 Visio也没有提供专门模型来支持系统架构图的绘制,此时 可以借助Visio“基本框图”、“基本流程图”中的部分元 素,进行系统结构图的描述。
2.1.3 Visio 2013建模示例
图2-12 Visio绘制数据流图
2.1.3 Visio 2013建模示例
在需求分析阶段,数据流图是结构化方法下需求模型的主 要构成部分。通常绘制数据流图逐步细化、逐步精化的一 个过程。 Visio提供了专门的“数据流图表”样式,支持系统数据流 图的的描述。
2.2.2 StarUML基本操作
图2-16 StarUML软件界面
2.2.2 StarUML基本操作
图2-17 添加新工程
2.2.2 StarUML基本操作
图2-17 工程选择
2.2.2 StarUML基本操作
图2-18 模型添加
2.2.2 StarUML基本操作
图2-19 通过菜单添加图
2.2.1 StarUML简介
根据图的特点,StarUML把所有的UML图分为五类,包括 用例视、分析视、设计视、实现视和发布视。StarUML只 支持图内部的语法检查,并不支持模型验证和一致性检查, 这表明在各种图内部,工具能够很好地保证模型元素的合 法使用,但不能保证图与图之间的联系是否合法正确。 StarUML的缺陷在于不支持业务建模,当进行管理信息系 统等事务处理软件的时候,可以借助Rational rose进行业 务分析和建模工作。
2.1.1 Visio简介
图2-1 Visio软件的启动界面
2.1.1 Visio简介
标题栏
工具选项卡 【形状】窗格
绘图窗格 功能区 状态栏
图2-2 软件的基本界面
2.1.1 Visio简介
【形状】窗格 标题栏 工具选项卡
绘图区
功能区
标题栏
图2-3 软件界面
2.1.1 Visio简介
• • • Visio软件的界面主要由6部分组成,其作用如下: 标题栏由Visio标志、快速访问工具栏、窗口管理按钮3个部分组成;其中,快速访问工 具栏是Visio提供的一组快捷按钮。窗口管理按钮提供了4种按钮供用户操作Visio窗口; 工具选项卡是一组重要的按钮栏,其提供了多种按钮,允许用户切换功能区及应用 Visio中的各种工具。主要包括【开始】、【插入】、【设计】、【数据】、【进程】、 【审阅】、【视图】等选项卡。选项卡中的工具通常按组的方式排列,各组之间以分 隔线的方式隔开。例如,【开始】选项卡就包括了【剪贴板】、【字体】、【段落】、 【工具】、【形状格式】、【排列】和【编辑】等组; 功能区中提供了Visio软件的各种基本工具。单击工具选项卡中的特定按钮,即可切换 功能区中的内容; 【形状】窗格,在使用Visio的模板功能创建Visio绘图之后,会自动打开【形状】窗格, 并在该窗格中提供各种模具组供用户选择,可将其拖动添加到Visio绘图中; 绘图窗格是Visio中最重要的窗格,在其中提供了标尺、绘图页以及网格等工具,允许 用户在绘图页上绘制各种图形,并使用标尺来规范图形的尺寸;在绘图窗格的底部, 还提供了页标签的功能,允许用户为一个Visio绘图创建多个绘图页,并设置绘图页的 名称; 状态栏的作用是显示绘图页或其上各种对象的状态,以供用户参考和编辑。
2.1.3 Visio 2013建模示例
图2-11 Visio绘制功能结构图
2.1.3 Visio 2013建模示例
在项目前期的粗略设计和总体设计阶段,功能结构图从用 户角度反映目标系统的系统流程图样式,可借助其中的“基 本框图”、“基本流程图”部分元素,组合在一起进行功 能结构图的描述。 面向对象工具Rational Rose及StarUML,没有提供专门模型 来支持功能结构图的绘制,此时可以借助Visio进行进行系 统功能结构图的描述。
2.2.2 StarUML基本操作
图2-20 通过Model Explorer添加图
2.2.2 StarUML基本操作
图2-21通过菜单添加元素
2.2.2 StarUML基本操作
图2-22 通过Model Explorer添加元素
2.2.2 StarUML基本操作
图2-23 保存后的模型
2.2.3 StarUML建模示例
2.1.3 Visio 2013建模示例
图2-6 Visio绘制业务流程图
2.1.3 Visio 2013建模示例
项目前期业务分析的结果,以业务流程图的形式进行描述。 业务流程将是后续粗略设计以及需求分析阶段进行需求分 析的基础。 Visio提供的业务流程图有多种,其中的“跨职能流程图” 样式,能够最好地满足结构化业务建模的需要。跨职能流 程图有横向、纵向两种方式,为方便用户直观观察和理解, 建议选择纵向的跨职能流程图描述业务分析的结果。
第二章 软件开发工具
在软件开发过程中,选择适当的软件工具进行自动化和半自动 化的开发,可以极大地简化开发工作(包括软件分析设计、测 试、维护)、提高软件生产率和改善软件的质量。 一般软件工具分为六类:模拟工具、开发工具、测试和评估工 具、运行和维护工具、性能质量工具和程序设计支持工具。工 具既有支持单个任务的工具,也有囊括生命周期全过程或部分 过程的工具。 按照工具在软件开发过程承担的任务,可以把它们分为六类: 软件需求工具(包括需求建模工具和需求追踪工具)、软件设 计工具(用于创建和检查软件设计)、软件构造工具(包括程 序编辑器、编译器和代码生成器、解释器和调试器等)、软件 测试工具(包括测试生成器、测试执行框架、测试评价工具、 测试管理工具和性能分析工具)、软件维护工具(包括可视化 工具和重构工具)、软件配置管理工具。
2.1.3 Visio 2013建模示例
图2-10 Visio绘制系统流程图
2.1.3 Visio 2013建模示例
在项目前期的粗略设计和总体设计阶段,系统流程图是结 构化方法下描述系统物理构成的模型。 Visio没有提供专门的系统流程图样式,可借助其中的“基 本框图”、“基本流程图”、“网络拓扑图”部分元素, 组合在一起进行系统流程图的描述。
2.1.3 Visio 2013建模示例
图2-13 Visio绘制IPO图
2.1.3 Visio 2013建模示例
在总体设计阶段,IPO图从软件角度描述了目标系统的构 成,通常绘制IPO图是逐步细化、逐步精化的一个过程。 Visio没有提供专门的IPO图,开发人员可借助其中的“基 本框图”、“基本流程图”部分元素,组合在一起进行 IPO图的描述。
2.1.3 Visio 2013建模示例
在项目的详细设计阶段,程序流程图描述各个模块的算法 实现细节。Visio没有提供专门的“程序流程图”样式,可 以用基本流程图进行模块算法的详细描述。
2.2 starUML
• 2.2.1 StarUML简介 • 2.2.2 StarUML基本操作 • 2.2.3 StarUML建模示例
第二章 软件开发工具
2.1 visio 2.2 starUML 2.3 Rational Rose 2.4 建模工具的比较
2.1 visio
2.1.1 Visio简介 2.1.2 Visio 2013 基本操作 2.1.3 Visio 2013建模示例
2.1.1 Visio简介
Visio是一款就复杂信息、系统和流程进行可视化处理、分 析和交流的专业商用矢量绘图软件,其提供了大量的矢量 图形基本素材,帮助用户绘制各种流程图、结构图或软件 开发模型,可以促进对系统和流程的了解,深入了解复杂 信息并利用这些知识做出更好的业务决策。 使用Visio,软件开发人员能够进行项目前期阶段的组织建 模(组织结构图)和业务建模(业务流程图)、粗略设计 的软件系统体系(体系结构图)、硬件配置(网络拓扑 图)、系统框架(系统架构图)、系统组成(系统流程 图)、功能结构(功能结构图);可以绘制需求分析阶段 的分析模型(数据流图);总体设计阶段的系统组成(系 统流程图)、功能结构(功能结构图)、软件模块构成 (IPO图)、数据构成(ER模型);还可用于描述详细设 计阶段的模块细节(程序流程图)。
2.1.3 Visio 2013建模示例
图2-8 Visio绘制网络拓扑图
2.1.3 Visio 2013建模示例
在项目前期的粗略设计阶段,网络拓扑图反映目标系统的 硬件网络构成和它们之间的连接方式。 Visio提供了各种丰富的网络节点元素,方便开发人员绘制 直观的网络拓扑图。 面向对象方法的Rational Rose及StarUML工具,提供的配置 图元素很少,往往不足以全面完整地描述复杂系统中的硬 件设施及网络配置,此时可以借助Visio进行系统的网络拓 扑结构描述。
2.1.3 Visio 2013建模示例
图2-14 Visio绘制E-R模型
2.1.3 Visio 2013建模示例
在总体设计阶段,ER模型用于描述数据的概念模型。 Visio提供了专门的“数据库模型图”样式,支持系统的实 体关系模型描述。
2.1.3 Visio 2013建模示例
图2-15 Visio绘制程序流程图模型
2.2.1 StarUML简介
StarUML严格遵循UML规则,提供包括用例图、类图、序 列图、状态图、活动图、协作图、组件图、部署图以及复 合结构图(Composite Structure Diagram)、鲁棒图 (Robustness Diagram)、包图等十一种图。
其中复合结构图、鲁棒图可以看成特殊的类图,复合结构 图主要用于反映类之间继承、抽象、构成、组合之类的关 系,鲁棒图主要按照MVC设计模式,反映同层次类中的抽 象继承关系、不同层次类之间的调用关系。包图主要用来 对系统的构成进行包含关系的描述。