当前位置:文档之家› Java 项目UML反向工程转化工具

Java 项目UML反向工程转化工具

Java 项目UML反向工程转化工具
Java 项目UML反向工程转化工具

今天在看一个模拟器的源码,一个包里有多个类,一个类里又有多个属性和方法,如果按顺序看下来,不仅不能对整个模拟器的框架形成一个大致的认识,而且只会越看越混乱,所以,想到有没有什么工具可以将这些个类以及它们之间的依赖关系转化成UML图,这样一看图就能一目了然。立刻搜了看,没想到这样的工具一大堆,下面罗列最经典的6款。参考:

https://www.doczj.com/doc/56493877.html,/article/2012-09-12/2809862-6-java-to-uml-tools

1、Eclipse MDT

模型开发工具(MDT)提供了一些示范性工具,在元模型的基础上的发展模式。它支持创建UML图,从代码的逆向工程到UML图等等。

2、ArgoUML

ArgoUML是一个领先的开源UML模型工具,它支持UML 1.4的所有标准,可以运行于任何Java平台上。

3、ModelGoon

ModelGoon是一个Java包的依赖分析的Eclipse插件,用来显示项目中Java包与包之间的依赖关系,如下图所示:

4、Green

Green是Eclipse的一个插件,是一种先进的还简单的UML类图的工具,主要学生开发使用。它是live round-tripping编辑器,因此可以很容易地从一个UML类图生成Java代码。它有很好的可扩展性。

5、Minjava

Minjava是一个Java反向工程软件,可帮助理解已存在一些Java软件的架构和行为。

6、AmaterasUML

AmaterasUML可以对大工程的支持,上面所列的一些插件像Green,貌似不支持大工程,如果出现大的工程文件,通常会出现崩溃的情况,而且形成的整个UML图显得混乱无比。

由于我在eclipse上看源码,所以,装了两个适用于eclipse的插件,Green和AmaterasUML,下面简单谈谈安装和使用感受。

1、Green安装和使用

详见:https://www.doczj.com/doc/56493877.html,/view/7ec0b519ff00bed5b9f31d1b.html

安装有在线和离线安装,离线就是下载Green安装包,然后将里面的插件copy到eclipse的插件文件夹下即可,这种方法现在已经不适用了,其官网上是这么说的:

green will now be distributed via update site instead of direct download. The latest build of green can be found at the following update site:

https://www.doczj.com/doc/56493877.html,/faculty/alphonce/green

To install or update green, go to Help->Install New Software... Type in (or copy/paste) the above site URL and click Add. After the update site has been added, you can install from that same dialog.

所以,按照它的说法,使用在线安装就好了,注意:在装之前需要安装GEF插件,新版的eclipse貌似已经安装,4.0版本之前的需要手动安装。

安装好之后,重启,在任何类名上右击可以看见相关选项:Green UML,点击即可获得相关类的UML图:如下的显示效果:

2、AmaterasUML的安装于使用

如果对于小工程项目,即一个类或接口所包含的方法和属性不是很多,用Green是最好的选择,但是对于大工程项目,这个插件要么无法加载各个类,有时还崩溃,要么可以加载但是很混乱,需要自己人工调,非常麻烦,所以,对比了之后,发现AmaterasUML是最合适的,ModelGoon也很好,但安装的时候需要使用代理,这个在Linux上可以做,具体方法可以参考:

https://www.doczj.com/doc/56493877.html,/s/blog_6e10ddff0101eixf.html 。但是在windows上好像不行,从上面可以看出,这个插件比AmaterasUML要好,它可以显示各个包之间的依赖关系,也许AmaterasUML也可以,但是我到现在还没发现,具体安装和Green一样也有两种方法,下载地址和使用方法请见其官网:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML

下面是其显示效果,可以直接拖拽,如何拖拽,间上面的官网链接。

下面是网友遇到的问题,也许你也会遇到,先记下:

