OSS uml

Published on January 2017 | Categories: Documents | Downloads: 54 | Comments: 0 | Views: 296
of 6
Download PDF   Embed   Report

Comments

Content

1.ArgoUML is an UML diagramming application written in Java and released under the open source Eclipse Public License. By virtue of being a Javaapplication, it is available on any platform supported by Java. ArgoUML does not yet completely implement the UML standard.
Contents
[hide]
[1]

     

1 History 2 Features 3 Weaknesses 4 See also 5 References 6 External links

History[edit]
ArgoUML was originally developed at UC Irvine by Jason E. Robbins, leading to his Ph.D. It is now an open source project hosted by Tigris.org. The ArgoUML project now includes more than 19,000 [2] registered users and over 150 developers. In 2003, ArgoUML won the Software Development Magazine's annual Readers' Choice Award in the [3] “Design and Analysis Tools” category. ArgoUML development has suffered from lack of manpower. For example, Undo has been a perpetually [citation needed] requested feature since 2003 but has not been implemented yet.

Features[edit]
This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (November 2010)          All 9 UML 1.4 diagrams supported though not yet implemented. Only class diagram and use-case diagrams are more or less fully implemented. Closely follows the UML standard. Platform independent – Java 1.5+. Click and Go! with Java Web Start (no setup required, starts from your web browser). Standard UML 1.4 Metamodel. XMI support. Export diagrams as GIF, PNG, PS, EPS, PGML and SVG. Available in ten languages: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH. Advanced diagram editing and zoom.

    

