尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
Modeling Software Architecture with UML
Ramesh Ponnala1
, Gangadhar Adepu2
, Santhosh Kumar Nallavelly3
1
Asst. Professor, Dept. of Computer Science & Engineering,
Sree Chaitanya Institute of Technological Sciences, Andhra Pradesh, India
ramesh.ponnala@gmail.com
2
Asst. Professor, Dept. of Computer Science & Applications,
Sree Chaitanya Institute of Management & Computer Sciences, Andhra Pradesh, India
gangadhar24mca@gmail.com
3
Asst. Professor, Dept. of Computer Science & Applications,
Sree Chaitanya Institute of Management & Computer Sciences, Andhra Pradesh, India
santhosh1714@gmail.com
Abstract: Software Architecture is being widely used today to describe a very high level design methodology of large & heterogeneous
software systems. A good Architectural representation scheme holds the key to the effectiveness of a Software architecture description
and usage. In this paper, we look at UML (unified modeling language) as a prospect for a generalized architecture description
language. UML also “unifies" the design principles of each of the object oriented methodologies into a single, standard, language that
can be easily applied across the board for all object-oriented systems and a scheme AND-OR DFD method is introduced and developed.
Keywords: Software Architecture, Unified Modeling Language, Software Architectural modeling view
1. Introduction
An Architectural Style defines a family of systems in terms
of a pattern of structural organization. An awareness of
these Architectural styles can simplify the problem of
defining system architectures. However, most large
systems are heterogeneous and do not follow a single
architectural style. Software Architecture determines how
system components are identified and allocated, how the
components interact to form a system, the amount and
granularity of communication needed for interaction, and
the interface protocols used for communication among
stakeholders: Customers, managers, designers,
programmers. Software Architecture consists of
components, connectors, data, a configuration, and a set of
architectural properties.
An important feature of architecture is the ability to
facilitate development of large systems, with components
and connectors of varying granularity, implemented by
different developers, in different programming languages,
and with varying operating system requirements. [1]
1.1 Component:
A component is an abstract unit of software that
provides a transformation of data via its interface.
Components can be computation units or data stores.
According to [2], components are loci of computation
and state.
1.2 Connector:
A connector is an abstract mechanism that mediates
communication, coordination, or cooperation among
components. The connectors play a fundamental role in
distinguishing one architectural style from another and
have an important effect on the characteristics of a
particular style [3].
1.3 Datum:
A datum is an element of information that is transferred
from a component, or received by a component, via a
connector.
1.4 Configuration:
A configuration is the structure of architectural
relationships among components, connectors, and data
during some period of system run-time.
2. Literature Review
UML was created by Object Management Group (OMG)
and UML 1.0 specification draft was proposed to the OMG
in January 1997. OMG is continuously putting effort to
make a truly industry standard. [4] UML stands for Unified
Modeling Language.
 UML is different from the other common programming
languages like C++, Java, and COBOL etc.
 UML is a language to specify, to visualize and to build
and to document the artifact of the software systems, as
well as to model business and other systems besides
software systems. [4]
UML is a pictorial language used to make software blue
prints. UML (Unified modeling language) is a clear and
concise modeling language without being tied down to any
technologies. It provides the ability to capture the
characteristics of a system by using notations and is the
language that can be used to model systems and make them
readable. UML provides a wide array of simple, easy to
understand notations for documenting systems based on the
21
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
Object-Oriented Design principles. These notations are
called the nine diagrams of UML.
2.1 UML Diagrams
A diagram is the graphical presentation of a set of elements,
most often rendered as a connected graph of vertices (things)
and arcs (relationships). A diagram represents an elided view
of the elements that make up a system. The UML includes
nine such diagrams.
2.1.1Use case Diagram:
This diagram is used to identify the primary elements and
processes that from the system. The primary elements are
termed as "actors" and the processes are called "use cases".
2.1.2Class Diagram:
A class diagram shows a set of classes, interfaces, and
collaborations and their relationships. This diagram is used
to refine the use case diagram and define the detailed design
of the system. The class diagram classifies the actors defined
in the use case diagram into a set of interrelated classes. The
relationship or association between the classes can be either
an "is-a" or "has-a" relationship. Each class in the class
diagram may be capable of providing certain functionalities.
Class diagrams address the static design view of a system.
2.1.3 Object Diagram:
An object diagram shows a set of objects and their
relationships. Object diagrams represent static snapshots of
instances of the things found in class diagrams. These
diagrams address the static design view or static process
view of a system as do class diagrams, but from the
perspective of real or prototypical cases.
The object diagram is a special kind of class diagram. An
object is an instance of a class. This essentially means that an
object represents the state of a class at a given point of time
while the system is running. The object diagram captures the
state of different classes in the system and their relationships
or associations at a given point of time.
2.1.4 State Diagram:
A state chart diagram shows a state machine, consisting of
states, transitions, events, and activities. State chart diagrams
address the dynamic view of a system. Objects in the system
change states in response to events. In addition to this, a state
diagram also captures the transition of the object's state from
an initial state to a final state in response to events affecting
the system.
2.1.5 Activity Diagram:
Activity diagram is used to capture the process flows in the
system. Similar to a state diagram, an activity diagram also
consists of activities, actions, transitions, initial and final
states, and guard conditions. Activity diagrams address the
dynamic view of a system. They are especially important in
modeling the function of a system and emphasize the flow of
control among objects.
2.1.6Sequence Diagram:
A sequence diagram represents the interaction between
different objects in the system. This means that the exact
sequence of the interactions between the objects is
represented step by step. Different objects in the sequence
diagram interact with each other by passing "messages".
Sequence diagrams are called interaction diagrams in UML,
which emphasizes the time-ordering of messages.
2.1.7Collaboration Diagram:
A collaboration diagram groups together the interactions
between different objects. This diagram helps to identify all
the possible interactions that each object has with other
objects. Collaboration diagram is an interaction diagram that
emphasizes the structural organization of the objects that
send and receive messages.
2.1.8Component Diagram:
The component diagram represents the high-level parts that
make up the system. This diagram depicts, at a high level,
what components form part of the system and how they are
interrelated. It also depicts the components called after the
system has undergone the development or construction
phase. Component diagrams address the static
implementation view of a system. They are related to class
diagrams in that a component typically maps to one or more
classes, interfaces, or collaborations.
2.1.9Deployment Diagram:
The deployment diagram captures the configuration of the
runtime elements of the application. This diagram is by far
most useful when a system is built and ready to be deployed.
A deployment diagram shows the configuration of run-time
processing nodes and the components that live on them.
Deployment diagrams address the static deployment view of
the architecture.
2.2 Architectural Modeling Views
To describe Software Architecture, we use a model
composed of multiple views or perspectives. In order to
eventually address large and challenging architectures, the
model we propose is made up of six main views:
 Logical view, which is the object model of the
