Download - SE FILE.docx
-
8/10/2019 SE FILE.docx
1/19
-
8/10/2019 SE FILE.docx
2/19
-
8/10/2019 SE FILE.docx
3/19
Profile Diagram : operates at the metamodel level to show stereotypes as classeswith the stereotype, and profiles as packages with the stereotype. The extension relation (solid line with closed, filledarrowhead) indicates what metamodel element a given stereotype is extending.
Behavior Diagrams It emphasizes what must happen in the system being modeled. Since behavior diagramsillustrate the behavior of a system, they are used extensively to describe the functionalityof software systems.
Activity Diagram: describes the business and operational step-by-step workflowsof components in a system. An activity diagram shows the overall flow of control.
UML State Machine Diagram: describes the states and the state transitions ofthe system.
Use Case Diagram: describes the functionality provided by the system in terms
of actors, their goals represented as use cases, and any dependencies among thoseuse cases.
Interaction Diagrams These are the subset of behavior diagrams. It emphasizes the flow of control and dataamong the things in the system being modeled.
Communication Diagram: shows the interactions between objects or parts interms of sequenced messages. They represent a combination of information takenfrom Class,Sequence and Use Case Diagrams describing both static and dynamic
behavior of the system. Interaction Overview Diagram: provides an overview in which the nodes
represent communication diagrams. Sequence Diagram: shows how objects communicate with each other in temrs of
a sequence of messages. Also indicates the lifespan of objects relative to thosemessages.
Timing Diagram: a specific type of interaction diagram where the focus is ontiming constraints.
1.2 View of UML Diagrams
UML plays an important role in defining different perspectives of a system. These perspectives are:
DESIGN: design of a system consists of classes,interfaces and collaborations. UML provides class diagram, object diagram to support this.
-
8/10/2019 SE FILE.docx
4/19
IMPLEMENTATION: defines the components assembled together to make a complete physical system. UML component diagram is used to support the implementation perspective.
PROCESS: defines the flow of the system. So the same elements used in design are alsoused to support this perspective.
COMPONENT: shows the grouped module of a given system using componentdiagrams.
DEPLOYMENT: represents the physical node of the system that forms the hardware.The deployment diagram is used to support this perspective.And the centre to all of the above views is the USE CASE VIEW which connects all thefour views. A Use case view represents the functionality of the system,so all the other
perspectives are connected to the same.
Fig. showing different views of UML Diagrams
1.3 Features in UML Tools
A UML tool is a software application that supports some or all the notations and smenaticsassociated with UML. Its various features are:
DIAGRAMMING:
-
8/10/2019 SE FILE.docx
5/19
Diagramming in this context means creating and editing UML diagrams; that isdiagrams that follow the graphical notation of the Unified Modeling Language.Theuse of UML diagrams as a means to draw diagrams of mostly object-oriented software is generally agreed upon by software developers. When developersdraw diagrams of object-oriented software, they usually follow the UML notation.On the other hand, it is often debated whether those diagrams are needed at all,during what stages of the software development process they should be used, andhow (if at all) they should be kept up to date. The primacy of software code oftenleads to the diagrams being deprecated.
FORWARD ENGINEERING: Forward Engineering is a traditional process of moving high-level abstracts andlogical, implementation-independent designs to the physical implementation of asystem.
REVERSE ENGINEERING: Reverse engineering in this context means, that the UML tool reads program sourcecode as input and derives model data and corresponding graphical UML diagramsfrom it.
DOCUMENTATION:Documentation is an integral aspect of a UML tool. Software designing, by nature, isan abstract process. Apart from a few syntax and semantic ground rules, there are noother rules. The thought process of a software architect who designs applications
using UML can be lost if the reasons behind certain design decisions are not capturedand well documented. This becomes painfully clear when large systems aremaintained and no one has a clue to why a subsystem was designed in a certain way.Hence, a UML tool must necessarily provide some way for the designer to documentdesign decisions in the diagrams by using simple things such as annotations orcomments. In addition to this, the UML tool should support the generation ofreports/listings of the different design elements of the diagram. Apart from the abovefeatures, you should also identify a few features that would definitely be useful tohave in the UML tool.
ROUND TRIP ENGINEERING:
Round-trip engineering refers to the ability of a UML tool to perform codegeneration from models, and model generation from code (a.k.a., reverseengineering), while keeping both the model and the code semantically consistentwith each other. Code generation and reverse engineering are explained in moredetail below.
VERSION CONTROL:
-
8/10/2019 SE FILE.docx
6/19
Version control or source control is the management of changes to the documents,computer programs, largers websites, and other collections of information.
INTEGRATION WITH IDE:With the increasing use of iterative methodologies for building software systems, it
becomes very difficult to keep the design of the system in sync with the developedcode. Hence, it would be useful if the UML tool provides integration with popularIDEs. This feature would enable the UML tool to be updated with the changes in thesource code made in the IDE .
1.4 Popular UML Tools
Rational Rose No discussion of UML tools is complete without the mention of the Rational Rosemodeling tool from Rational Software Corporation. Rational Rose (the Rose standsfor "Rational Object-oriented Software Engineering") is a visual modeling tool forUML. It comes in different versions suited to different requirements. Rational Rose
provides support for all the standard features that we discussed in the previoussection such as UML diagram support, forward and reverse engineering support, anddocumentation and round-trip engineering support. Apart from this, Rational Rosealso provides support for version control, IDE integration, design pattern modeling,test script generation, and collaborative modeling environment. In addition, Rational
Rose also supports the designing of data models within the same environment. Aninteresting feature of Rational Rose is the ability to publish the UML diagrams as aset of Web pages and images. This enables you to share and distribute yourapplication design where the Rational Rose tool is not installed.
PoseidonPoseidon from Gentle ware has its roots in the Agrium open source project. The
Agrium modeling tool evolved as an open source effort and is a useful, full-featuredUML tool freely available under the Open Publication License. Gentle ware hastaken Agrium a step further and turned it into a good modeling tool. Poseidon comesin different flavors suited to different requirements. Poseidon supports forward andreverse engineering and documentation generation by using special-purpose plug-ins.Gentle ware has not forgotten its open source moorings and offers the Poseidon forUML Community Edition 1.5 free for individual software developers
Together control centre
-
8/10/2019 SE FILE.docx
7/19
-
8/10/2019 SE FILE.docx
8/19
Experiment no.-2
USE-CASE DIAGRAM
DEFINITION:A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagramdefined by and created from a Use-case analysis.The use case diagram shows the position or context of the use case among other use cases.As an organizing mechanism, a set of consistent, coherent use cases promotes a useful picture of
system behavior, a common understanding between the customer/owner/user and thedevelopment team
AIM/PURPOSE OF USE CASE DIAGRAM: Its purpose is to present a graphical overview of the functionality provided by a system in termsof actors, their goals (represented as use cases), and any dependencies between those use cases.The main purpose of a use case diagram is to show what system functions are performed forwhich actor.
ELEMENTS OF USE CASE DIAGRAM
Actors: An actor portrays any entity (or entities) that performs certain roles in a given system.The different roles the actor represents are the actual business roles of users in a given system.An actor in a use case diagram interacts with a use case. For example, for modeling a bankingapplication, a customer entity represents an actor in the application.
Use case: A use case in a use case diagram is a visual representation of a distinct businessfunctionality in a system. The key term here is distinct business functionality
System boundary: A system boundary defines the scope of what a system will be. A systemcannot have infinite functionality.
-
8/10/2019 SE FILE.docx
9/19
Experiment no.-2(A)
AIM: To draw and design use-case diagram for Library Management System.
Problem statement:The case study titled Library Management System is library management software for the
purpose of monitoring and controlling the transactions in a library. The case study gives us thecomplete information about the library and the daily transactions done in a library. We need tomaintain the record of new books and retrieve the details of books available in the library whichmainly focuses on basic operations in a library like adding new member, new books, andupdating new information, searching books and members and facility to borrow and return
books. It features a familiar and well thought-out, an attractive user interface, combined withstrong searching, insertion and reporting capabilities. The report generaton facility of librarysystem helps to get a good idea of which are the books borrowed by the members, makes users
possible to generate hard copy.
Overall Description:
The modules are for:
Librarian: to maintain and update the records and also to cater the needs of the users.
Member: need books to read and also places various requests to the librarian.
Vendor: to provide and meet the requirement of the prescribed books.
Software Requirements: Rational Rose
Hardware Requirements: 128 MB RAM,Pentium iii processor
Use-Case Diagram:
Actors vs Use-cases
Librarian
Issues a book Update and maintains records
Request the vendor for a book
Track complaints and fines
-
8/10/2019 SE FILE.docx
10/19
Member
Register
Login
Search a book
Request for issue
View history
Request to librarian
Unregister
Books Database
Update records
Show status of the book
Vendor
Provide books to the library
Payment and acknowledgement
-
8/10/2019 SE FILE.docx
11/19
Experiment no.-3
CLASS DIAGRAM
DEFINITION
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type ofstatic structure diagram that describes the structure of a system by showing the systems classes,their attributes, and the relationships between the classes.A class diagram is similar to a family tree. A class diagram consists of a group of classes andinterfaces reflecting important entities of the business domain of the system being modeled, andthe relationships between these classes and interfaces. The classes and interfaces in the diagramrepresent the members of a family tree and the relationships between the classes are analogous torelationships between members in a family free. Interestingly, classes in a class diagram areinterconnected in a hierarchical fashion, like a set of parent classes and related child classesunder the parent classes.
AIM / PURPOSE
Design experts who understand the rules of modeling and designing systems design the systemsclass diagrams. A thing to remember is that a class diagram is a static view of a system. Thestructure of a system is represented using class diagrams. Class diagrams are referenced time andagain by the developers while implementing the system.
ELEMENTS OF CLASS DIAGRAM A class diagram is composed primarily of the following elements that represent the systems
business entities:Class : A class represents an entity of a given system that provides an encapsulatedimplementation of certain functionality of a given entity. These are exposed by the class to otherclasses as methods. Apart from business functionality, a class also has properties that reflectunique features of a class. The properties of a class are called attributes. A class is represented bya rectangle
Interface : An interface is a variation of a class. As we saw from the previous point, a class
provides an encapsulated implementation of certain business functionality of a system. Aninterface on the other hand provides only a definition of business functionality of a system. Aseparate class implements the actual business functionality.
Package: A package provides the ability to group together classes and/or interfaces that are eithersimilar in nature or related. Grouping these design elements in a package element provides for
better readability of class diagrams, especially complex class diagrams.
-
8/10/2019 SE FILE.docx
12/19
Experiment no.-3(A)
AIM: To draw and design class diagram for Library Management
System.
CLASS DIAGRAM:Classes identified: LibrarianBooks DatabaseMemberVendor
-
8/10/2019 SE FILE.docx
13/19
Experiment no.-4
STATE CHART DIAGRAM
DEFINITION
State Chart diagrams, often used in real time embedded systems than in information systems,show for class, the order in which incoming calls to operations normally occur and theconditions under which the operation respond and the response. State chart diagram is one of thefive UML diagrams used to model dynamic nature of a system. They define different states of anobject during its lifetime. And these states are changed by events. So State chart diagrams areuseful to model reactive systems. Reactive systems can be defined as a system that responds toexternal or internal events.
AIM / PURPOSE
They are class centric view of system functionality, as opposed to sequence diagram andcollaboration diagram which are use case centric view of system functionality
ELEMENTS OF STATE CHART DIAGRAM
States: Oblong boxes which indicate the stable state of the object between events. Transitions: The solid arrow which shows possible change of states. Events: The text on the transition before the / showing the incoming call to the object
interface which causes change of the state Conditions: A Boolean statement in square brackets which qualifies the events. Actions: The text after the / which defines the object response to the transition between
states. Extra syntax defines state centric functionality.
-
8/10/2019 SE FILE.docx
14/19
Experiment no.-4(A)
AIM: To draw and design state chart diagram for Library ManagementSystem.
STATE CHART DIAGRAM:
States:
Authentication
Successfully logged on or re-login Search for a book/request the vendor/provide the requested book Receive acknowledgement Logged off/re-search/new function
Transitions:
Authenticate Logged in Logged in search Acknowledgement Logged in request vendor Provide book Acknowledgement Logged in provide book Acknowledgement
Acknowledgement Logged off
-
8/10/2019 SE FILE.docx
15/19
-
8/10/2019 SE FILE.docx
16/19
Experiment no.-5(A)AIM: To draw and design activity diagram for library management system.
ACTIVITY DIAGRAM:
Activities:
User Login and AuthenticationSearch book operation for ReaderAcknowledge and Issue books to the users by the LibrarianProvide books requested by the Librarian from the VendorBill payment from the Librarian to the VendorStatus of the books updated in the Books Database
-
8/10/2019 SE FILE.docx
17/19
Experiment no.-6
SEQUENCE & COLLABORATION DIAGRAM
DEFINITION:
A sequence diagram is an interaction diagram. It deals with the sequence of messages flowingfrom one object to another. Sequence diagram is used to visualize the sequence of calls in asystem to perform a specific functionality.
A collaboration diagram is another form of interaction diagram. It represents the structuralorganization of the system and the message sent/received. Structural organization consists ofobjects and links. The purpose is same as that of sequence diagram. But they are specificallyused to visualize the organization of objects and their interaction.
AIM/PURPOSE:
To capture the dynamic behavior of a system. To describe the message flow in the system. To describe the structural organization of the objects. To describe the interaction among objects.
ELEMENTS OF SEQUENCE/COLLABORATION DIAGRAM:
Lifeline: It represents the individual participant in the interaction. Message: It represents the communication between lifelines of an interaction.
Gate: It is a message end showing the communication is complete. Occurrence: It is the interaction fragment showing a moment in time in the beginning orending of a message.
Execution (full name - execution specification , informally called activation )is interaction fragment which represents a period in the participant's lifetime when it is
executing a unit of behavior or action within the lifeline, sending a signal to another participant, waiting for a reply message from another participant.
-
8/10/2019 SE FILE.docx
18/19
Experiment no.-6(A)AIM: To draw and design sequence diagram for library management system.
SEQUENCE DIAGRAM:
Sequence diagram for searching and issuing books as per the request of the user from thelibrarian:
-
8/10/2019 SE FILE.docx
19/19
Experiment no.-6(B)AIM: To draw and design collaboration diagram for library managementsystem.
COLLABORATION DIAGRAM:
Collaboration diagram for searching and issuing the books as per the request of the user from thelibrarian :