我刚下载了Green UML的3.4版本,把它配置到Eclipse 3.4的插件中,对代码进行UML模型转换时,发现得到的图形只有每个类的图形,而没有类之间的关系(依赖、泛化、实现等),而且选用板上也只有类、接口、枚举、注释这几种,没有依赖、泛化、实现等,而我看网上的介绍中应该是可以显示关系的,请问各位知道这是怎么回事吗?

Green UML的3.4 要和GEF 配合用。您是不是只装了Green 没装GEF?

而且麻烦的地方在于Green和GEF的版本还必须匹配。比如Green3.5要配GEF3.4

这是GEF3.4的链接

https://www.doczj.com/doc/56493877.html,/tools/gef/downloads/drops/R-3.4.0-200806091334/

东北大学考试《软件工程与UML建模X》考核作业参考395

东北大学继续教育学院 软件工程与UML建模X 试卷(作业考核线上2) A 卷 . D 是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以 D 为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统开发过程和可交付文档将遵照ZCo-SP0STAN-95中相关规定”,这属于 D A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: C A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次: C ,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.以下用例命名中,最合理的是 B A).进行宠物搜索B).查询宠物 C).宠物查询D).进行宠物查询 7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系? B A).包含关系B).没有关系C).扩展关系D).泛化关系 8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指 B A).深度B).扇入 C).扇出 D).耦合 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

JAVA的各种变量类型的转换

JAVA的各种变量类型的转换 1 如何将字串 String 转换成整数 int? A. 有两个方法: 1).int i = Integer.parseInt([String]); i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 如何将整数 int 转换成字串 String ? A. 有叁种方法: 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i; 注: Double, Float, Long 转成字串的方法大同小异. java的各种变量类型的转换 integer to String : int i = 42; String str = Integer.toString(i); String str = "" + i double to String : String str = Double.toString(i); long to String : String str = Long.toString(l); float to String : String str = Float.toString(f); String to integer : str = "25";

int i = Integer.valueOf(str).intValue(); int i = Integer.parseInt(str); String to double : double d = Double.valueOf(str).doubleValue(); String to long : long l = Long.valueOf(str).longValue(); long l = Long.parseLong(str); String to float : float f = Float.valueOf(str).floatValue(); decimal to binary : int i = 42; String binstr = Integer.toBinaryString(i); decimal to hexadecimal : int i = 42; String hexstr = Integer.toString(i, 16); String hexstr = Integer.toHexString(i); hexadecimal (String) to integer : int i = Integer.valueOf("B8DA3",16).intValue(); int i = Integer.parseInt("B8DA3", 16); ASCII code to String int i = 64; String aChar = new Character((char)i).toString(); integer to ASCII code (byte) char c = 'A'; int i = (int) c; To extract Ascii codes from a Strin String test = "ABCD"; for ( int i = 0; i < test.length(); ++i ) {

免费UML建模工具推荐

Rational Rose 免费UML建模工具推荐:JUDE – community 如果您的开发环境中只能使用正版软件,而又 因种种原因无法获得专业级的建模工具,正苦苦寻找一个好用的,免费的工具时,那么JUDE绝对值得您一试。JUDE是一个中日合作的软件项目,有商业化的Professional版本和免费的Community版本,最大 的区别是免费版的不支持UML 2.0,对于一般应用足 够了。 免费UML建模工具推荐:UMLet UMLet是一个开放源代码轻量级UML建模工具。UMLet能够让你快速建模,并且能够导出各种格式SVG, JPG, PDF and LaTeX-friendly EPS。 免费UML建模工具推荐:Argo UML

ArgoUML 是一款开源的UML 建模工具,支持所有UML 1.4 的标准图形。它可以运行在任何Java 平台上,并且支持10 种语言(地区语言而不是编程语言)。它用Java构造,并遵守开源的BSD协议。 免费UML建模工具推荐:BOUml 一个免费的UML 2工具箱,支持C++,Java以及Idl。 免费UML建模工具推荐:Visual paradigm –community 为软件工程师、系统分析员、商业分析员、系统建筑师而设计的一个UML CASE工具。 中文UML建模软件Trufun Plato V3.6.0 1、优秀的UML支持 支持绘制所有UML框图(类图、用例图、状态图、活动图、协作图、部署图,序列图); 支持UML Profile:可以用户可以定制各种语言的数据类型,构造型,以及构造型的显示图标,从而将建模环境定制为自己属性的编程语言环境。

软件工程与UML期末试题及答案

软件工程与U M L建模复习题B 一:单选题 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.正式运行系统后能够产生的收益被称为 A).直接效益B).运营效益C).最佳效益D).启动效益 7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的 A).问题定义B).可行性研究C).需求分析D).设计 8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。 A).数据字典B).判定表和判定树C).用例图D).螺旋模型 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问