design(when an object-oriented design method is used)
 Process view, this view deals with concurrency and
distribution, system integrity, and fault tolerance [5].
 Component view, which shows the grouped modules of
a given system, modeled using the component diagram.
 Development view, which describes the static
organization of the software in its development
environment.
 Physical view, which describes the mapping(s) of the
software onto the hardware and reflects its distributed
aspect.
22
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
 Execution view, which is the runtime view of the
system. It involves the mappings of modules to run-
time images, defining the communication among them,
and assigning them to physical resources. Resource
usage and performance are key concerns in the
execution view.
Figure 1: “6+1” View Modeling a System's Architecture
3. Experimental Results: C2 Generator
Let us consider a software system called C2 Generator. This
software system would be written in an object oriented
language like JAVA and it attempts to generate an
architectural representation diagram based on the C2
Generator architecture [6].
It takes as input the components of the system to be
modeled, the connectors and a list of who notifies whom.
But it will suffice to say here that C2 Generator is an
architecture description language (ADL) that is used to
model user interface intensive software systems i.e.,
applications that have a graphical user interface (GUI)
aspect.
This architectural style consists of components and
connectors. Components and connectors both have a defined
top and bottom. The top of a component may be connected
to the bottom of a single connector. The bottom of a
component may be connected to the top of a single
connector. There is no bound on the number of components
or connectors that may be attached to a single connector.
In C2-style architecture, connectors transmit messages
between components, while components maintain state;
perform operations, and exchange messages with other
components via two interfaces which are called top and
bottom.
Each interface consists of a set of messages that may be sent
and a set of messages that may be received. Inter-component
messages are either requests for a component to perform an
operation, or notifications that a given component has
performed an operation or changed state.
In the C2 style, components cannot interact directly but can
do so using the connectors. Each component interface can be
attached to at most one connector. A connector, however,
can be attached to any number of other components and
connectors. Request messages can only be sent “upward”
through the architecture, and notification messages can only
be sent “downward.”The C2 style has another requirement
that the components communicate with each other only
through message passing and never through shared memory.
Also, C2 requires that notifications sent from a component
correspond to the operations of its internal object, rather than
the needs of any components that receive those notifications.
This constraint on notifications helps to ensure substrate
independence, which is the ability to reuse a C2 component
in architectures with differing substrate components (e.g.,
different window systems). The C2 style explicitly does not
make any assumptions about the language(s) in which the
components or connectors are implemented, whether or not
components execute in their own threads of control, the
deployment of components to hosts, or the communication
protocol(s) used by connectors.
There are four primary components in this software. The
CreateConnection component has five subcomponents,
which are the various steps taken to create a connection.
First, the component to be connected to first created
component is identified from the connection list. Then new
ports are created and attached to both these components. We
assume here for simplicity that both components can have
unlimited number of ports and so unlimited number of
connections. Then the connector is created and the two ports
are connected. It is obvious that the steps in creating a new
connection start with reading a component name from the
connection list till the connector is attached to the two newly
formed ports. This whole process has to be repeated till there
are no more entries in the connection list. This iterative
property of the system cannot be known from the
decomposition model, though it must occur if the system
executes correctly. Second, there might be repeated entries in
the connection list.
Table 1: Process Decomposition of C2 Generator
Module Name Submodule(s)
1) ReadInput
2) CreateComponent
3) ReadConnectionList
4) CreateConnection CreateComponentToBeConnected
CreatePorts
ConnectPortsToBothComponents
CreateConnector
ConnectBothPortsWithConnector
There is no restriction to the number of connections one
component can have with other components. For an entry
that refers to a component which has already been created,
one doesn’t need to create it again, but just identify that
component and create a new port. Hence, once an entry has
been read from the Connection List, one of two things
happen depending on the read value. Either the component
doesn’t exist and needs to be created, or it exists and needs
to be identified. Again, there is no way of knowing this from
the decomposition model. Let us now consider how the
AND-OR DFD tackles these issues.
23
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
3.1 AND-OR DFD Representation of C2 Generator
Figure 2: AND-OR DFD representation of C2 Generator
From Figure 2, we see that the data flow is represented by
this modified DFD, but with two significant differences.
Firstly, there is an OR-group of two components that
illustrate that once an entry has been read from the
connection list, either a new component is created, or control
moves to an existing component, depending on the value
read from the connection list. Second, the iterative portion of
the system has been illustrated by a shaded box. So we now
can tell that the steps starting from the reading of the
connection list to the connection of the ports by a connector
are iterative and are executed for each entry in the
connection list
3.2 Architecting UML of C2 Generator
In order to see how UML can construct the Software
Architecture of a system, let us go back to the example of the
C2 Generator. Table 2 shows the logical decomposition of
the system. The use of layering in modeling C2 style
architecture for GUI intensive software systems [6] and the
use of layering in representation of module view of an
architecture using UML also indicate the vast potential for
the layering style.
The logical (conceptual) decomposition highlights the main
components of the system and their subcomponents if any.
Table 2: Logical Decomposition of C2 Generator
Module Name Sub Module(s)
1) C2
Generator
2) Component
3) Port
4) Connection
CreateComponent
CerateConnector
UpdateComponentList
UpdateConnectionList
CheckForFreePort
CreatePort
CreateConnector
UpdateConnectingComponen
t
UpdateConnectedComponent
We see that the C2Generator component has the task of
creating the component(s) and the connector, and updating
the component and connection lists. The component module
checks for free ports on the component(s) and if there are
free ports, then it creates the physical port. The Port
component creates the connector in turn, and the connector
component joins the two components (called the connecting
component and the connected component here) and updates
the two components for the connection created.
3.3 Conceptual View of C2 Generator
From table2, we came to know about Logical decomposition
of C2 Generator. Let us now try to construct the logical
architectural view for C2 Generator. Figure 2 shows the
conceptual architectural view of the C2 Generator using
UML constructs.
Figure 3: Conceptual view of C2 Generator
Figure 3 show the conceptual architectural view of the C2
Generator using UML constructs [7]. The problem with this
24
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
representation lies in the relationship of the port and the
Connector Conn. i.e. a connector can be broken off from one
component and joined to another component. So a
composition doesn’t hold good here. Even an aggregation
doesn’t hold good because when the connector is isolated
from the ports of both the connecting components, it ceases
to exist independently. So here is a situation where there is a
composition relationship that involves two components and a
connector.
3.4 Execution View of C2 Generator
The execution view or process view of C2 Generator will be
modeled from the process decomposition model we saw
earlier. Figure 4 shows one sequence diagram representing
the execution configuration of the C2 Generator.
The C2Generator first creates the connecting component by
calling the Create Component () procedure and interacting
with the component module. The component module in turn
then creates a port and connects the newly created
component to it by calling the Create And Connect To Port
() procedure and communicating with the Port module. The
Port module now creates the connector and attaches the port
to this connector by calling two functions and talking to the
Connector module. Once this is done and the control is back
to the C2 Generator component, it now reads the connection
list and checks if the component to be connected exists or
not. If it exists, control moves to this existing component and
that component is connected via a new port to the already
created connector. If the component doesn’t exist then it is
created before being connected to the connector.
Figure 4: Sequence Diagram for C2 Generator
This implementation is efficient because the control flow
doesn’t move back and forth. Both the components are ready
before the ports are created and both the ports are ready
before the connector is created and the connection made. So
we see that UML is rather useful for representing different
views of the software architecture of a system [7], [8]. It
does reasonably well and represents all the facets of that
view clearly. Moreover, UML is good for all the views, and
not just the process view which can be adequately
represented by the AND-OR DFD. Moreover, we can extend
UML by constraints, tagged values, stereotypes and profiles
[9].
4. Summary
Table3: Summary of C2 Generator
View Components Connectors Containers Stakeholders Concerns Tool Support
Logical Class association, Class category End-user Functionality Rose
inheritance,
containment
Process Task Rendezvous, Process System Performance, UNAS/SALE
Message, designer, availability, DADS
Broadcast, integrator S/W fault tolerance,
RPC, etc. Integrity
Component Module Interaction Component Developer Interoperability Rose
Development Subsystem compilation Subsystem Developer, Organization, Apex, SoDA
dependency, (library) manager reuse,
“with” clause, portability, line of-
“include” product
Physical Node Communication Physical System Scalability, UNAS,
medium, subsystem designer performance, Openview
LAN, WAN, availability DADS
Bus, etc.
Execution Mappings of node Run time view End-user, Resource usage and Rose
Developer performance
Scenario Step, Web End-user, Understandability Rose
Scripts developer
25
International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064
Volume 1 Issue 3, December 2012
www.ijsr.net
References
[1]. Medvidovic, N., Taylor, R.: "A framework for
classifying and comparing architecture description
languages," Proceedings of the 6th European conference
held jointly with the 5th ACM SIGSOFT international
symposium on Foundations of software engineering,
Zurich, Switzerland, Pages: 60 - 76, 1997.
[2]. Shaw, M., DeLine, R., Klein, D., Ross, T., Young, D.,
Zelesnik, G.: "Abstractions for Software Architecture
and Tools to Support Them," IEEE Transactions on
Software Engineering, 21(4):314-335, April 1995.
[3]. Perry, D., Wolf, A.: "Foundations for the study of
software architecture," ACMSIGSOFT
SoftwareEngineering Notes, Volume 17, Issue 4
(October 1992), Pages: 40 - 52, 1992.
[4]. “OMG Unified Modeling Language Specification,”
Version 1.5, March 2003. Clements, C., Bachmann, F.,
Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R.,
Stafford, J.
[5]. “Documenting Software Architectures: Views and
Beyond.” Addison- Wesley, 2003, ISBN 0-201-
70372-6.
[6]. Medvidovic, N., Rosenblum, D.: "Assessing the
Suitability of a Standard Design Method for Modeling
Software Architectures." In Proceedings of the First
Working IFIP Conference on Software Architecture
(WICSA1), pages 161-182, San Antonio, TX, February
22-24, 1999.
[7]. Hofmeister, C., Nord, R., Soni, D.: “Applied Software
Architecture,” Addison- Wesley, 2000, ISBN 0-201-
32571-3.
[8]. Hofmeister, C., Nord, R., Soni, D.: "Describing
software architecture with UML,"Proceedings of the
TC2 First Working IFIP Conference on Software
Architecture (WICSA1), Pages: 145 - 160, 1999.
[9]. Medvidovic, N., Rosenblum, D., Robbins, J., Redmiles,
D.: "Modeling Software Architectures in the Unified
Modeling Language," ACM Transactions on Software
Engineering and Methodology (TOSEM), Volume 11,
Issue 1 (January 2002), Pages: 2 - 57, 2002.
Author Profile
Ramesh Ponnala received the MCA and M.Tech degrees in
Computer Science and Engineering from Jawaharlal Nehru
Technological University. He is Sun Certified Java
Professional and AP-SET Holder. From 2009 onwards he is
staying in Sree Chaitanya Institute of Technological
Sciences as an Assistant Professor.
Gangadhar Adepu received the MCA and pursuing M.Tech
degrees in Computer Science and Engineering from
Jawaharlal Nehru Technological University in 2006 and
2012, respectively. During 2006-2010, he stayed in Sree
Chaitanya Institute of Management & Computer Sciences as
an Assistant Professor.
Santhosh Kumar Nallavelly received the MCA and
pursuing M.Tech degrees in Computer Science and
Engineering from Jawaharlal Nehru Technological
University in 2006 and 2012, respectively. During 2006-
2010, he stayed in Sree Chaitanya Institute of Management
& Computer Sciences as an Assistant Professor.
26

