| Unified
Modeling Language (UML)
|
Definition
The Unified Modeling Language
(UML) is a standard language for specifying, visualizing, constructing, and documenting
the artifacts of software systems, as well as for business modeling and other
non-software systems. The UML represents a collection of best engineering practices
that have proven successful in the modeling of large and complex systems. The
UML is a very important part of developing object oriented software and the software
development process. The UML uses mostly graphical notations to express the design
of software projects. Using the UML helps project teams communicate, explore potential
designs, and validate the architectural design of the software. Large
enterprise applications - the ones that execute core business applications, and
keep a company going - must be more than just a bunch of code modules. They must
be structured in a way that enables scalability, security, and robust execution
under stressful conditions, and their structure - frequently referred to as their
architecture - must be defined clearly enough that maintenance programmers can
(quickly!) find and fix a bug that shows up long after the original authors have
moved on to other projects. That is, these programs must be designed to work perfectly
in many areas, and business functionality is not the only one (although it certainly
is the essential core). Of course a well-designed architecture benefits any program,
and not just the largest ones as we've singled out here. We
mentioned large applications first because structure is a way of dealing with
complexity, so the benefits of structure (and of modeling and design, as we'll
demonstrate) compound as application size grows large. Another benefit of structure
is that it enables code reuse: Design time is the easiest time to structure an
application as a collection of self-contained modules or components. Eventually,
enterprises build up a library of models of components, each one representing
an implementation stored in a library of code modules. Modeling
Modeling is the designing of software applications before coding. Modeling is
an Essential Part of large software projects, and helpful to medium and even small
projects as well. A model plays the analogous role in software development that
blueprints and other plans (site maps, elevations, physical models) play in the
building of a skyscraper. Using a model, those responsible for a software development
project's success can assure themselves that business functionality is complete
and correct, end-user needs are met, and program design supports requirements
for scalability, robustness, security, extendibility, and other characteristics,
before implementation in code renders changes difficult and expensive to make.
Surveys show that large software projects
have a huge probability of failure - in fact, it's more likely that a large software
application will fail to meet all of its requirements on time and on budget than
that it will succeed. If you're running one of these projects, you need to do
all you can to increase the odds for success, and modeling is the only way to
visualize your design and check it against requirements before your crew starts
to code. Raising the Level of Abstraction:
Models help us by letting us work at a higher level of abstraction. A
model may do this by hiding or masking details, bringing out the big picture,
or by focusing on different aspects of the prototype. In UML 2.0, you can zoom
out from a detailed view of an application to the environment where it executes,
visualizing connections to other applications or, zoomed even further, to other
sites. Alternatively, you can focus on different aspects of the application, such
as the business process that it automates, or a business rules view. The new ability
to nest model elements, added in UML 2.0, supports this concept directly.
You may also like this : EDGE, Holographic Data Storage , Integer Fast Fourier Transform, NRAM, Orthogonal Frequency Division Multiplplexing , Ovonic Unified Memory, 4G Wireless Systems , Daknet, AC Performance Of Nanoelectronics , High Performance DSP Architectures, Millipede , Free Space Laser Communications, Short Message Service (SMS), Conditional Access System , SyncML, Virtual keyboard, High Altitude Aeronautical Platforms, MANET , Smart Fabrics, Dynamic Virtual Private Network, Blue Tooth, Autonomic Computing , Voice Over Internet Protocol, Artificial Neural Network (ANN) , DNA Based Computing, Digital Subscriber Line , Freenet, Access gateways , Free Space Optics, Introduction to the Internet Protocols, High Altitude Aeronautical Platforms, Fiber Distributed Data Interface , Hyper-Threading technology , IMode, Cyberterrorism Adding Intelligence to Internet, Self-Managing Computing, Unified Modeling Language (UML), Socket Programming, SAM, VoCable , ATM with an Eye,Mind Reading Computer, Blue Brain, 6G Wireless, Touch Screens,IT Seminar Reports, PPT and PDF.
|
<<back |