题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

软件工程与UML关系概述

本栏目责任编辑:谢媛媛软件设计开发Computer Knowledge and Technology 电脑知识 与技术第6卷第21期(2010年7月)软件工程与UML 关系概述 刘小海 (北京航空技术研究中心,北京100076) 摘要:随着计算机技术的发展,软件工程技术已经进入了一个新的阶段。人们开始使用面向对象的技术,同时UML 融合了多种面向对象建模方法以及多种软件工程方法,成为软件系统设计建模的主要工具。该文从软件工程概述、UML 概述以及UML 在软件工程的应用为基础,对软件工程与UML 管理进行概述。 关键词:软件工程;UML ;建模;关系 中图分类号:TP312文献标识码:A 文章编号:1009-3044(2010)21-5774-02 Overview of Relationship between Software Engineering and UML LIU Xiao-hai (Beijing University of Aeronautics Technology Research Center,Beijing 100076,China) Abstract:With the development of computer technology,software engineering technology has entered a new stage.People began to use of object-oriented technology,and a variety of fusion UML modeling method of object-oriented software engineering methods and soft -ware system,the main tool design modeling.This overview of software engineering,UML overview and UML in software engineering,based on the application of software engineering and UML management are summarized. Key words:software engineering;UML;modeling;relationship 1软件工程的概述 软件工程(Software Engineering ,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程开发和维护软件是通过工程的概念、原理、技术和方法进行的,经过实践而得到的管理技术与当前较好的技术相结合,发开出高质量的软件,并对其进行维护。而传统方法学和面向对象方法学是目前使用较广泛的软件工程方法学。 软件工程的基本原理:1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚的审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。 2UML 的概述 面向对象的系统分析与设计出现在较晚时期,即20世纪80年代。这是一段试验时期。20世纪90年代早期,在各种方法和建模应运而生并已开始应用的同时,讨论的主要中心是比较方法。在1997年,在行业联盟对象管理组织(OMG )发起人号召之下,工作组发布了一套用于描述和建模面向对象系统的标准,这就是统一建模语言(UML )。UML 是一种建模语言而不是一种方法,UML 本身是独立于过程的。 标准建模语言UML 的主要特点可以归结为五点: 1)统一的标准。UML 已被OMG 接受为标准的建模语言,赿来越多的开发人员开始使用UML 进行开发,越来越多开发厂商开始支持UML 。 2)面向对象。UML 是支持面向对象软件开发的建模语言。 3)可视化、表达能力强大。 4)独立于过程。UML 不依赖于特定的软件开发过程,这也是UML 能被众多软件开发人员接受的一个原因。 5)概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。 3软件开发过程与建模 在软件工程中,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又进一步划分若干个阶段,分别为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护。 在软件开发过程中,整个软件生命周期受软件范型影响。所谓软件范型(Software paradigms )就是软件开发过程模型,毋庸置疑,选择一个良好的开发范型对于一个软件产品(项目)的开发至关重要。一般情况下,软件范型可分为四种,分别为:过程性范型、面向对象范型、面向进程范型以及混合范型。在建立软件的需求分析和设计模型时,建模的方法要根据不同的范型选择。 收稿日期:2010-05-26 作者名称:刘小海(1966-),男,河北人,高级工程师。 ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.21,July 2010,pp.5774-5775E-mail:xsjl@https://www.doczj.com/doc/56493877.html, https://www.doczj.com/doc/56493877.html, Tel:+86-551-569096356909645774

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