More Related Content

What's hot

Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
Mousuf Zaman C
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
madhavi patil
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
Fatma Al-sayegh
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
Mikel Raj
 
System Analysis & Design AND Software Engineering Topics
System Analysis & Design AND Software Engineering TopicsSystem Analysis & Design AND Software Engineering Topics
System Analysis & Design AND Software Engineering Topics
Dabhi Tribhovan M.
 
Ch08
Ch08Ch08
Uml
UmlUml
UML and Case study
UML and Case study UML and Case study
UML and Case study
Mihika-QA
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
cairo university
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
Eliza Wright
 
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
anujabeatrice2
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering course
Jeremy Rose
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
David Millard
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
Dr. C.V. Suresh Babu
 
Uml intro
Uml introUml intro
Uml intro
Preeti Mishra
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
Preeti Mishra
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
Shri Shankaracharya College, Bhilai,Junwani
 
System Modelling
System ModellingSystem Modelling
System Modelling
Jennifer Polack
 

What's hot (20)

Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
System Analysis & Design AND Software Engineering Topics
System Analysis & Design AND Software Engineering TopicsSystem Analysis & Design AND Software Engineering Topics
System Analysis & Design AND Software Engineering Topics
 
Ch08
Ch08Ch08
Ch08
 
Uml
UmlUml
Uml
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering course
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Uml intro
Uml introUml intro
Uml intro
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 
System Modelling
System ModellingSystem Modelling
System Modelling
 

