Professional Documents
Culture Documents
Final Umldp Lab Manual
Final Umldp Lab Manual
WEEK – 1
Familiarization with Rational Rose
Theory:
INTRODUCTION TO UML
UML is a language used for visualizing, specifying, constructing and documenting the
artifacts of software intensive system.
UML makes a clear conceptual distinction between models, views and diagrams. A Model is
an element that contains information for a software model. A View is a visual expression of
the information contained in a model, and a Diagram is a collection of view elements that
represent the user’s specific design thoughts.
Things in UML :
Structural things:
Classes
Interfaces
Collaborations
Use Cases
Active Classes
Components
Nodes Classes
Behavioral things:
Interactions
State machines
Grouping things
Packages
Annotational things
Notes
Class Diagram
Object Diagram
Usecase Diagram
Sequence Diagram
Collaboration Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Class:
A class is the descriptor for a set of objects with similar structure, behavior, and
relationships. It is represented by a rectangle.
Interface:
An interface is a specifier for the externally-visible operations of a class, component,
or other classifier (including subsystems) without specification of internal structure.It is
represented by a circle.
Relations:
Association
Dependency
Generalization
Realization
Association:
An association is a structural relationship that specifies the relation between two
objects when they are at the same level (peer level systems).
An Association can specify the relationship, role of the class and Multiplicty.
An Association used in class diagram, Component diagram, deployment diagram, usecase
diagrams.
The multiplicity can be represented as 1-1..*,*,0…1.
It is represented as follows:
Directed Association:
Links a semantic association between two classes in the UML diagram.
Directed association is used in class diagram, Component diagram, deployment
diagram, usecase diagrams.
Symbol:
Aggregation:
Links a semantic association between two classes in the UML diagram.
Aggregation is used in class diagram.
Symbol:
Generalization:
Symbol:
Dependency:
Realization:
Dependency is used in class diagram, Component diagram, deployment diagram, use case
diagrams.
Class diagrams:
A class diagram is that which represents a set of classes, interfaces and collaborations
and their relationships, graphically a class diagram is a collection of vertices and arcs.
It consists of three compartments.
Name
Attributes
Uses:
A class diagram is used to model the static design view of a system.
Object diagrams:
An object diagram shares the same common properties of all other diagrams.
;Name
Attributes
Uses:
An object diagram is used to model the static design view of a system.
An use case diagram shares the common properties as all diagrams. It distinguishes in
the contents of use cases, actors, dependency, generalization relationships.
Actor
Uses:
An Use case diagram is used to model the static design view of a system.
Object:
It is an instance of a class.
Stimulus:
A Stimulus is a communication between two Instances that conveys information with
the expectation that action will ensue. A Stimulus will cause an Operation to be invoked,
raise a Signal, or cause an Instance to be created or destroyed.
Symbol:
Call:
Return:
Create:
<<create>>
Destroy:
<<destroy>>
Uses:
Interaction diagrams are used to model the dynamic aspects of a system. It is obtained in
two ways:
State Chart
Diagrams:
State:
A state is a condition during the life of an object or an interaction during which it
satisfies some condition, performs some action, or waits for some event. It is represented by a
rounded rectangle.
Symbol:
State Name
Initial State:
An initial is a kind of pseudo state that represents the starting point in a region of a
state machine. It has a single outgoing transition to the default state of the enclosing region,
and has no incoming transitions. There can be one (and only one) initial state in any given
region of a state machine. It is not itself a state but acts as a marker.
Symbol:
Final State:
A final state represents the last or "final" state of the enclosing composite state.
There may be more than one final state at any level signifying that the composite state can
end in different ways or conditions. When a final state is reached and there are no other
enclosing states it means that the entire state machine has completed its transitions and no
more transitions can occur.
Symbol:
Junction Point:
Junction Point chains together transitions into a single run-to-completion path. May
have multiple input and/or output transitions. Each complete path involving a junction is
logically independent and only one such path fires at one time. May be used to construct
branches and merges.
Transition:
A transition is a directed relationship between a source state vertex and a target state
vertex. It may be part of a compound transition, which takes the state machine from one state
configuration to another, representing the complete response of the state machine to a
particular event instance.
Symbol:
Activity Diagram:
It represents the different activities in the system.
Action State:
An action state represents the execution of an atomic action, typically the invocation
of an operation. An action state is a simple state with an entry action whose only exit
transition is triggered by the implicit event of completing the execution of the entry action.
The state therefore corresponds to the execution of the entry action itself and the outgoing
transition is activated as soon as the action has completed its execution.
Symbol:
Initial State:
An initial is a kind of pseudo state that represents the starting point in a region of a
state machine. It has a single outgoing transition to the default state of the enclosing region,
and has no incoming transitions. There can be one (and only one) initial state in any given
region of a state machine. It is not itself a state but acts as a marker.
Symbol:
FinalState:
A final state represents the last or "final" state of the enclosing composite state. There
may be more than one final state at any level signifying that the composite state can end in
different ways or conditions. When a final state is reached and there areno other enclosing
states it means that the entire state machine has completed its transitions and no more
transitions can occur.
Symbol:
Decision:
A state diagram (and by derivation an activity diagram) expresses a decision when
guard conditions are used to indicate different possible transitions that depend on Boolean
conditions of the owning object.
Component Daigrams:
Symbol:
Interface:
An interface is a specifier for the externally-visible operations of a class, component,
or other classifier (including subsystems) without specification of internal structure.\
Symbol:
Component:
A component represents a modular, deployable, and replaceable part of a system that
encapsulates implementation and exposes a set of interfaces.
Symbol:
Artifact:
An Artifact represents a physical piece of information that is used or produced by a
software development process. Examples of Artifacts include models, source files, scripts,
and binary executable files. An Artifact may constitute the implementation of a deployable
component.
<<artifact>>
Symbol:
Package:
Symbol:
Node:
A node is a run-time physical object that represents a computational resource, generally
having at least a memory and often processing capability as well, and upon which
components may be deployed.
Symbol:
Node Name
Node Instance:
A node instance is an instance of a node. A collection of component instances may
reside on the node instance.
Symbol:
Node Name
Artifact:
An Artifact represents a physical piece of information that is used or produced by a
software development process. Examples of Artifacts include models, source files, scripts,
Symbol:
<<artifact>>
Component Diagrams:
Package:
A package is a grouping of model elements. Packages themselves may be nested within other
packages. A package may contain subordinate packages as well as other kinds of model
elements. All kinds of UML model elements can be organized into packages.
Symbol:
Interface:
An interface is a specifier for the externally-visible operations of a class, component,
or other classifier (including subsystems) without specification of internal structure.
Symbol:
Component:
A component represents a modular, deployable, and replaceable part of a system that
encapsulates implementation and exposes a set of interfaces.
Symbol:
Deployment Diagrams:
Package:
Menubar: The menubar consists of several menus like the file menu, edit menu, view menu
etc. All these menus contain several options.
Toolbar: The toolbar contains the most frequently used actions like New, Open, Save etc…
Status bar: The status bar at the bottom displays status messages.
Diagram Toolbar: The diagram toolbar displays the symbols of the respective type of
diagram.
Diagram Window: The diagram window is the place where the user draws the diagrams
using the symbols from the diagram toolbar.
Log Window: This window is used to display error messages, warnings and information
messages.
Documentation Window: This window is used to display the documentation related to the
symbols and other aspects.
• Rational Rose’s main advantage is its flexibility. This flexibility comes in part from its
support for many object-oriented languages including Java, MFC C++, Visual Basic, as well
as Oracle 8i databases.
Creating actors
1. Right-click on the Use Case View package in the browser to make the shortcut menu
visible.
2. Select the New:Actor menu option. A new actor called New Class is placed in the browser.
3. With the actor called New Class selected, enter the desired name of the actor.
Documenting Actors
1. If the documentation window is not visible, open the documentation window by selecting
the Documentation menu choice from the View menu.
2. Click to select the Actor in the browser.
3. Position the cursor in the documentation window and enter the documentation.
1. Right-click on the Use Case View in the browser to make the shortcut menu visible.
2. Select the New: Use Case menu option. A new unnamed use case is placed in the browser.
3. With the use case selected, enter the desired name of the use case.
1. Right-click on the use case in the browser to make the shortcut menu visible.
2. Select the specification menu option.
3. Select the Files tab.
4. Right-click to make the shortcut menu visible.
5. Select the Insert File menu option.
6. Browse to the appropriate directory and select the desired file.
7. Click the Open button.
8. Click the OK button to close the specification.
1. Double-click on the Main diagram in the use case view in the browser to open the diagram.
2. Click to select an actor in the browser and drag the actor onto the diagram.
3. Repeat step 2 for each additional actor needed in the diagram.
4. Click to select a use case in the browser and drag the use case onto the diagram.
5. Repeat step 4 for each additional use case needed in the diagram.
1. Click to select the association icon or the Unidirectional Association icon from the toolbar.
Note: if the association icon is not present on the toolbar, it may be added by right clicking
on the toolbar, selecting the Customize menu choice from the shortcut menu, and adding the
icon to the toolbar.
2. Click on an actor initiating a communication and drag the association line to the desired
use case.
To add the Communicates stereotype (optional):
1. Double-click on the association line to make the Specification visible.
2. If this is the first time the stereotype is being used, enter Communicates in the Stereotype
field. If a Communicates stereotype has already been created, click the arrow in the
Stereotype field to make the drop-down menu visible and Select Communicates.
3. Click the OK button to close the specification.
1. Right-click on the Use Case View in the browser to make the shortcut menu visible.
2. Class Diagram
Creating Classes in the Rose browser
1. Right-click to select the class in the browser and make the shortcut menu visible.
2. Select the Specification menu choice.
3. Select the General tab.
4. Enter the name of the stereotype.
5. Click the OK button to close the Specification.
Documenting Classes
Rose automatically creates the Main class diagram in the Logical View of the model.
To add packages to the Main class diagram:
1. Double-click on the Main diagram in the browser to open it.
2. Click to select the package in the browser.
3. Drag the package onto the diagram.
4. Repeat the preceding steps for each package that is to be added to the diagram.
1. Right-click on the use case in the browser to make the shortcut menu visible.
2. Select the New:Class Diagram menu choice.
3. While the diagram is still selected, enter the name of the class diagram.
4. Double-click on the diagram in the browser to open the diagram.
5. Click to select a class in the Logical view of the browser and drag the class onto the
diagram.
6. Repeat step 5 for each additional class that is to be placed onto the diagram.
1. Right-click on the class in a class diagram to make the shortcut menu visible.
Naming Relationships
1. Right-click on the relationship line near the class that it modifies to make the shortcut
menu visible.
2. Select the Role Name menu choice.
3. Enter the name of the role.
Creating Multiplicity
Documenting Operations
1. Click the + next to the class in the browser to expand the class.
Creating Attributes
1. Right-click to select the class in the browser and make the pop-up menu visible.
2. Select the New:Attribute menu choice. This will create an attribute called Name in the
browser.
3. With the new attribute selected, enter the desired name.
Documenting Attributes
1. Click the + next to the class in the browser to expand the class
2. Click to select the attribute.
3. Position the cursor in the documentation window and enter the documentation for the
attribute.
Creating a Class diagram to show the Attributes and Operations for a Package
1. Right-click to select the package in the browser and make the shortcut menu visible.
2. Select the New:Class Diagram menu choice. A class diagram called NewDiagram will be
added to the browser.
3. With the new diagram selected, enter the name of the diagram.
1. Right-click to select the class on an opened class diagram and make the shortcut menu
visible.
2. Select the Edit compartment menu choice.
3. Click to select the attributes and operations to be displayed.
4. Click the >>>> button.
5. Click the OK button to close the Edit Compartment window.
1. Right-click on the class in the class in a diagram to make the shortcut menu visible.
2. Select the Show All Attributes menu choice to display all the attributes for the class.
3. Repeat step 1 and select the Show All Operations menu choice to display all the operations
for the class.
Note: to always display the attributes and operations for a class, you can set the Show All
Attributes and Show All Operations selections using the Tools: Options menu.
Creating Inheritance
1. Open the class diagram that will display the inheritance hierarchy.
2. Click to select the class icon from the toolbar and click on the open class diagram to draw
the class.
3. With the class still selected, enter the name of the class.
Note: The class could also be created in the browser and added to the opened class diagram.
4. Click to select the Generalization icon on the toolbar.
5. Click on a subclass and drag the generalization line to the superclass.
6. Repeat step 5 for each additional subclass.
1. Open the class diagram that will display the inheritance hierarchy.
2. Click to select the class icon from the toolbar and click on the opened class diagram to
draw the class.
3. With the class still selected, enter the name of the class.
Note: The class could also be created in the browser and added to the opened class diagram.
4. Click to select the Generalization icon on the toolbar.
5. Click on one subclass and drag the generalization line to the superclass.
6. For each subclass that is part of the inheritance tree, select the Generalization icon from the
toolbar, click on the subclass, and drag the generalization line to the inheritance triangle.
1. Click the + sign next to one subclass in the browser to expand the class.
2. Select the attribute or operation to be relocated.
3. Drag the attribute or operation to the superclass.
4. Delete the attribute or operation from all other subclasses.
5. Repeat steps 2 through 4 for each additional attribute or operation to be relocated.
1. Click to select the Parameterized class icon from the toolbar. You may have to add this
icon to the toolbar using the Customize option.
2. Click on a class diagram to place the parameterized class.
3. While the parameterized class is still selected, enter its name.
4. Right-click to select the class in the browser or on a class diagram.
5. Select the Specification menu choice.
6. Select the Detail tab.
7. Right-click on the Formal Arguments field to make the pop-up menu visible.
8. Select the Insert menu choice, which will insert a formal argument with a name of arg
name and a type of arg type
9. With the arg name selected, enter the name of the formal argument.
10. Click to select the arg type and enter the type of the formal argument.
11. Repeat steps 7 through 10 for each argument.
12. Click the OK button to close the Specification.
1. Right-click to select in the browser or on a class diagram and make the shortcut menu
visible.
2. Select the Specification menu choice.
3. Select the Attributes tab.
4. Attributes will have a data type set to type and an initial value set to initval. Click to select
the type or initval and place the field in edit mode.
5. Enter the desired data type or initial value.
1. Right-click to select a class in the browser or on a class diagram and make the shortcut
menu visible.
2. Select the Specification menu choice.
1. Click the + next to the class in the browser to expand the class.
2. Right-click on the operation to make the shortcut menu visible.
3. Select the Specification menu choice.
4. Select the cg tab.
3. Interaction Diagrams
1. Right-click to select the use case in the browser and make the shortcut menu visible.
2. Select the New: Sequence Diagram menu choice. An unnamed sequence diagram is added
to the browser.
3. With the new sequence diagram selected, enter the name of the sequence diagram.
1. Right-click to select the class in the browser and make the shortcut menu visible.
2. Select the State Diagram menu choice. This will automatically create and open the
diagram.
3. To open the diagram at another time, click the + to expand the class in the browser, and
double-click on its state transition diagram in the browser.
Creating States
5.Architectural Diagrams
1. Right-click to select the Component View package on the browser and make the shortcut
menu visible.
2. Select the New: Package menu choice. This will add an item called New Package to the
browser.
3. With the New Package still selected, enter the name of the package.
1. Double-click on the Main Diagram under the Component View package on the browser to
open the diagram.
2. Click to select a package and drag the package onto the diagram.
3. Repeat step 2 for each additional package.
4. Dependency relationships are added by selecting the dependency icon from the toolbar,
clicking on the package representing the client, and dragging the arrow to the package
representing the supplier.
1. Right-click to select the component package on the browser and make the shortcut menu
visible.
2. Select the Specification menu choice.
3. Select the Packages tab.
4. Right-click to select the logical package and make the shortcut menu visible.
5. Select the Assign menu choice.
6. Click the OK button to close the Specification.
Creating Components
1. Right-click to select the component on the browser and make the shortcut menu visible.
2. Select the Specification menu choice.
3. Select the Classes tab.
4. Right-click to select the class and make the shortcut menu visible.
5. Select the assign menu choice.
6. Click the OK button to close the Specification.
1. Rose automatically creates the deployment diagram. To open the diagram, double-click on
the Deployment Diagram on the browser.
2. To create a node, click to select the Processor icon, and click on the diagram to place the
node.
3. With the node still selected, enter the name of the node.
4. To create a connection between nodes, click to select the connection icon from the toolbar,
click on one node on the deployment diagram, and drag the connection to the other node.
1. Create a project
2. Add Project Caption
3. Add Referenced Libraries and Base Projects
4. Set the File Type and Analyze the Files
5. Evaluate the Errors
6. Select Export Options and export to Rose 7. Update Rose Model.
Theory:
Event:
An event is an occurrence at a specific time and place that can be described and
should be remembered by the system. Events drive or trigger all processing that a system
does, so listing events and analyzing events makes sense when you need to define system
requirements by identifying use cases.
The importance of the concept of events for defining system requirements was first
emphasized for modern structured analysis when this concept was adapted to real-time
systems in the early 1980s. Use cases for business systems are now identified by using the
event decomposition approach.
Types of Events:
1) External Events
2) Temporal Events
3) State Events
External Event:
An external event is an event that occurs outside of the system, usually initiated by an
external agent. An external agent is a person or organizational unit that supports or receives
data from the system, not necessarily the system user. To identify the external events, the
When describing external events, analysts need to name the event so that the external
agent is clearly defined. The description should also include the action that the external agent
wants to pursue. Important external events can also result from the wants and needs of people
or organizational units inside the company.
Another type of external event occurs when external entities provide new information
that the system simply needs to store for later use.
Temporal Events:
A second type of event is a temporal event, an event that occurs as a result of reaching
a point in time.Many information systems produce outputs at defined intervals, such as
payroll systems that produce a paycheck every two weeks.
These events are different from external events in that the system should
automatically produce the required output without being told to do so.
Temporal events do not have to occur on a fixed date. They can occur after a define
period of time has elapsed.
State Events:
A State Event is an event that occurs when something happens inside the system that
triggers the need for processing.
Often State Events occur as a consequence of external events. Sometimes they are
similar to Temporal Events, except that the point in time cannot be defined.
Identifying Events:
It is always useful in identifying events to trace the sequence of events that might
occur for a specific external agent.
Sometimes the analyst is concerned about events that are important to the system but
do not directly concern users or transactions. Such events typically involve design choices or
system controls. When defining requirements, the analyst should temporarily ignore these
events. They are important for the design discipline, however.
Events that affect design issues include external events that involve actually using the
physical system, such as logging on. Most of these events include system controls, which are
checks or safety procedures put in place to protect the integrity of the system.
One technique used to help decide which events apply to controls is to assume that
technology is perfect. The perfect technology assumption states that events should be
included during the definition of requirements only if the system would be required to
respond under perfect conditions.
External Events:
• Student wants to check book availability.
• User requests for books.
• Librarian issues books.
• User returns books.
• Librarian collects fine.
• User pays fine.
• User requests catalog.
• Librarian creates new catalog.
• Librarian makes order for books.
• Supplier receives order.
• Librarian checks order status.
• Librarian makes payment.
• Supplier receives payment.
• Librarian updates catalog.
Temporal Events:
Theory:
Use case diagrams are a set of use cases, actors and their relationships. They
represent the use case view of a system.A use case diagram is a graphic depiction of the
interactions among the elements of a system.
Use case diagrams are used to gather the requirements of a system including internal
and external influences. These requirements are mostly design requirements. So when a
system is analyzed to gather its functionalities use cases are prepared and actors are
identified.
Actor:
An actor specifies a role played by a user or any other system that interacts with the
subject.
Primary Actor:
The primary actor of a use case is the stakeholder that calls on the system to deliver
one of its services. It has a goal with respect to the system – one that can be satisfied by its
operation. The primary actor is often, but not always, the actor who triggers the use case.
Supporting Actors:
A supporting actor in a use case in an external actor that provides a service to the
system under design. It might be a high-speed printer, a web service, or humans that have to
do some research and get back to us.
Secondary actors may or may not have goals that they expect to be satisfied by the
use case, the primary actor always has a goal, and the use case exists to satisfy the primary
actor.
Use Case:
Casual: It is an informal paragraph format. Here multiple paragraphs covers various formats.
Fully dressed: In this all the steps and variations are written in detail, and there also
supporting sections like preconditions and success guarantees.
When it comes to drawing use case diagrams one area many struggle with is
showing various relationships in use case diagrams. In fact many tend to confuse
<<extend>>, <<include>> and generalization.
Generalization of an Actor:
Generalization of an actor means that one actor can inherit the role of an other actor. The
descendant inherits all the use cases of the ancestor. The descendant have one or more use
cases that are specific to that role.
Lets expand the previous use case diagram to show the generalization of an actor.
Many people confuse the extend relationship in use cases. As the name implies it
extends the base use case and adds more functionality to the system. Here are few things to
consider when using the <<extend>> relationship.
The extending use case is dependent on the extended (base) use case. In the below
diagram the “Calculate Bonus” use case doesn’t make much sense without the
“Deposit Funds” use case.
The extending use case is usually optional and can be triggered conditionally. In the
diagram you can see that the extending use case is triggered only for deposits over
10,000 or when the age is over 55.
The extended (base) use case must be meaningful on its own. This means it should
be independent and must not rely on the behaviour of the extending use case.
Although extending use case is optional most of the time it is not a must. An
extending use case can have non optional behaviour as well. This mostly happens when your
For example in an accounting system one use case might be “Add Account Ledger
Entry”. This might have extending use cases “Add Tax Ledger Entry” and “Add Payment
Ledger Entry”. These are not optional but depend on the account ledger entry. Also they have
their own specific behaviour to be modelled as a separate use case.
Include relationship show that the behaviour of the included use case is part of the
including (base) use case.
The main reason for this is to reuse the common actions across multiple use cases.
In some situations this is done to simplify complex behaviours. Few things to consider when
using the <<include>> relationship.
The base use case is incomplete without the included use case.
The included use case is mandatory and not optional.
WEEK – 2
A catalogue of use cases that lists events in rows and key pieces of information about
each event in columns is an event table. Each row in the table records information about one
event and its use case. Each column in the table represents a key piece of information about
that event and use case.
An event table consists of the following: event, trigger, source, use case, response and
destination.
Event:
An event is the specification of a significant occurrence that has a location in time and
space. Anything that happens is modelled as an event. In the context of state machines, an
event is an occurrence of a stimulus that can trigger a state transition of an object or a group
of objects. Events can, but do not necessarily, cause state transitions from one state to another
in state machines represented by state machine diagrams.
External events: these are the events that pass between the system and its actors.
Internal events: these are the events that pass among the objects that live inside the
system.
Temporal events: these are the events that pass through or produced by time.
Trigger:
A signal that tells the system that an event has occurred, either the arrival of data
needing processing or a point in time. It is a named element which is used to relate specific
event to a behaviour that may affect an instance of the classifier.
Events may cause execution of behaviours. A trigger specifies the event that may
Source:
Use case:
It is a list of actions or event steps defining the interactions between a role (actor) and
a system to achieve a goal.
Response:
Destination:
An external agent that receives data from the system is destination. It is the place
where any response (output) is sent, again an external event.
Analysis:
S.N DESTINATIO
O EVENT TRIGGER SOURCE USE-CASE RESPONSE N
user should enter user registration of user will get
1 user LMS
register details the user credentials
enter user
user should should be valid
2 id, user user login LMS
login user
password
user search
book
for book search for
3 user availability user
availability inquiry book
details
of book
user request request
request for
4 for book issue status user request details LMS
book
details
viewing
user view history book status
5 user history of user
history details details
book
request
user request request for book request
6 book user LMS
for librarian book details
details
Theory:
Domain Class
Each domain class denotes a type of object. It is a descriptor for a set of things that
share common features. Classes can be:-
Business objects - represent things that are manipulated in the business e.g. Order.
Real world objects – things that the business keeps track of e.g. Contact, Site.
Events that transpire - e.g. sale and payment.
Care must be applied with this method; a mechanical noun-to-class mapping isn't possible,
and words in natural languages are ambiguous. Nevertheless, it is another source of
inspiration. The fully dressed use cases are an excellent description to draw from for this
analysis .
Vision and Scope, Glossary and Use Cases are good for this type of linguistic
analysis
Noun phrases may also be attributes or parameters rather than classes:
Analysis:
CatLog Activity Reports An output that can be performed from another information
WEEK –3
Rose. Design:
WEEK – 3
c) Develop CRUD matrix to represent relationships between use cases and problem
domain classes.
Theory:
CRUD Matrix:
Another variation of CRUD is BREAD, an acronym for "Browse, Read, Edit, Add,
Delete".This extension is mostly used in context with data protection concepts, when it is
legally not allowed to delete data directly. Locking the data prevents the access for users
without destroying still needed data. Yet another variation, used before CRUD became more
common, is MADS, an acronym for "Modify, Add, Delete, Show.
Database Applications:
The acronym CRUD refers to all of the major functions that are implemented in
relational database applications. Each letter in the acronym can map to a standard SQL
statement, HTTP method .
User Interface:
CRUD is also relevant at the user interface level of most applications. For example, in
address book software, the basic storage unit is an individual contact entry. As a bare
minimum, the software must allow the user to
Without at least these four operations, the software cannot be considered complete.
Because these operations are so fundamental, they are often documented and described under
one comprehensive heading, such as "contact management", "content management" or
"contact maintenance" (or "document management" in general, depending on the basic
storage unit for the particular application).
Analysis:
WEEK – 4
a ) Develop Use case diagram
Design:
WEEK – 4
b ) Develop elaborate Use case descriptions & scenarios
. of books
4.1 Collect the payment
4.2 Supply the books
WEEK – 4
Theory
A prototype is an initial, working model of a larger more complex entity. prototypes are used
for many different purosees.
Discovery Prototype: It is used for a single discovery objective and then discarded once the
concept has been tested.
Example: if you use a prototype to determine screen formats and processing sequences, once
you have finished that definition you will throw away the protype.
Evolving Protypes: These are the prototypes that grow and change and may eventually be
used as the final, live system.
Operative: A prototype should be a working model with the emphasis on working. A simple
start to a protype called a mock-up,is an electronic form (such as a screen) that shows what it
looks like but it is not capable of executing an activity. Later, a working prototype will
actually execute and provide both “look and feel” characteristics but may lack some
functionality.
Quick: Tools, such as CASE tools, are needed to develop a prototype so that it can be built
and modified quickly. Since a prototypes purpose is to validate an approach, if the approach
is wrong, then the tools must be available to modify and test quickly to determine the correct
WEEK – 5
Theory:
UML provides two types of diagrams for the representation of interactions: the
sequence diagram and the communication diagram. Both diagrams visualize the exchange of
information. However, the emphasis is different: communication diagrams emphasize the
relationships of individual objects and their topology; sequence diagrams emphasize the
chronological course of exchanged information. In the external view, we opt for the
representation through sequence diagrams and do without communication diagrams for two
reasons:
Sequence diagrams are easier to understand for developers and readers. In our
practical work in projects we have observed a much higher acceptance of sequence
diagrams because of their simplicity.
We avoid using unnecessarily many diagram types for the same facts. Less is often
more.
Sequence diagrams show the progression of events over a certain amount of time,
while system sequence diagrams go a step further and present sequences for specific use
cases.Use cases are simply another diagram type which represent a user's interaction with the
Objects
-this box shape with an underlined title represents a class, or object, in UML. Within a
SSD, this shape models the system as a black box (a system with inner workings that are not
immediately visible).
Actors
-shown by stick figures, actors are entities that interact with the system, and
yet are external to it.
Events
-the system events that the actors generate in the sequence. A dashed line, known as
a lifeline, represents events in an SSD. Lifelines may begin with a labeled rectangle shape
or an actor symbol.When to Draw a System Sequence DiagramSSDs are ideal for
demonstrating when and how tasks are completed in a system, especially as those tasks are
related to use case.
WEEK – 5
a ) Develop high-level sequence diagram for each use-case.
Design:
Books
Renewal Books
Supply Books
WEEK – 5
b ) Identify MVC classes/objects for each use case
Theory:
Model - The lowest level of the pattern which is responsible for maintaining data.
View - This is responsible for displaying all or a portion of the data to the user.
Controller - Software Code that controls the interactions between the Model and
View.
MVC is popular as it isolates the application logic from the user interface layer and
supports separation of concerns. Here the Controller receives all requests for the application
and then works with the Model to prepare any data needed by the View. The View then uses
the data prepared by the Controller to generate a final presentable response. The MVC
abstraction can be graphically represented as follows.
VIEW:
A presentation of data in a particular format, triggered by a controller's decision to
present the data. They are script based templating systems like JSP, ASP, PHP and very easy
to integrate with AJAX technology.
CONTROLLER:
The controller is responsible for responding to user input and perform interactions on
the data model objects. The controller receives the input, it validates the input and then
performs the business operation that modifies the state of the data model.
Design:
Issue books:
Return books:
Order books:
<<control>> <<control>>
librarian vender
Supply books:
<controller>> <<controller>>
librarian vender
Renewal:
<<controller>>
<<view>>
librarian
user
WEEK – 5
Book_Query
Book_Query Inquiry_Handler bc:Book_Name
bc:Book_Name book_name:Da bc:book_author
bc:book_author book_author:da
book_author:d bc:book_public
bc:book_public book_publicatio
book_publicatio
a ation n:da
2: inquiry on(b_name,b_auth,b_pub)
3: inquiry on b_name,b_auth,b_pub
5: init book_author
6: read book_author
7: init book_publication
8: read book_publication
WEEK – 6
a) Develop detailed design class model (use GRASP patterns for responsibility
assignment).
Theory:
The class diagram is the main building block of object-oriented modelling. It is used
both for general conceptual modelling of the systematic of the application, and for detailed
modelling translating the models into programming code. Class diagrams can also be used for
data modelling. The classes in a class diagram represent both the main elements, interactions
in the application, and the classes to be programmed.
The top compartment contains the name of the class. It is printed in bold and centred,
and the first letter is capitalized.
The middle compartment contains the attributes of the class. They are left-aligned and
the first letter is lowercase.
The bottom compartment contains the operations the class can execute. They are also
left-aligned and the first letter is lowercase.
In the design of a system, a number of classes are identified and grouped together in a
class diagram that helps to determine the static relations between them. With detailed
modelling, the classes of the conceptual design are often split into a number of subclasses.
Association
Generalization
→Dependency
Realization
Attribute:
Operation (Method):
Below is the example (figure) of detailed class diagram model for Simplified Banking
system:
WEEK – 6
b) Develop three-layer package diagrams for each case study.
Theory:
Package diagram is UML structure diagram which shows structure of the designed
system at the level of packages. The following elements are typically drawn in a package
diagram: package, packageable element, dependency, element import, package import,
package merge.(UML Package Diagram is a type of Structure Diagrams that represents the
packages of the model and dependencies between them.)
Package Diagrams are used to illustrate the layered architecture of a software system.
The packages depict the different layers of a software system. To indicate the types of
dependencies between the packages are used the stereotypes.
There are two special types of dependencies between the packages in UML:
1. Package: a general purpose mechanism for organizing model elements & diagrams into
groups. It provides an encapsulated namespace within which all the names must be unique. It
is used to group semantically related elements. It is a namespace as well as an element that
can be contained in other packages' namespaces.
2. Class: a representation of an object that reflects its structure and behavior within the
system. It is a template from which running instances are created. Classes usually
describe the logical structure of the system.
* It is used in large scale systems to picture dependencies between major elements in the
system
Design:
WEEK – 7
a ) Develop Use case Packages.
Theory:
Explanation
If there are many use cases or actors, you can use use-case packages to further structure
the use-case model. A use-case package contains a number of actors, use cases, their
relationships, and other packages; thus, you can have multiple levels of use-case packages
(packages within packages).
The top-level package contains all top-level use-case packages, all top-level actors, and all
top-level use cases.
Use
You can partition a use-case model into use-case packages for many reasons:
You can use use-case packages to reflect order, configuration, or delivery units in the
finished system.
Allocation of resources and the competence of different development teams may require
that the project be divided among different groups at different sites. Some use-case
packages are suitable for a group, and some for one person, which makes packages a
naturally efficient way to proceed with development. You must be sure, however, to
define distinct responsibilities for each package so that development can be performed
in parallel.
WEEK – 7
Now the question is what are these physical aspects? Physical aspects are the
elements like executables, libraries, files, documents etc which resides in a node.
Purpose:
Component diagram is a special kind of diagram in UML. The purpose is also
different from all other diagrams discussed so far. It does not describe the functionality of
the system but it describes the components used to make those functionalities.
So from that point component diagrams are used to visualize the physical
components in a system. These components are libraries, packages, files etc.
A single component diagram cannot represent the entire system but a collection of
diagrams are used to represent the whole.
We have already described that component diagrams are used to visualize the static
implementation view of a system. Component diagrams are special type of UML diagrams
used for different purposes.
These diagrams show the physical components of a system. To clarify it, we can
say that component diagrams describe the organization of the components in a system.
As we have already discussed those components are libraries, files, executables etc. Now
before implementing the application these components are to be organized. This component
organization is also designed separately as a part of project execution.
WEEK – 7
c) Identify relationships between use cases and represent them.
Design:
WEEK – 7
Design:
WEEK – 8
The name of the diagram itself clarifies the purpose of the diagram and other details.
It describes different states of a component in a system. The states are specific to a
component/object of a system. A State Chart diagram describes a state machine.
Now to clarify it state machine can be defined as a machine which defines different
states of an object and these states are controlled by external or internal events. As State
Chart diagram defines states it is used to model lifetime of an object.
Purpose:
Before drawing a State Chart diagram we must have clarified the following points:
The first state is an idle state from where the process starts. The next states are arrived
for events like send request, confirm request, and dispatch order. These events are
responsible for state changes of order object.
Activity Diagram:
So the control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent. Activity diagrams deals with all type of flow control by
using different elements like fork, join etc.
The basic purposes of activity diagrams are similar to other four diagrams. Other
four diagrams are used to show the message flow from one object to another but activity
diagram is used to show message flow from one activity to another. Activity is a particular
operation of the system. It captures the dynamic behaviour of the system. Activity diagrams
are not only used for visualizing dynamic nature of a system but they are also used to
construct the executable system by using forward and reverse engineering techniques. The
only missing thing in activity diagram is the message part.
Activities
Association
Conditions
Constraints
The following diagram is drawn with the four main activities:
Deployment Diagram:
Deployment diagrams are used to visualize the topology of the physical components of
a system where the software components are deployed.So deployment diagrams are used to
describe the static deployment view of a system. Deployment diagrams consist of nodes and
their relationships.
Purpose:
The name Deployment itself describes the purpose of the diagram. Deployment
diagrams are used for describing the hardware components where software components are
deployed. Component diagrams and deployment diagrams are closely related. Component
Performance
Scalability
Maintainability
Portability
Nodes
Database Server
client1
client2
Application Server printer
Terminal
clientN