《软件工程与UML》期末试题

《软件工程与UML》期末试题 适用专业:考试时间120分钟 一、单项选择题(本大题共小题,每题分,共分) 1. UML图不包括(D ) A. 用例图 B. 类图 C. 状态图 D. 流程图 2. 下面哪一项不是包图中的关系(D ) A .<> B. <> C. <> D. <> 3. 在类图中,下面哪个符号表示继承关系(C ) A. B. C. D. 4. 在类图中,“#”表示的可见性是(B ) A. Public B. Protected C. Private D. Package 5. 消息的组成不包括(C ) A. 接口 B. 活动 C. 发送者 D.接收者 6. 下面哪个视图属于UML语言的交互图(D ) A. 行为图 B. 状态图 C. 实现图 D. 顺序图 7. UML语言包含几大类图形(B ) A. 3 B. 5 C. 7 D. 9 8. RUP中有(C )个核心过程工作流。 A. 1 B. 3 C. 6 D. 9 9. 类之间的关系不包括(D ) A. 依赖关系 B. 泛化关系 C. 实现关系 D. 分解关系 10. 在UML中,协作图的组成不包括(C ) A. 对象 B. 消息 C. 发送者 D. 链 11. 下面哪个符号代表包图(A ) A. B. C. D. 12. 下列对状态图描述不正确的是(C ) A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为。 B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。 C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率。 D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件做出反应。 13. 在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是(A ) A. 执行者角色控制类用户接口业务层后台数据库 B. 执行者角色用户接口控制类业务层后台数据库 C. 执行者角色控制类用户接口后台数据库业务层 D. 执行者角色用户接口业务层控制类后台数据库 14. 多对象是UML哪个视图中的概念(C ) A. 类图 B. 状态图 C. 协作图 D. 组件图 15. 构件图的组成不包括(C )

java的基本数据类型有八种

java的基本数据类型有八种 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! java的基本数据类型有八种四类八种基本数据类型1. 整型byte(1字节)short (2个字节)int(4个字节)long (8个字节)2.浮点型float(4个字节)double(8个字节)3.逻辑性boolean(八分之一个字节)4.字符型char(2个字节,一个字符能存储下一个中文汉字)基本数据类型与包装类对应关系和默认值short Short (short)0int Integer 0long Long 0Lchar Char '\u0000'(什么都没有)float Floa t0.0fdouble Double 0.0dboolean Boolean false 若某个类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值,如上所示。(这种初始化方法只是用于成员变量,不适用于局部变量)。jdk1.5支持自动拆装箱。可以将基本数据类型转换成它的包装类装箱Integer a = new Integer ();a = 100;拆箱int b = new Intger(100);一个字节等于8位,一个字节等于256个数,-128到127一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节一个汉字两个字符,占用两个字节基本数据类型自动转换byte->short , char->int->longfloat->doubleint ->floatlong->double小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

常见医学图像格式

附录C 图像格式 译者:Synge 发表时间:2012-05-03浏览量:1604评论数:0挑错数:0 翻译:xiaoqiao 在fMRI的早期,由于大多数据都用不同研究脉冲序列采集,然后离线大量重建,而且各研究中心文件格式各不相同、大多数的分析软件也都是各研究单位内部编写运用。如果这些数据不同其他中心交流,数据的格式不影响他们的使用。因此图像格式就像巴别塔似的多式多样。随着fMRI领域的不断发展,几种标准的文件格式逐渐得到了应用,数据分析软件包的使用促进了这些文件格式在不同研究中心和实验室的广泛运用,直到近期仍有多种形式的文件格式存在。这种境况在过去的10年里随着公认的NIfTI格式的发展和广泛认可而优化。该附录就fMRI资料存储的常见问题以及重要的文件格式做一概述, 3.1 数据存储 正如第2章所述,MRI数据的存储常采用二进制数据格式,如8位或16位。因此,磁盘上数据文件的大小就是数据图像的大小和维度,如保存维度128 ×128×96的16位图像需要25,165,824位(3 兆字节)。为了保存图像的更多信息,我们希望保存原始数据,即元数据。元数据包含了图像的各种信息,如图像维度及数据类型等。这点很重要,因为可以获得二进制数据所不知道的信息,例如,图像是128 ×128×96维度的16位图像采集还是128 ×128×192维度的8位图像采集。在这里我们主要讨论不同的图像格式保存不同的数量及种类的元数据。