Similar to Modeling software architecture with uml

UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
SENTHILR44
 
432
432432
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
SomnathMule5
 
Software requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptxSoftware requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptx
SomnathMule5
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
Shri Shankaracharya College, Bhilai,Junwani
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
MeagGhn
 
Course NumberCourse SectionCourse Name.docx
Course NumberCourse SectionCourse Name.docxCourse NumberCourse SectionCourse Name.docx
Course NumberCourse SectionCourse Name.docx
vanesaburnand
 
Uml
UmlUml
Uml
parag
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systems
ijseajournal
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Uml.pptx
Uml.pptxUml.pptx
Uml.pptx
AnjaliParihar13
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
 
UML
UMLUML
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
Hirra Sultan
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part ii
Bisrat Girma
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
Munaam Munawar
 
Uml with detail
Uml with detailUml with detail
Uml with detail
Hamza Khan
 
UML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdfUML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdf
ssuser200e7a1
 

Similar to Modeling software architecture with uml (20)

UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
432
432432
432
 
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
 
Software requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptxSoftware requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptx
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
 
Course NumberCourse SectionCourse Name.docx
Course NumberCourse SectionCourse Name.docxCourse NumberCourse SectionCourse Name.docx
Course NumberCourse SectionCourse Name.docx
 
Uml
UmlUml
Uml
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systems
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
Uml.pptx
Uml.pptxUml.pptx
Uml.pptx
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
UML
UMLUML
UML
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Object oriented sad-5 part ii
Object oriented sad-5 part iiObject oriented sad-5 part ii
Object oriented sad-5 part ii
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
UML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdfUML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdf
 

More from International Journal of Science and Research (IJSR)

Innovations in the Diagnosis and Treatment of Chronic Heart Failure
Innovations in the Diagnosis and Treatment of Chronic Heart FailureInnovations in the Diagnosis and Treatment of Chronic Heart Failure
Innovations in the Diagnosis and Treatment of Chronic Heart Failure
International Journal of Science and Research (IJSR)
 
Design and implementation of carrier based sinusoidal pwm (bipolar) inverter
Design and implementation of carrier based sinusoidal pwm (bipolar) inverterDesign and implementation of carrier based sinusoidal pwm (bipolar) inverter
Design and implementation of carrier based sinusoidal pwm (bipolar) inverter
International Journal of Science and Research (IJSR)
 
Polarization effect of antireflection coating for soi material system
Polarization effect of antireflection coating for soi material systemPolarization effect of antireflection coating for soi material system
Polarization effect of antireflection coating for soi material system
International Journal of Science and Research (IJSR)
 
Image resolution enhancement via multi surface fitting
Image resolution enhancement via multi surface fittingImage resolution enhancement via multi surface fitting
Image resolution enhancement via multi surface fitting
International Journal of Science and Research (IJSR)
 
Ad hoc networks technical issues on radio links security & qo s
Ad hoc networks technical issues on radio links security & qo sAd hoc networks technical issues on radio links security & qo s
Ad hoc networks technical issues on radio links security & qo s
International Journal of Science and Research (IJSR)
 
Microstructure analysis of the carbon nano tubes aluminum composite with diff...
Microstructure analysis of the carbon nano tubes aluminum composite with diff...Microstructure analysis of the carbon nano tubes aluminum composite with diff...
Microstructure analysis of the carbon nano tubes aluminum composite with diff...
International Journal of Science and Research (IJSR)
 
Improving the life of lm13 using stainless spray ii coating for engine applic...
Improving the life of lm13 using stainless spray ii coating for engine applic...Improving the life of lm13 using stainless spray ii coating for engine applic...
Improving the life of lm13 using stainless spray ii coating for engine applic...
International Journal of Science and Research (IJSR)
 
An overview on development of aluminium metal matrix composites with hybrid r...
An overview on development of aluminium metal matrix composites with hybrid r...An overview on development of aluminium metal matrix composites with hybrid r...
An overview on development of aluminium metal matrix composites with hybrid r...
International Journal of Science and Research (IJSR)
 
Pesticide mineralization in water using silver nanoparticles incorporated on ...
Pesticide mineralization in water using silver nanoparticles incorporated on ...Pesticide mineralization in water using silver nanoparticles incorporated on ...
Pesticide mineralization in water using silver nanoparticles incorporated on ...
International Journal of Science and Research (IJSR)
 
Comparative study on computers operated by eyes and brain
Comparative study on computers operated by eyes and brainComparative study on computers operated by eyes and brain
Comparative study on computers operated by eyes and brain
International Journal of Science and Research (IJSR)
 
T s eliot and the concept of literary tradition and the importance of allusions
T s eliot and the concept of literary tradition and the importance of allusionsT s eliot and the concept of literary tradition and the importance of allusions
T s eliot and the concept of literary tradition and the importance of allusions
International Journal of Science and Research (IJSR)
 
Effect of select yogasanas and pranayama practices on selected physiological ...
Effect of select yogasanas and pranayama practices on selected physiological ...Effect of select yogasanas and pranayama practices on selected physiological ...
Effect of select yogasanas and pranayama practices on selected physiological ...
International Journal of Science and Research (IJSR)
 
Grid computing for load balancing strategies
Grid computing for load balancing strategiesGrid computing for load balancing strategies
Grid computing for load balancing strategies
International Journal of Science and Research (IJSR)
 
