OST Module 2-1
OST Module 2-1
Argo UML
ArgoUML is an open-source developer tool that helps in creating complex designs and
diagrams. The free Windows program simplifies standard UML, so that businesses can easily
visualize projects that they intend to develop and deploy. The program requires working
knowledge of UML, so users can create a range of diagrams and better the designs as per
feedback.
UML is used by businesses to visualize different design systems. The general-purpose
language is used for development purposes and consists of a range of semantics, notations,
and diagrams. However, the language can be quite complex and most applications that
support it expect a basic knowledge of the technology.
ArgoUML, however, makes it easier for software developers and companies to create UML-
based development plans. It does it with a unique feature that supports decision
making and simplifies the modeling process. Created in 1998, the application provides
support for other standards like OCL-Object Constraint Language, SVG-Scalable Vector
Graphics, and XMI-Metadata Interchange and can run on any Java platform.
ArgoUML includes support for all standard UML 1.4 diagrams such as class diagram, state
chart diagram, activity diagram, use case diagram, collaboration diagram, deployment
diagram, sequence diagram etc.
Other than Java, it also generates code for C++, C#, PHP5, and PHP4. Since the application
uses Java Web Start, it can be opened directly from the web browser, instead of just a
desktop application.
When you download ArgoUML, you get access to a clean and simple interface that can help
you visualize a range of products for your business. The primary window of the program
consists of a drawing pane in which you can sketch your diagrams. Below the pane, you
have a details panel, where you can leave notes that help define the diagram that you’ve
created. You can even add links and documents here for future reference.
ArgoUML has two more panes, separate from the two mentioned above. One of these is the
explorer window. This section is designed to help users show a link between the diagrams
they’ve created to the design items as per the chosen perspective. The last pane of the
program consists of a ‘To-Do’ section where you can add tasks that you need to complete in
order of priority.
Features:
Supports decision making
Simplifies the modeling process
It supports OCL, SVG, and XMI and can run on any Java platform.
It is Compliant with UML 1.1
It provides cognitive backing via its modeling structure
JetUML
JetUML is an open-source UML desktop application for creating and editing diagrams. It is
supporting sketching, available both as a self-contained application and as a Java archive
file.It is licensed under GPL-3.0 License and written in Java.
StarUML
StarUML is a software modeler for agile and concepts modeling for macOS windows and
different types of Linux(Ubuntu, Debian, Redhat, fedora).It supports code generation for
various programming languages such as Java, C#, C++, and Python.It also has Open APIs.
It is licensed under MIT license.
Figure: StarUML Window
Features:
Compatible with UML 2.x
Support modeling with SysML diagrams
Cross-Platform Support
Auto Update
Retina Display Support
Extension Manager
Model-Driven Development
The data are stored in a very simple JSON format,
Fast Modeling
Dark and Light Themes
Command Palette
PDF Export for Clean Printing
It supports Markdown language
Other UML tools : UMLet, PlantUML, Eclipse Papyrus, Gliffy are few other examples of
UML tools
Version Control System
Version Control, also known as source control, is the practice of tracking and managing
changes to software code. Version control systems are software tools that help software
teams manage changes to source code over time. Version control systems help software
teams to work smarter and faster.
Version control software keeps track of every modification to the code in a special kind of
database. Software developers working in teams continually write new source code and
change existing source code. The code for a project, app or software component is typically
organized in a folder structure or “file tree”. One developer on the team may be working on
a new feature while another developer fixes an unrelated bug by changing code, each
developer may make their changes in several parts of the file tree.
Version control helps teams to track every individual change by each contributor and
helping prevent concurrent work from conflicting. Changes made in one part of the software
can be incompatible with those made by another developer working at the same time. This
problem should be discovered and solved in an orderly manner without blocking the work of
the rest of the team. Further, in all software development, any change can introduce new
bugs and new software can't be trusted until it's tested. So, testing and development
proceed together until a new version is ready.
Good version control systems facilitate a smooth and continuous flow of changes to the
code. Version control software is an essential part modern software team's professional
practices. They are especially useful for DevOps teams since they help them to reduce
development time and increase successful deployments.
Example: There are 3 workstations or three different developers at three other locations,
and there's one repository acting as a server. The work stations are using that repository
either for the process of committing or updating the tasks.
There may be a large number of workstations using a single server repository. Each
workstation will have its working copy, and all these workstations will be saving their source
codes into a particular server repository.
This makes it easy for any developer to access the task being done using the repository. If
any specific developer's system breaks down, then the work won't stop, as there will be a
copy of the source code in the central repository.
Benefits of Version Control
Managing and Protecting the Source Code
The Version Control System helps manage the source code for the software team by
keeping track of all the code modifications. It also protects the source code from any
unintended human error and consequences.
Keeping Track of All the Modifications Made to the Code
The team working on the project continuously produces new source codes and keeps
making amendments to the existing code. These changes are recorded for future references
and can be used if ever needed in the future to discover the root cause of any particular
problem.
Comparing Earlier Versions of the Code
Since all the versions of the code are saved, this makes it possible for developers to go back
at any time and compare the earlier versions of the code to help fix the mistake while
reducing disruption to all team members.
Supports the Developers’ Workflow and Not any Rigid Way of Working
Any suitable Version Control software will not impose any particular way of working. The
Version Control Systems are known to provide a smooth and continuous flow of changes
made to the code and prevent developers from getting frustrated in this clumsy mechanism.
Advantages of Bootstrap:
It is very easy to use. Anybody having basic knowledge of HTML(Hyper Text Markup
Language) and CSS(Cascading Style Sheets) can use Bootstrap.
It facilitates users to develop a responsive website.
It is compatible on most of browsers like Chrome, Firefox, Internet Explorer, Safari and
Opera etc.