MRI的结构图像通常保存为三维的资料格式。fMRI数据是一系列的图像采集,可以保存为三维格式,也可以保存为四维文件格式(第4维为时间)。通常,我们尽可能保存为四维数据格式,这样可以减少文件数量,但是有些数据分析软件包不能处理四维数据。 3.2 文件格式 神经影像的发展中出现了很多不同图像格式,常见的格式见表1.在这里我们就DICOM、Analyze和NIfTI最重要的三种格式做一讨论。 表1. 常见医学图像格式 Analyze .img/.hdr Analyze软件, 梅奥临床医学中心 DICOM 无ACR/NEMA协会 NIfTI .nii或.img/.hdr NIH影像学信息工具倡议 MINC .mnc 蒙特利尔神经学研究所(MNI,扩展名NetCDF) 3.2.1 DICOM格式 现今大多MRI仪器采集后的重建数据为DICOM格式。该数据格式源于美国放射学协会(ACR)和国际电子产品制造商协会(NEMA)。DICOM不仅仅是图像的存储格式,而且是不同成像系统的不同形式数据之间转换的模式,MRI图像只是其中一种特殊形式。目前使用的DICOM遵照1993年协议,且目前主要的MRI仪器供应商都支持该格式。 通常,DICOM把每一层图像都作为一个独立的文件,这些文件用数字命名从而反映相对应的图像层数(在不同的系统有一定差异)。文件中包含文件头信息,且必须要特定的软

东北大学《软件工程与UML建模》期末考试必备真题集(含答案)44

软件工程与UML建模复习题A 一:单选题( 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.以下用例命名中,最合理的是 A).进行宠物搜索B).查询宠物C).宠物查询D).进行宠物查询 7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系? A).包含关系B).没有关系C).扩展关系D).泛化关系

8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指 A).深度B).扇入C).扇出D).耦合 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

《软件工程与UML》期末试题及答案教学文案

《软件工程与U M L》期末试题及答案

软件工程与UML建模复习题B 一:单选题 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.正式运行系统后能够产生的收益被称为 A).直接效益B).运营效益C).最佳效益D).启动效益

7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的 A).问题定义B).可行性研究C).需求分析D).设计 8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。 A).数据字典B).判定表和判定树C).用例图D).螺旋模型 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

图像格式转换源代码

求delphi源码图像格式转换 浏览次数:555次悬赏分:20 |解决时间:2010-6-4 16:33 |提问者:黑色城堡没有爱 毕业设计,Delphi语言编写的图像格式转换,各种图像格式相互转换。另加一点特效处理~~~~~跪谢 问题补充: scorpio-butterfly@https://www.doczj.com/doc/56493877.html, 最佳答案 常见图象格式转换技术 作者:lyboy99 e-mail:lyboy99@https://www.doczj.com/doc/56493877.html, url: https://www.doczj.com/doc/56493877.html, 给大家提供几个常用的图象格式转换方法和其转换函数 希望可以对你有帮助 1. ICO图标转换BMP格式 2. 32x32 BMP格式图象转换为ICO格式 3.转换BMP->JPEG文件格式 4.JPEG 转换为BMP函数 5.Bmp转换为JPEG文件格式函数 ------------------------------------------------------------------------------------------------------------------------- 1.Chinese : ICO图标转换BMP格式 English :(Conversion from ICO to BMP) -------------------------------------------------------- var Icon : TIcon; Bitmap : TBitmap; begin Icon := TIcon.Create; Bitmap := TBitmap.Create; Icon.LoadFromFile('c:picture.ico'); Bitmap.Width := Icon.Width; Bitmap.Height := Icon.Height; Bitmap.Canvas.Draw(0, 0, Icon ); Bitmap.SaveToFile('c:picture.bmp'); Icon.Free; Bitmap.Free; ===================================

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