A new algorithm to improve the sharing of bandwidth
A new algorithm to improve the sharing of bandwidthA new algorithm to improve the sharing of bandwidth
A new algorithm to improve the sharing of bandwidth
International Journal of Science and Research (IJSR)
 
Main physical causes of climate change and global warming a general overview
Main physical causes of climate change and global warming   a general overviewMain physical causes of climate change and global warming   a general overview
Main physical causes of climate change and global warming a general overview
International Journal of Science and Research (IJSR)
 
Performance assessment of control loops
Performance assessment of control loopsPerformance assessment of control loops
Performance assessment of control loops
International Journal of Science and Research (IJSR)
 
Capital market in bangladesh an overview
Capital market in bangladesh an overviewCapital market in bangladesh an overview
Capital market in bangladesh an overview
International Journal of Science and Research (IJSR)
 
Faster and resourceful multi core web crawling
Faster and resourceful multi core web crawlingFaster and resourceful multi core web crawling
Faster and resourceful multi core web crawling
International Journal of Science and Research (IJSR)
 
Extended fuzzy c means clustering algorithm in segmentation of noisy images
Extended fuzzy c means clustering algorithm in segmentation of noisy imagesExtended fuzzy c means clustering algorithm in segmentation of noisy images
Extended fuzzy c means clustering algorithm in segmentation of noisy images
International Journal of Science and Research (IJSR)
 
Parallel generators of pseudo random numbers with control of calculation errors
Parallel generators of pseudo random numbers with control of calculation errorsParallel generators of pseudo random numbers with control of calculation errors
Parallel generators of pseudo random numbers with control of calculation errors
International Journal of Science and Research (IJSR)
 

More from International Journal of Science and Research (IJSR) (20)

Innovations in the Diagnosis and Treatment of Chronic Heart Failure
Innovations in the Diagnosis and Treatment of Chronic Heart FailureInnovations in the Diagnosis and Treatment of Chronic Heart Failure
Innovations in the Diagnosis and Treatment of Chronic Heart Failure
 
Design and implementation of carrier based sinusoidal pwm (bipolar) inverter
Design and implementation of carrier based sinusoidal pwm (bipolar) inverterDesign and implementation of carrier based sinusoidal pwm (bipolar) inverter
Design and implementation of carrier based sinusoidal pwm (bipolar) inverter
 
Polarization effect of antireflection coating for soi material system
Polarization effect of antireflection coating for soi material systemPolarization effect of antireflection coating for soi material system
Polarization effect of antireflection coating for soi material system
 
Image resolution enhancement via multi surface fitting
Image resolution enhancement via multi surface fittingImage resolution enhancement via multi surface fitting
Image resolution enhancement via multi surface fitting
 
Ad hoc networks technical issues on radio links security & qo s
Ad hoc networks technical issues on radio links security & qo sAd hoc networks technical issues on radio links security & qo s
Ad hoc networks technical issues on radio links security & qo s
 
Microstructure analysis of the carbon nano tubes aluminum composite with diff...
Microstructure analysis of the carbon nano tubes aluminum composite with diff...Microstructure analysis of the carbon nano tubes aluminum composite with diff...
Microstructure analysis of the carbon nano tubes aluminum composite with diff...
 
Improving the life of lm13 using stainless spray ii coating for engine applic...
Improving the life of lm13 using stainless spray ii coating for engine applic...Improving the life of lm13 using stainless spray ii coating for engine applic...
Improving the life of lm13 using stainless spray ii coating for engine applic...
 
An overview on development of aluminium metal matrix composites with hybrid r...
An overview on development of aluminium metal matrix composites with hybrid r...An overview on development of aluminium metal matrix composites with hybrid r...
An overview on development of aluminium metal matrix composites with hybrid r...
 
Pesticide mineralization in water using silver nanoparticles incorporated on ...
Pesticide mineralization in water using silver nanoparticles incorporated on ...Pesticide mineralization in water using silver nanoparticles incorporated on ...
Pesticide mineralization in water using silver nanoparticles incorporated on ...
 
Comparative study on computers operated by eyes and brain
Comparative study on computers operated by eyes and brainComparative study on computers operated by eyes and brain
Comparative study on computers operated by eyes and brain
 
T s eliot and the concept of literary tradition and the importance of allusions
T s eliot and the concept of literary tradition and the importance of allusionsT s eliot and the concept of literary tradition and the importance of allusions
T s eliot and the concept of literary tradition and the importance of allusions
 
Effect of select yogasanas and pranayama practices on selected physiological ...
Effect of select yogasanas and pranayama practices on selected physiological ...Effect of select yogasanas and pranayama practices on selected physiological ...
Effect of select yogasanas and pranayama practices on selected physiological ...
 
Grid computing for load balancing strategies
Grid computing for load balancing strategiesGrid computing for load balancing strategies
Grid computing for load balancing strategies
 
A new algorithm to improve the sharing of bandwidth
A new algorithm to improve the sharing of bandwidthA new algorithm to improve the sharing of bandwidth
A new algorithm to improve the sharing of bandwidth
 
Main physical causes of climate change and global warming a general overview
Main physical causes of climate change and global warming   a general overviewMain physical causes of climate change and global warming   a general overview
Main physical causes of climate change and global warming a general overview
 
Performance assessment of control loops
Performance assessment of control loopsPerformance assessment of control loops
Performance assessment of control loops
 
Capital market in bangladesh an overview
Capital market in bangladesh an overviewCapital market in bangladesh an overview
Capital market in bangladesh an overview
 
Faster and resourceful multi core web crawling
Faster and resourceful multi core web crawlingFaster and resourceful multi core web crawling
Faster and resourceful multi core web crawling
 
Extended fuzzy c means clustering algorithm in segmentation of noisy images
Extended fuzzy c means clustering algorithm in segmentation of noisy imagesExtended fuzzy c means clustering algorithm in segmentation of noisy images
Extended fuzzy c means clustering algorithm in segmentation of noisy images
 
Parallel generators of pseudo random numbers with control of calculation errors
Parallel generators of pseudo random numbers with control of calculation errorsParallel generators of pseudo random numbers with control of calculation errors
Parallel generators of pseudo random numbers with control of calculation errors
 

Recently uploaded

My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
Geoffrey Wardle. MSc. MSc. Snr.MAIAA
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
felixwold
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
Ak47
 
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
aarusi sexy model
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
drshikhapandey2022
 