Built-in design critics provide unobtrusive review of design and suggestions for improvements. Extensible modules interface. OCL support. Forward engineering (code generation supports C++ and C#, Java, PHP 4, PHP 5, Python, Ruby and, with less mature modules, Ada, Delphi and SQL). Reverse engineering / JAR/class file import.

Weaknesses[edit]
  Partial undo feature (working for graphics edits support UML 2
[4][5]

)

2. StarUML - The Open Source UML/MDA Platform
StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal of the StarUML project is to build a software modeling tool and also platform that is a compelling replacement of commercial UML tools such as Rational Rose, Together and so on.

 

 

UML 2.0 : UML is continuously expanding standard managed by OMG(Object Management Group). Recently, UML 2.0 is released and StarUML support UML 2.0 and will support lastest UML standard. MDA (Model Driven Architecture) : MDA is a new technology introduced by OMG. To get advantages of MDA, software modeling tool should support many customization variables. StarUML is designed to support MDA and provides many customization variables like as UML profile, Approach, Model Framework, NX(notation extension), MDA code and document template and so on. They will help you fitting tool into your organizational cultures, processes, and projects. Plug-in Architecture : Many users require more and more functionalities to software modeling tools. To meet the requirements, the tool must have well-defined plug-in platform. StarUML provides simple and powerful plug-in architecture so anyone can develop plug-in modules in COM-compatible languages (C++, Delphi, C#, VB, ...) Usability : Usability is most important issue in software development. StarUML is implemented to provide many userfriend features such as Quick dialog, Keyboard manipulation, Diagram overview, etc. StarUML is mostly written in Delphi. However, StarUML is multi-lingual project and not tied to specific programming language, so any programming languages can be used to develop StarUML. (for example, C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET, ...)

 o o o o o o o o o  o o o  o   o o 

UML 2.0 Diagrams Use Case Diagram Class Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Composite Structure Diagram (UML 2.0) Various Language Support Java Profile, Code Generator and Reverse Engineer. C++ Profile, Code Generator and Reverse Engineer. C# Profile, Code Generator and Reverse Engineer. Microsoft Office Document Generation Microsoft Word document template and generation. Automatic Index generation. Automatic TOC(Table of Contents) update. Microsoft Excel document template and generation. Microsoft PowerPoint document template and generation. Customizable Code Generation.

o o  o  o o  o o o o o   o o  o  o o o  o o   o o

Text-based code template and generation. Script-enabled (JScript) Support MDA Technology (UML profiles and customizable diagrams) User-defined UML profile support. (XML) Diagram Extensibility (Define your own type of diagram beyond the UML) User-defined Diagram support (e.g. ERD, BPMN, ...) LISP-style NX(Notation Extension) language support. Extensibility Open API (COM Automation) COM-based plug-in architecture. Event subscription Model template (named as Approach). Model framework support. (MFC, J2EE, ....) Controlling Units and Fragments. High Compatibility Rational Rose Import. XMI 1.1 - UML 1.3 Import, Export (Unisys XMI support) Editing Quick dialog Short-cut commands Multiple Undo/Redo Diagram overview Keyboard manipulations User-Interface VS.NET look and feel. Dockable windows Model Verification (based on UML 1.4 well-formedness rules) Pattern Support GoF, EJB patterns User-defined patterns

3. Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE
Technology. UML allows you to create diagrams of software and other systems in a standard format to document or design the structure of your programs. You may take a look at the screenshots to see umbrello in action. Our handbook gives a good introduction to Umbrello and UML modelling. Umbrello comes with KDE SC, included with every Linux distribution and available through your package manager. See Installation to install Umbrello.

4.Dzine is an Open Source CASE tool for OOAD. Draw use case ,interaction ,class ,deployment ,ER Diagrams. Code generation in C++ and java. Normalise your ER diagrams and generate SQL code. Reverse engg design from code. Just put in your Java or C++ code and generate class diagrams. Easiest way to obtain design from code

d'zine.approach
D'zine is a UML Daigramming tool. It follows the standards and syntax of UML Notation . Dzine uses the Use Case aproach to Object Oriented Analysis and Design. It covers the requirements, design and code par tof the SDLC.

project highlights
d'zine.modules

Dzine was a part of the National Level Microsoft Student Project Expo 2005, held in Chennai, India.The Expo showcases some of the finest projects on the .NET platform developed by students

Use Case Diagram For gathering static snapshot of the system

Interaction Diagrams d'zine supports two interaction diagrams namely collaboration and sequence diagrams, each dependent on the other for gathering dynamic reqts or system flow. THere is also a class Identification wizard that helps you identify classes from the above mentioned diagrams using the noun phrase or CRC approach. Class Diagrams to draw te implementation architecture of the design. Dzine supports most of the UML notations for designign class diagrams. Deployment Diagram To capture the deployment scenario of the architecture. Database Design To design relational databases using the ER Approach. Dzine allows you to map relatinships, cardinality etc. Relational schema can be generated for the modelled ER Diagram and then normailsed to generate SQL code. Code Generation Code can be generated for the class diagram that is modelled. COde can be deisgned presently in two languages, C++ and JAVA. SQL code generation also has to be done in ths module. Design Generator Generate Class diagrams for syntactically correct Java or C++ code. Just put all the classes into a single file or place it in the code area and then click on Generate Class Diagram.

5. AndroMDA is an open source MDA framework - it takes any number of models (usually UML models
stored in XMI produced from case-tools) combined with any number of andromda plugins (cartridge and translation-libraries) and produces any number of custom components. You can generate components for any language you want, Java, .Net, HTML, PHP, anything really, you just write (or customize existing) plugins to support it and you're good to go.

Okay, that all sounds fine, but what can AndroMDA do for me *now* ?
At the time of this writing AndroMDA is mostly used by developers working with J2EE technologies. Out-of-the-box AndroMDA can setup a new J2EE project from scratch, in which code is generated from a UML model. You can choose to generate code for Hibernate, EJB, Spring, WebServices, and Struts. The generated code is automatically integrated into the build process. In doing so you will only need to spend a little time getting to know AndroMDA and you're good to go, you will see it is very efficient to have the code generated for you, while keeping your focus on business logic. Additionally AndroMDA ships with a few tools to make your life easier:

 

As already mentioned, we have a tool to generate project templates such as for J2EE: andromdapp:generate, this is a maven plugin. Schema2XMI is able to read your database and build an XMI file from it, which can then be used to load as a UML model.

Tell me a little bit more about MDA and code generation
In the classical sense of software engineering, one first determines what the system needs to do (the analysis phase). In this step the developer or architect has something in mind that will eventually be translated into a formal and platform specific system, it will require an actual person to implement this translation using a language such as ASM, C, C++, Java, ... With MDA we attempt to simplify the job of the developer/architect, we achieve this by making it easier for him/her to digitalize the ideas he/she has in mind (the Mental Model or MM): we let him/her create the Platform Independent Model or PIM, this model is a one-or-one mapping of the MM into a more formal language such as UML. This approach has several obvious advantages:

   

It is a very straightforward translation process The developer/architect keeps focus on the business logic, not the underlying technology The PIM can be reused later, it is not bound to any existing platform The PIM is a useful medium to communicate ideas to others

The next step is to have a way to transform the PIM into program code, the MDA way of doing this is to gradually refine the model into a more Platform Specific Model orPSM and marshall this model into the code that would actually be written manually. This is where AndroMDA kicks in: different cartridges exist that will analyze the given PIM and construct a PSM with which templates are used to produce code. You'll see that a lot of code often is boilerplate and will never require a manual change, if some code does require a change there are a few different ways of elegantly solving that problem. A very important thing to know about AndroMDA is that the transformation process is controlled using plugins called cartridges and each cartridge is very easy to tune: you will never encounter a case where you will not be able to have your specific code generated from the model. Any type of customization is possible, therefore you won't get stuck. On the other hand it is very important to realize AndroMDA is here to help eliminate boring and repetitive tasks, while at the same time allowing your model to reallycommunicate what the system is doing. it is not meant be a Silver Bullet solution where the computer takes over your job and you just sit back and stop thinking.

How does AndroMDA work ?
AndroMDA reads models into memory making these object models available to its plugins. These plugins define exactly what AndroMDA will and will NOT generate. Each plugin is completely customizable to a project's specific needs. We invite you to get to know AndroMDA, here are three links that will point you in the right direction:

  

Getting started AndroMDA Samples Releases

Why would you want to use it ?
You would want to use AndroMDA for a number of reasons: 1. It eliminates the need to write redundant code. 2. Your project models WILL reflect your code. 3. Projects are documented/diagrammed in a standard platform independent way making it much easier/faster to adapt to ever rapidly changing technologies. 4. You'll have artifacts (your models) that allow much easier communication with the business side of things.

How does it compare to other tools ?
As opposed to other MDA tools we are not spending our time and effort promoting this free software product, neither are we trying to attract developers using catchy slogans or aggressive sales tactics. Instead, we let the product speak for itself, we believe that a great product can only be achieved when strict criteria are met! This is what AndroMDA guarantees:



Community driven: Development is driven by community support, our userbase is worldwide, anyone can participate in the development process, be it by submitting patches, requesting features or filing bugs. Vision: A few core developers keep the development process in tight control, it is important AndroMDA doesn't get bloated with features and the ones that are added will properly be maintained and supported. Pragmatic: Instead of blindly implementing specifications we support features people actually need. Open: You will simply *never* get stuck using AndroMDA, it is possible to customize the runtime behavior at any point. This is perhaps one of the most important aspects of a tool that is designed to help you with your projects. Modular: AndroMDA is a micro-kernel supporting plugins for different types of components, AndroMDA ships with a default implementation for each of these components. Any one of them can be replaced by a customized one. Docs: Up-to-date documentation reflects the state of the product, we have two websites, one for the stable releases and one for the nightly builds. Responsiveness: Users appreciate it when they know their questions will be answered. Developers on our mailing list are known to respond to any email within the day; actually, most of the time replies to emails are received within the hour, this is achieved by people from different timezones monitoring the list. Release often: People have access to the latest changes in development as well as access to stable releases. These stable releases are to be updated once a month (as per AndroMDA 3.0 final). Testing: AndroMDA is under constant development, and improvements are added on a daily basis. It is mandatory that we make sure nothing ever gets broken without us knowing, for this reason we run regression tests on all components.



 



 





Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close