天天看點

Borland's ALMJava and UMLJBuilder and UML

Building Applications with JBuilder - Borland   Borland's ALM(application lifecycle management)  

Creating and managing projects

JBuilder does everything within the context of a project. As used in this documentation, the term project includes all the files within a user-defined body of work, the directory structure those files reside in, and the paths, settings, and resources required.

The project is an organizational tool, not a repository. This means that files in a project can be in any folder. Restructuring a project tree has no effect on your directory tree. This gives you independent control of projects and directory structure.

Each project is administered by a project file. The project files name is the name of the project with a jpx extension. The project file contains a list of files in the project and maintains the project properties, which include default paths, class libraries, and connection configurations. JBuilder uses this information when you load, save, build, or run a project. Project files are modified whenever you use the JBuilder development environment to add or remove files or set or change project properties. You can see the project file as a node in the project pane. Listed below it are all the packages and files in the project.

Compiling Java programs

A Java compiler reads Java source files and produces the Java program in the form of .class files containing bytecodes that are the machine code for the Java Virtual Machine (VM). Compiling produces a separate .class file for each class and interface declaration in a source file. When you run the resulting Java program on a particular platform, such as Windows NT, the Java interpreter for that platform runs the bytecodes contained in the .class files. For general information about compiling in Java, see the Java Development Kit (JDK) compiler overview, see javac - The Java programming language compiler in the Java SDK Tools and Utilities.

The default compiler for the JBuilder IDE, Borland Make for Java (bmj), has full support for the Java language. Borland Make uses the standard javac compiler in conjunction with smart dependencies checking. The dependency checker, which makes the compiling/recompiling cycle faster and more efficient, determines the nature of source code changes and only recompiles the necessary files.

Java and UML

Because Java and UML are object-oriented and platform-independent, they work well together. UML, a valuable tool in understanding Java and the complex relationships between classes and packages, assists Java developers in understanding not just a single class but the entire package. In particular, UML can help Java developers who are new to a team get up to speed more quickly on the structure and design of the software system.

Java and UML terms

Although Java and UML share similar concepts, some of the terms used to label these concepts are different. UML, which is designed to describe a wide range of different scenarios, uses much broader terms to describe different relationships. Listed in the following table are definitions of Java-specific terms and the corresponding UML terms. Throughout this documentation, Java terms are used.

In particular, it's important to understand the terms, dependency and association. Dependencies and associations are types of relationships that two or more classes can have to each other. Classes have a dependency when the implementation of one class can be affected by the implementation of another class. An association is a type of dependency where an object of one class can be used to navigate to an object of another class. An association is considered to be a stronger form of dependency. If two classes have both a dependent and associated relationship, the UML browser only displays the association.

Java term Java definition UML term UML definition
Inheritance

A mechanism that allows a class or

interface to be defined as a

specialization of another more

general class or interface. For

example, a subclass (child) inherits

its structure and behavior, such as

fields and methods, from its

superclass (parent). Classes and

interfaces that inherit from a parent

use the extends keyword.

Generalization/

Specialization

A specialized to generalized

relationship in which a specific

element incorporates the structure

and behavior of a more general

element.

Dependency

A using relationship in which a

change to an independent object

may affect another dependent

object.

Dependency

A relationship where the semantic

characteristics of one entity rely

upon and constrain the semantic

characteristics of another entity.

Association

A specialized dependency where a

reference to another class is stored.

Relationship

(Association)

A structural relationship that

describes links between or among

objects.

Interface

A group of constants and method

declarations that define the form of

a class but do not provide any

implementation of the methods. An

interface specifies what a class

must do but not how it gets done.

Classes and interfaces that

implement the interface use the

implements keyword.

Realization/

Interface

A collection of operations used to

specify a service of a class or

component. States the behavior of

an abstraction without the

implementation of that behavior.

Method

The implementation of an operation

which is defined by an interface or

class.

Operation

An implementation of a service that

can be requested by an object and

can affect that object's behavior.

Operations are usually listed below

the attributes in a UML diagram.

Field

An instance variable or data

member of an object.

Attribute

A named property of a classifier,

such as a class or an interface, that

describes values that instances of a

property can hold.

Property

Information about the current state

of a component. Properties can be

thought of as named attributes of a

component that a user or program

can read (get) or write (set). In a

UML diagram, a property exists

when a field name matches a

method name which is preceded by

is, set, or get. For example, a

field named parameterRow is a

property if it has a method named

setParameterRow().

Attribute

A named property of a classifier,

such as a class or an interface, that

describes values that instances of a

property can hold.

Tagged value

An extension of the properties of a

UML element. A tagged value

consists of a tag, which is the name

of a property, and a value. Tagged

values display below the name of a

superclass and each subclass of

the diagrammed class.

JBuilder and UML

JBuilder focuses on code visualization and UML diagramming specific to the Java language, rather than replacing the many available UML design tools. UML functionality in JBuilder allows you to visually browse packages and classes to help you better design, understand, and troubleshoot your application development process.