Call Girls Madurai 8824825030 Escort In Madurai service 24X7
Call Girls Madurai 8824825030 Escort In Madurai service 24X7Call Girls Madurai 8824825030 Escort In Madurai service 24X7
Call Girls Madurai 8824825030 Escort In Madurai service 24X7
Poonam Singh
 
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptxMODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
NaveenNaveen726446
 
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call GirlCall Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
sapna sharmap11
 
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
shourabjaat424
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Tsuyoshi Horigome
 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
sathishkumars808912
 
SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
Tsuyoshi Horigome
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
Lubi Valves
 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
DharmaBanothu
 
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
Dr.Costas Sachpazis
 
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
sonamrawat5631
 
Covid Management System Project Report.pdf
Covid Management System Project Report.pdfCovid Management System Project Report.pdf
Covid Management System Project Report.pdf
Kamal Acharya
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
GOKULKANNANMMECLECTC
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine
 
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
nainakaoornoida
 

Recently uploaded (20)

My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
 
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
🔥 Hyderabad Call Girls  👉 9352988975 👫 High Profile Call Girls Whatsapp Numbe...
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
 
Call Girls Madurai 8824825030 Escort In Madurai service 24X7
Call Girls Madurai 8824825030 Escort In Madurai service 24X7Call Girls Madurai 8824825030 Escort In Madurai service 24X7
Call Girls Madurai 8824825030 Escort In Madurai service 24X7
 
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptxMODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
 
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call GirlCall Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
Call Girls Goa (india) ☎️ +91-7426014248 Goa Call Girl
 
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh 🔥 7014168258 🔥 Real Fun With Sexual Girl Available 24/7...
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
 
SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
 
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...
 
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
 
Covid Management System Project Report.pdf
Covid Management System Project Report.pdfCovid Management System Project Report.pdf
Covid Management System Project Report.pdf
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
 
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
❣Independent Call Girls Chennai 💯Call Us 🔝 7737669865 🔝💃Independent Chennai E...
 