Java语言基本数据类型、转换及其封装

Java语言基本数据类型、转换及其封装Java语言基本数据类型、转换及其封装 1. 逻辑类型 ·常量 true,false。 ·变量的定义 使用关键字boolean来定义逻辑变量: boolean x; boolean tom_12; 也可以一次定义几个: boolean x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是变量的名字。定义时也可以赋给初值: boolean x=true,tom=false,漂亮=true,jiafei 2.整数类型 ·常量123,6000(十进制),077(八进制),0x3ABC(十六进制)。 ·整型变量的定义分为4种: 1.int 型 使用关键字int来定义int型整形变量 int x int tom_12 也可以定义几个: int x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是名字。定义时也可以赋给初值: int x=12,tom=-1230,漂亮=9898,jiafei 对于int型变量,分配给4个字节byte,一个字节由8位(bit)组成,4个字节占32位(bit)。bit 有两状态,分别用来表示0,1。这样计算机就可以使用2进制数来存储信息了。内存是一种特殊的电子元件,如果把内存条放大到摩天大

楼那么大,那么它的基本单位——字节,就好比是大楼的房间,每个房间的结构都是完全相同的,一个字节由8个能显示两种状态的bit组成,就好比每个房间里有8个灯泡,每个灯泡有两种状态——亮灯灭灯。 对于 int x=7; 内存存储状态如下: 00000000 00000000 00000000 00000111 最高位:左边的第一位,是符号位,用来区分正数或负数,正数使用原码表示,最高位是0,负数用补码表示,最高位是1。例如: int x=-8; 内存的存储状态如下: 11111111 11111111 11111111 11111000 要得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1,1变成0,就是-8的补码。 因此,int型变量的取值范围是-2^31~2^31-1。 2. byte型 使用关键字byte来定义byte型整型变量 byte x ; byte tom_12; 也可以一次定义几个: byte x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是名字。定义时也可以赋给初值: byte x=-12,tom=28,漂亮=98,jiafei 注:对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是: -2^7~2^7-1。

学生选课系统完整的UML建模

题目:UML系统分析设计、建模与实现学号:100430112022 姓名:杨家建 专业:计算机技术 指导教师:舒远仲

U M L 系统分析设计与建模 以简单的学生选课系统进行详细的系统分析与建模。 (一)系统用例图 1.首先根据需求分析可知:管理员维护课程信息,对其进行添加、修改、删除等。学生可以在线查询课程信息,并进行选课,也可以在规定时间内更改选修的课程。我们发现系统中的参与者有:管理员和学生,然后从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1所示: 2.对部分用例进行描述: “添加课程”用例 1) 用例名:添加课程 2) 执行者:管理员 3) 目的:管理员通过系统界面进入,添加所要开设的课程,确认无误后将其信息保 存到数据库中,以供学生选择。 4) 过程描述: 5) 管理员选择进入管理界面,用例开设 6) 系统提示输入管理密码 7) 管理员输入密码 8) 系统验证密码 9) A1:密码错误 ?1 ????????? ???? ????

10)进入管理界面,系统显示目前所建立的全部课程信息 11)管理员选择添加课程 12)系统提示输入新课程信息 13)管理员输入信息 14)系统验证是否和已有的课程冲突 15)A2:有冲突 16)10)系统添加新课程,提示课程添加成功 17)11)系统重新进入管理界面,显示所有课程 18)12)用例结束 19)异常事件流处理: 20)A1:密码错误:1)系统提示再次输入。2)用户确认后进入第5)步。 21)A2:有冲突:1)系统提示冲突,显示冲突的课程信息。2)用户重新输入,验证无误后进入第10)步。 “选课”用例 1)用例名:选课 2)执行者:学生 3)目的:学生进入选课系统界面,浏览的课程,最后选择一门自己喜欢的课程并提交。 4)过程描述: 5)1)学生进入选课登录界面,用例开始 6)2) 系统提示输入学号与密码 7)3) 学生输入学号与密码 8)4)系统验证 9)A1:验证错误 10)5) 进入选课主界面 11)6)学生点击选课 12)7)系统显示所有课程信息 13)8)学生选择课程 14)9)系统验证课程是否可选 15)A2:不可选 16)10)系统提示课程选择成功 17)11)用例结束 18)异常事件流处理: 19)A1:验证错误:1)系统提示验证错误,提示重新输入。2)验证成功,进入第5)步 20)A2:不可选1)系统提示课程不可选及原因。2)学生重新选课。3)验证成功后进入第10)步 “修改”用例 1)管理员选择进入管理界面,用例开设 2)系统提示输入管理密码 3)管理员输入密码 4)系统验证密码 A1:密码错误 5)进入修改主界面,系统显示目前所建立的全部课程信息 6)管理员选择要修改的课程

Java 图片处理 格式转换

Java 图片处理(包括 Jmagick 的应用) 图片处理( 的应用)
作者: 佚名, 出处:IT 专家网,
2010-10-29 08:30
责任编辑: 谢妍妍,
近期有使用到图片的压缩处理,由于在之前用 Java 处理时,在低像素的情况下, Java 处理的效果确实很差,然后尝试了用网上推荐的免费开源的第三方软件,利用 Java 的 jni 调用 dll 文件进行处理,效果还可以。在此记录下,方便以后继续积累。
近期有使用到图片的压缩处理, 由于在之前用 Java 处理时, 在低像素的情况下, Java 处理的效果确实很差,然后尝试了用网上推荐的免费开源的第三方软件,利用 Java 的 jni 调用 dll 文件进行处理,效果还可以。在此记录下,方便以后继续积累。
1、纯 Java 类处理图片代码
Java 代码
以下是代码片段: 以下是代码片段: /** * 转换图片大小,不变形 * * @param img * 图片文件 * @param width * 图片宽 * @param height * 图片高 */ public static void changeImge(File img, int width, int height) { try { Image image = ImageIO.read(img); //图片尺寸的大小处理, 如果长宽都小于规定大小, 则返回, 如果有一个大于规定大小, 则等比例缩放 int srcH = image.getHeight(null); int srcW = image.getWidth(null); if (srcH <= height && srcW <= width) { return;

Java数据类型转换:强制类型转换 自动类型转换28

数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。 隐式转换(自动类型转换) 如果以下 2 个条件都满足,那么将一种类型的数据赋给另外一种类型变量的时,将执行自动类型转换(automatic type conversion)。 ?两种数据类型彼此兼容 ?目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据) 当以上 2 个条件都满足时,拓宽转换(widening conversion)发生。例如 byte 类型向 short 类型转换时,由于 short 类型的取值范围较大,会自动将 byte 转换为 short 类型。 在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。转换规则如下: ?数值型数据的转换:byte→short→int→long→float→double。 ?字符型转换为整型:char→int。 以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。 例 1 顾客到超市购物,购买牙膏 2 盒,面巾纸 4 盒。其中牙膏的价格是 10.9 元,面巾纸的价格是5.8 元,求商品总价格。实现代码如下: 1.public static void main(String[] args) { 2. float price1 = 10.9f; // 定义牙膏的价格 3. double price2 = 5.8; // 定义面巾纸的价格 4. int num1 = 2; // 定义牙膏的数量 5. int num2 = 4; // 定义面巾纸的数量 6. double res = price1 * num1 + price2 * num2; // 计算总价 7. System.out.println("一共付给收银员" + res + "元"); // 输出总价 8.} 上述代码中首先定义了一个 float 类型的变量存储牙膏的价格,然后定义了一个 double 类型的变量存储面巾纸的价格,再定义两个 int 类型的变量存储物品的数量,最后进行了乘运算以及和运算之后,将结果储存在一个 double 类型的变量中进行输出。 程序执行结果如下图 1 所示:

相关主题
文本预览
相关文档 最新文档