Modeling software architecture with uml

  • 1. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net Modeling Software Architecture with UML Ramesh Ponnala1 , Gangadhar Adepu2 , Santhosh Kumar Nallavelly3 1 Asst. Professor, Dept. of Computer Science & Engineering, Sree Chaitanya Institute of Technological Sciences, Andhra Pradesh, India ramesh.ponnala@gmail.com 2 Asst. Professor, Dept. of Computer Science & Applications, Sree Chaitanya Institute of Management & Computer Sciences, Andhra Pradesh, India gangadhar24mca@gmail.com 3 Asst. Professor, Dept. of Computer Science & Applications, Sree Chaitanya Institute of Management & Computer Sciences, Andhra Pradesh, India santhosh1714@gmail.com Abstract: Software Architecture is being widely used today to describe a very high level design methodology of large & heterogeneous software systems. A good Architectural representation scheme holds the key to the effectiveness of a Software architecture description and usage. In this paper, we look at UML (unified modeling language) as a prospect for a generalized architecture description language. UML also “unifies" the design principles of each of the object oriented methodologies into a single, standard, language that can be easily applied across the board for all object-oriented systems and a scheme AND-OR DFD method is introduced and developed. Keywords: Software Architecture, Unified Modeling Language, Software Architectural modeling view 1. Introduction An Architectural Style defines a family of systems in terms of a pattern of structural organization. An awareness of these Architectural styles can simplify the problem of defining system architectures. However, most large systems are heterogeneous and do not follow a single architectural style. Software Architecture determines how system components are identified and allocated, how the components interact to form a system, the amount and granularity of communication needed for interaction, and the interface protocols used for communication among stakeholders: Customers, managers, designers, programmers. Software Architecture consists of components, connectors, data, a configuration, and a set of architectural properties. An important feature of architecture is the ability to facilitate development of large systems, with components and connectors of varying granularity, implemented by different developers, in different programming languages, and with varying operating system requirements. [1] 1.1 Component: A component is an abstract unit of software that provides a transformation of data via its interface. Components can be computation units or data stores. According to [2], components are loci of computation and state. 1.2 Connector: A connector is an abstract mechanism that mediates communication, coordination, or cooperation among components. The connectors play a fundamental role in distinguishing one architectural style from another and have an important effect on the characteristics of a particular style [3]. 1.3 Datum: A datum is an element of information that is transferred from a component, or received by a component, via a connector. 1.4 Configuration: A configuration is the structure of architectural relationships among components, connectors, and data during some period of system run-time. 2. Literature Review UML was created by Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. OMG is continuously putting effort to make a truly industry standard. [4] UML stands for Unified Modeling Language.  UML is different from the other common programming languages like C++, Java, and COBOL etc.  UML is a language to specify, to visualize and to build and to document the artifact of the software systems, as well as to model business and other systems besides software systems. [4] UML is a pictorial language used to make software blue prints. UML (Unified modeling language) is a clear and concise modeling language without being tied down to any technologies. It provides the ability to capture the characteristics of a system by using notations and is the language that can be used to model systems and make them readable. UML provides a wide array of simple, easy to understand notations for documenting systems based on the 21
  • 2. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net Object-Oriented Design principles. These notations are called the nine diagrams of UML. 2.1 UML Diagrams A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships). A diagram represents an elided view of the elements that make up a system. The UML includes nine such diagrams. 2.1.1Use case Diagram: This diagram is used to identify the primary elements and processes that from the system. The primary elements are termed as "actors" and the processes are called "use cases". 2.1.2Class Diagram: A class diagram shows a set of classes, interfaces, and collaborations and their relationships. This diagram is used to refine the use case diagram and define the detailed design of the system. The class diagram classifies the actors defined in the use case diagram into a set of interrelated classes. The relationship or association between the classes can be either an "is-a" or "has-a" relationship. Each class in the class diagram may be capable of providing certain functionalities. Class diagrams address the static design view of a system. 2.1.3 Object Diagram: An object diagram shows a set of objects and their relationships. Object diagrams represent static snapshots of instances of the things found in class diagrams. These diagrams address the static design view or static process view of a system as do class diagrams, but from the perspective of real or prototypical cases. The object diagram is a special kind of class diagram. An object is an instance of a class. This essentially means that an object represents the state of a class at a given point of time while the system is running. The object diagram captures the state of different classes in the system and their relationships or associations at a given point of time. 2.1.4 State Diagram: A state chart diagram shows a state machine, consisting of states, transitions, events, and activities. State chart diagrams address the dynamic view of a system. Objects in the system change states in response to events. In addition to this, a state diagram also captures the transition of the object's state from an initial state to a final state in response to events affecting the system. 2.1.5 Activity Diagram: Activity diagram is used to capture the process flows in the system. Similar to a state diagram, an activity diagram also consists of activities, actions, transitions, initial and final states, and guard conditions. Activity diagrams address the dynamic view of a system. They are especially important in modeling the function of a system and emphasize the flow of control among objects. 2.1.6Sequence Diagram: A sequence diagram represents the interaction between different objects in the system. This means that the exact sequence of the interactions between the objects is represented step by step. Different objects in the sequence diagram interact with each other by passing "messages". Sequence diagrams are called interaction diagrams in UML, which emphasizes the time-ordering of messages. 2.1.7Collaboration Diagram: A collaboration diagram groups together the interactions between different objects. This diagram helps to identify all the possible interactions that each object has with other objects. Collaboration diagram is an interaction diagram that emphasizes the structural organization of the objects that send and receive messages. 2.1.8Component Diagram: The component diagram represents the high-level parts that make up the system. This diagram depicts, at a high level, what components form part of the system and how they are interrelated. It also depicts the components called after the system has undergone the development or construction phase. Component diagrams address the static implementation view of a system. They are related to class diagrams in that a component typically maps to one or more classes, interfaces, or collaborations. 2.1.9Deployment Diagram: The deployment diagram captures the configuration of the runtime elements of the application. This diagram is by far most useful when a system is built and ready to be deployed. A deployment diagram shows the configuration of run-time processing nodes and the components that live on them. Deployment diagrams address the static deployment view of the architecture. 2.2 Architectural Modeling Views To describe Software Architecture, we use a model composed of multiple views or perspectives. In order to eventually address large and challenging architectures, the model we propose is made up of six main views:  Logical view, which is the object model of the design(when an object-oriented design method is used)  Process view, this view deals with concurrency and distribution, system integrity, and fault tolerance [5].  Component view, which shows the grouped modules of a given system, modeled using the component diagram.  Development view, which describes the static organization of the software in its development environment.  Physical view, which describes the mapping(s) of the software onto the hardware and reflects its distributed aspect. 22
  • 3. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net  Execution view, which is the runtime view of the system. It involves the mappings of modules to run- time images, defining the communication among them, and assigning them to physical resources. Resource usage and performance are key concerns in the execution view. Figure 1: “6+1” View Modeling a System's Architecture 3. Experimental Results: C2 Generator Let us consider a software system called C2 Generator. This software system would be written in an object oriented language like JAVA and it attempts to generate an architectural representation diagram based on the C2 Generator architecture [6]. It takes as input the components of the system to be modeled, the connectors and a list of who notifies whom. But it will suffice to say here that C2 Generator is an architecture description language (ADL) that is used to model user interface intensive software systems i.e., applications that have a graphical user interface (GUI) aspect. This architectural style consists of components and connectors. Components and connectors both have a defined top and bottom. The top of a component may be connected to the bottom of a single connector. The bottom of a component may be connected to the top of a single connector. There is no bound on the number of components or connectors that may be attached to a single connector. In C2-style architecture, connectors transmit messages between components, while components maintain state; perform operations, and exchange messages with other components via two interfaces which are called top and bottom. Each interface consists of a set of messages that may be sent and a set of messages that may be received. Inter-component messages are either requests for a component to perform an operation, or notifications that a given component has performed an operation or changed state. In the C2 style, components cannot interact directly but can do so using the connectors. Each component interface can be attached to at most one connector. A connector, however, can be attached to any number of other components and connectors. Request messages can only be sent “upward” through the architecture, and notification messages can only be sent “downward.”The C2 style has another requirement that the components communicate with each other only through message passing and never through shared memory. Also, C2 requires that notifications sent from a component correspond to the operations of its internal object, rather than the needs of any components that receive those notifications. This constraint on notifications helps to ensure substrate independence, which is the ability to reuse a C2 component in architectures with differing substrate components (e.g., different window systems). The C2 style explicitly does not make any assumptions about the language(s) in which the components or connectors are implemented, whether or not components execute in their own threads of control, the deployment of components to hosts, or the communication protocol(s) used by connectors. There are four primary components in this software. The CreateConnection component has five subcomponents, which are the various steps taken to create a connection. First, the component to be connected to first created component is identified from the connection list. Then new ports are created and attached to both these components. We assume here for simplicity that both components can have unlimited number of ports and so unlimited number of connections. Then the connector is created and the two ports are connected. It is obvious that the steps in creating a new connection start with reading a component name from the connection list till the connector is attached to the two newly formed ports. This whole process has to be repeated till there are no more entries in the connection list. This iterative property of the system cannot be known from the decomposition model, though it must occur if the system executes correctly. Second, there might be repeated entries in the connection list. Table 1: Process Decomposition of C2 Generator Module Name Submodule(s) 1) ReadInput 2) CreateComponent 3) ReadConnectionList 4) CreateConnection CreateComponentToBeConnected CreatePorts ConnectPortsToBothComponents CreateConnector ConnectBothPortsWithConnector There is no restriction to the number of connections one component can have with other components. For an entry that refers to a component which has already been created, one doesn’t need to create it again, but just identify that component and create a new port. Hence, once an entry has been read from the Connection List, one of two things happen depending on the read value. Either the component doesn’t exist and needs to be created, or it exists and needs to be identified. Again, there is no way of knowing this from the decomposition model. Let us now consider how the AND-OR DFD tackles these issues. 23
  • 4. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net 3.1 AND-OR DFD Representation of C2 Generator Figure 2: AND-OR DFD representation of C2 Generator From Figure 2, we see that the data flow is represented by this modified DFD, but with two significant differences. Firstly, there is an OR-group of two components that illustrate that once an entry has been read from the connection list, either a new component is created, or control moves to an existing component, depending on the value read from the connection list. Second, the iterative portion of the system has been illustrated by a shaded box. So we now can tell that the steps starting from the reading of the connection list to the connection of the ports by a connector are iterative and are executed for each entry in the connection list 3.2 Architecting UML of C2 Generator In order to see how UML can construct the Software Architecture of a system, let us go back to the example of the C2 Generator. Table 2 shows the logical decomposition of the system. The use of layering in modeling C2 style architecture for GUI intensive software systems [6] and the use of layering in representation of module view of an architecture using UML also indicate the vast potential for the layering style. The logical (conceptual) decomposition highlights the main components of the system and their subcomponents if any. Table 2: Logical Decomposition of C2 Generator Module Name Sub Module(s) 1) C2 Generator 2) Component 3) Port 4) Connection CreateComponent CerateConnector UpdateComponentList UpdateConnectionList CheckForFreePort CreatePort CreateConnector UpdateConnectingComponen t UpdateConnectedComponent We see that the C2Generator component has the task of creating the component(s) and the connector, and updating the component and connection lists. The component module checks for free ports on the component(s) and if there are free ports, then it creates the physical port. The Port component creates the connector in turn, and the connector component joins the two components (called the connecting component and the connected component here) and updates the two components for the connection created. 3.3 Conceptual View of C2 Generator From table2, we came to know about Logical decomposition of C2 Generator. Let us now try to construct the logical architectural view for C2 Generator. Figure 2 shows the conceptual architectural view of the C2 Generator using UML constructs. Figure 3: Conceptual view of C2 Generator Figure 3 show the conceptual architectural view of the C2 Generator using UML constructs [7]. The problem with this 24
  • 5. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net representation lies in the relationship of the port and the Connector Conn. i.e. a connector can be broken off from one component and joined to another component. So a composition doesn’t hold good here. Even an aggregation doesn’t hold good because when the connector is isolated from the ports of both the connecting components, it ceases to exist independently. So here is a situation where there is a composition relationship that involves two components and a connector. 3.4 Execution View of C2 Generator The execution view or process view of C2 Generator will be modeled from the process decomposition model we saw earlier. Figure 4 shows one sequence diagram representing the execution configuration of the C2 Generator. The C2Generator first creates the connecting component by calling the Create Component () procedure and interacting with the component module. The component module in turn then creates a port and connects the newly created component to it by calling the Create And Connect To Port () procedure and communicating with the Port module. The Port module now creates the connector and attaches the port to this connector by calling two functions and talking to the Connector module. Once this is done and the control is back to the C2 Generator component, it now reads the connection list and checks if the component to be connected exists or not. If it exists, control moves to this existing component and that component is connected via a new port to the already created connector. If the component doesn’t exist then it is created before being connected to the connector. Figure 4: Sequence Diagram for C2 Generator This implementation is efficient because the control flow doesn’t move back and forth. Both the components are ready before the ports are created and both the ports are ready before the connector is created and the connection made. So we see that UML is rather useful for representing different views of the software architecture of a system [7], [8]. It does reasonably well and represents all the facets of that view clearly. Moreover, UML is good for all the views, and not just the process view which can be adequately represented by the AND-OR DFD. Moreover, we can extend UML by constraints, tagged values, stereotypes and profiles [9]. 4. Summary Table3: Summary of C2 Generator View Components Connectors Containers Stakeholders Concerns Tool Support Logical Class association, Class category End-user Functionality Rose inheritance, containment Process Task Rendezvous, Process System Performance, UNAS/SALE Message, designer, availability, DADS Broadcast, integrator S/W fault tolerance, RPC, etc. Integrity Component Module Interaction Component Developer Interoperability Rose Development Subsystem compilation Subsystem Developer, Organization, Apex, SoDA dependency, (library) manager reuse, “with” clause, portability, line of- “include” product Physical Node Communication Physical System Scalability, UNAS, medium, subsystem designer performance, Openview LAN, WAN, availability DADS Bus, etc. Execution Mappings of node Run time view End-user, Resource usage and Rose Developer performance Scenario Step, Web End-user, Understandability Rose Scripts developer 25
  • 6. International Journal of Science and Research (IJSR), India Online ISSN: 2319-7064 Volume 1 Issue 3, December 2012 www.ijsr.net References [1]. Medvidovic, N., Taylor, R.: "A framework for classifying and comparing architecture description languages," Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, Zurich, Switzerland, Pages: 60 - 76, 1997. [2]. Shaw, M., DeLine, R., Klein, D., Ross, T., Young, D., Zelesnik, G.: "Abstractions for Software Architecture and Tools to Support Them," IEEE Transactions on Software Engineering, 21(4):314-335, April 1995. [3]. Perry, D., Wolf, A.: "Foundations for the study of software architecture," ACMSIGSOFT SoftwareEngineering Notes, Volume 17, Issue 4 (October 1992), Pages: 40 - 52, 1992. [4]. “OMG Unified Modeling Language Specification,” Version 1.5, March 2003. Clements, C., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J. [5]. “Documenting Software Architectures: Views and Beyond.” Addison- Wesley, 2003, ISBN 0-201- 70372-6. [6]. Medvidovic, N., Rosenblum, D.: "Assessing the Suitability of a Standard Design Method for Modeling Software Architectures." In Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), pages 161-182, San Antonio, TX, February 22-24, 1999. [7]. Hofmeister, C., Nord, R., Soni, D.: “Applied Software Architecture,” Addison- Wesley, 2000, ISBN 0-201- 32571-3. [8]. Hofmeister, C., Nord, R., Soni, D.: "Describing software architecture with UML,"Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1), Pages: 145 - 160, 1999. [9]. Medvidovic, N., Rosenblum, D., Robbins, J., Redmiles, D.: "Modeling Software Architectures in the Unified Modeling Language," ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 11, Issue 1 (January 2002), Pages: 2 - 57, 2002. Author Profile Ramesh Ponnala received the MCA and M.Tech degrees in Computer Science and Engineering from Jawaharlal Nehru Technological University. He is Sun Certified Java Professional and AP-SET Holder. From 2009 onwards he is staying in Sree Chaitanya Institute of Technological Sciences as an Assistant Professor. Gangadhar Adepu received the MCA and pursuing M.Tech degrees in Computer Science and Engineering from Jawaharlal Nehru Technological University in 2006 and 2012, respectively. During 2006-2010, he stayed in Sree Chaitanya Institute of Management & Computer Sciences as an Assistant Professor. Santhosh Kumar Nallavelly received the MCA and pursuing M.Tech degrees in Computer Science and Engineering from Jawaharlal Nehru Technological University in 2006 and 2012, respectively. During 2006- 2010, he stayed in Sree Chaitanya Institute of Management & Computer Sciences as an Assistant Professor. 26
  翻译: