0% found this document useful (0 votes)
99 views37 pages

DSRZ Record

cloud
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views37 pages

DSRZ Record

cloud
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 37

1.

PROBLEM STATEMENT
Cloud computing is the latest computing paradigm that delivers hardware and software resources as
virtualized services in which users are free from the burden of worrying about the low-level system
administration details. Migrating Web applications to Cloud services and integrating Cloud services
into existing computing infrastructures is non-trivial. It leads to new challenges that often require
innovation of paradigms and practices at all levels: technical, cultural, legal, regulatory, and social.
The key problem in mapping Web applications to virtualized Cloud services is selecting the best and
compatible mix of software images (e.g., Web server image) and infrastructure services to ensure that
Quality of Service (QoS) targets of an application are achieved. The fact that, when selecting Cloud
services, engineers must consider heterogeneous sets of criteria and complex dependencies between
infrastructure services and software images, which are impossible to resolve manually, is a critical
issue.
To overcome these challenges, we present a framework (called CloudGenius) which automates the
decision-making process based on a model and factors specifically for Web server migration to the
Cloud. CloudGenius leverages a well known multi-criteria decision making technique, called Analytic
Hierarchy Process, to automate the selection process based on a model, factors, and QoS parameters
related to an application. An example application demonstrates the applicability of the theoretical
CloudGenius approach. Moreover, we present an implementation of CloudGenius that has been
validated through experiments.

2. ABSTRACT
With the increase in cloud service providers, and the increasing number of compute services offered, a
migration of information systems to the cloud demands selecting the best mix of compute services and
virtual machine (VM ) images from an abundance of possibilities.
Therefore, a migration process for web applications has to automate evaluation and, in doing so,
ensure that Quality of Service (QoS) requirements are met, while satisfying conflicting selection
criteria like throughput and cost.
When selecting compute services for multiple connected software components, web
application engineers must consider heterogeneous sets of criteria and complex dependencies across
multiple layers, which is impossible to resolve manually.
In this paper, the authors have proposed a framework that has proven its capability to support
migrations of single-component as well as multi-component web applications.
CloudGenius expands on the additional complexity of facilitating migration support for multicomponent web applications. It presents an evolutionary migration process for web application
clusters distributed over multiple locations, and clearly identifies the most important criteria relevant
to the selection problem.
CloudGenius also comprises of a multi-criteria-based selection algorithm based on Analytic
Hierarchy Process (AHP). Because as the solution space grows exponentially, the authors have
developed a Genetic Algorithm (GA)-based approach to cope with computational complexities in a
growing cloud market.

3. SOFTWARE REQUIREMENT SPECIFICATION


I.

INTRODUCTION

This project reviews the Services of the home care needs. It looks at what has already in areas home
care needs and Using technology to replace human effort, skill, and time to perform a process,
Emphasizing the online services for home needs. Placing controls over the access of the services in the
city. Using the technology as a fail-safe mechanism to monitor and increase certainty and control over
production and the organizational functions.
PURPOSE:
The purpose to design a Cloud Genius is to provide migration support for multi-component web
applications to cope with multi computational complexities emerging in the market.
Specific Objectives
i. To study and analyze the current home care services in order to come up with proper
requirement specifications for the new system.
ii. To design an online system to provide services at door step.
iii. To create an application that will enable the coordinator to evaluate various services statistics,
which can influence decision-making .
SCOPE OF THE PROJECT
The Timesaverz project is a software tool created to help and access the services required by the
user with well equipped agents in the city. The project is web based interactive application. Focus is
laid solely on the services categories, availability , enquiry, schedule, payment as per required and
feedback against used service .
DEFINITIONS:
i.

ADMINISTRATOR: The administrator is used to register a new visitor for the website.
Administrator can keep those records update. Administrator keep services booked record i.e.,
how many services are booked and how many booked services have successfully completed
etc.

ii.

GUI : A graphical user interface (GUI) is a human-computer interface (i.e., a way for humans
to interact with computers) that uses windows, icons and menus and which can be manipulated
by a mouse .In computing, a graphical user interface is a type of user interface that allows
users to interact with electronic devices using images rather than text commands.

iii.

HTML: This is the language that Web pages are written in. If you want to create really great
Web pages then you will need to learn this. As far as computer languages go this is the easiest
to learn. You can create a Web page without it using a Web page editing program but the
program will still use HTML to create the page.

iv.

URL: Stands for "Uniform Resource Locator." A URL is the address of a specific Web site or
file on the Internet. It cannot have spaces or certain other characters and uses forward slashes
to denote different directories. Some examples of URLs are http://www.cnet.com/,
http://web.mit.edu/, and ftp://info.apple.com/. As you can see, not all URLs begin with "http".
The first part of a URL indicates what kind of resource it is addressing.
RDBMS: Short for Relational Database Management System, RDBMS refers to a relational
database plus supporting software for managing users and processing SQL queries, performing
backups/restores and associated tasks.

v.

vi.

SQL: SQL, short for Structured Query Language is a simple programming language used for
accessing and managing data in relational databases such as SQL Server.

ACRONYMS
Initial

Full Text

AR/RS

Automated storage and Retrieval systems

CGI

Common Gateway Interface

GUI

Graphical User Interface

HTML

Hyper Text Markup Language

IT

Information Technology

ODA

Overseas Development Association

OPACs

Online Public Access Catalogues

SQL

Structured Query Language

URL

Universal Resource Locator

REFERENCES
[1] Amazon Web Services. Web application hosting in the AWS cloud best practices
[Online].
Available:
http://media.
amazonwebservices.com/AWS_Web_Hosting_Best_Practices.pdf
[2] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski,G. Lee, D.
Patterson, A. Rabkin, I.Stoica, and M. Zaharia, Above the clouds: A Berkeley view of
cloud computing, EECS Dept.,Univ. California, Berkeley, CA, USA, Tech. Rep.
UCB/EECS-2009-28, 2009.
[3] P. Mell and T. Grance, The NIST definition of cloud computing,recommendations of
the national institute of standards and technology, NIST Special Publication,
Gaithersburg, MD, USA, 2011.
[4]
BitNami.
BitNami
cloud
images
[Online].
Available:
http://
bitnami.org/learn_more/cloud_images
[5] The cloud market [Online]. Available: http://cloudmarket.com
[6]
A.
W.
Services.
(2013,
Jan.).
The
AWS
marketplace.
https://aws.amazon.com/marketplace
[Online].Available:
https://aws.amazon.com/marketplace
[7] M. Menzel and R. Ranjan, CloudGenius: Decision support for web server cloud
migration, in Proc. 21st Int. Conf. World Wide Web, 2012, pp. 979988.
[8] M. Menzel, M. Schonherr, and S. Tai, MC22: Criteria,requirements and a
software prototype for cloud infrastructure decisions, Softw. Practice Experience, vol.
43, no. 11, pp. 12831297, Nov. 2013.

OVERVIEW
Cloud Computing provides an elastic Information Communication Technology (ICT) infrastructure for
the most demanding and dynamic web applications. Clouds provide an infrastructure (if optimally
selected and allocated) that can match ICT cost with workload patterns in real-time. Cloud service
types can be abstracted into three layers: Software as a Service (SaaS), Platform as a Service (PaaS),
and Infrastructure as a Service (IaaS).
The increasing domination of Cloud computing solutions in the software market means that existing
applications may need to migrate to this environment, in order to reap the benefits of reduced
infrastructural costs and dynamic access to computational resources. While applications have already
started being developed specifically for the Cloud (forming Cloud-native applications), existing
systems must be adapted to be suitable for the Cloud, requiring to make them Cloudenabled. Decision
making on whether and how to migrate to the Cloud entails a series of parameters, and incorporates
multiple dimensions with different analytical tasks that need to be supported. Supporting this process
in the literature mainly revolves around selecting an appropriate provider and calculating the cost of
deploying and running the application, usually as part of an Infrastructure as a Service (IaaS) solution,

Calculating the cost of using Cloud offerings and comparing them with each other, despite the
availability of information from the providers is complicated by a number of factors. First of all,
different Cloud providers use different pricing models. As discussed in, a Cloud service may be
offered on a pay per use, subscription, prepaid per use (pay per use against a pre-paid credit), or
combinations of subscription and pay per use, with dedicated computing resources rented for a period
of time, and additional resources available on demand. More sophisticated options are also available.
Amazon Web Services for example allow customers to bid for unused EC2 capacity by means of Spot
Instances. Furthermore, different providers define the parameters of their offerings in different ways.
Windows Azure, for example, incorporates the cost of I/O bandwidth as part of the pricing for Cloud
Service instances, offering Virtual Machine (VM) images for lease, while Amazon EC2 charges only
for outbound data. The same service is also typically offered in a variety of configurations on, e.g., the
number of CPU cores, or the maximum storage size required, that further complicates the selection of
an appropriate service provider. The related work in migration support of applications to the Cloud.
Identify for this purpose a fixed set of parameters to be considered in calculating the cost of Cloud
offerings. These parameters however do not necessarily cover all configuration options available by
service providers.
II) OVERALL DESCRIPTION
PRODUCT PERSPECTIVE: This product requires a web browser which is capable of playing flash
media. This program will not be dependent on any other software and is not a component of another
program. This program does require new hardware.
PRODUCT FUNCTION: The product function deals with methods of data collection, migration that
were used in the system study and design of the proposed system. An investigation of the current
manual system was carried out in order to determine the requirement specifications for the Cloud Data
Migration. Therefore, the process of data collection and migration involved identifying all the major
activities and selective sampling to choose what activities should be considered for the development of
the system. During the fact-finding process, the researcher used different techniques to study the
existing situation.

III) SPECIFIC FUNCTION REQUIREMENTS


A. FUNCTIONAL REQUIREMENTS
1. REGISTER: The first step involved before accessing any type of data from online Timesaverz
Service system is to register yourself .The register module contains the application form or registration
form which contains following details.
Name, Mobile number, E-mail id, OTP received etc.

INPUT: The user has to fill the available form to register themself and to enjoy the facilities provided
by them. After filling the form click on Sign Up button.
PROCESSING: After the user fill the form and submit the form the internal processing starts which
checks the details like whether the E-mail id, OTP etc., are correct or not.
OUTPUT: If the processing gives the result as the details are correct then the registration is done, if
not the registration fails. The system provides us with one more trail if it fails.
2. LOGIN: When the registration of the particular user is done then login module is displayed. The
Login module contains the form which contain membership Mobile number and OTP received on
registered number. It includes Mobile No and OTP Received.
INPUT: The user must fill the available form to login.
PROCESSING: The system evaluates the form to check whether the user trying to access the data is
registered or not.
OUTPUT: If the user is registered i.e., if the result is true then he/she will be logged in.
3. ENQUIRY: Any user who is registered or not can view the services available in Timesaverz
system. User can enquire about categories of services, number of sub services, levels of services,
comparison between levels of services, service cost on level of service selected etc.,
INPUT: Input in this requirement of the view is the selectable options available to the user on the
screen.
PROCESSING: The input given by the user is used in processing to find out the data available and
the appropriate result is displayed to the user.
OUTPUT: All related information regarding the service is provided to the user.
4. BOOK SERVICE: Select your required service and schedule the timings, give the address details
where you want the service to be done, select the payment mode and fill the payment details if not
selected as COD.
INPUT : Select the options available and fill the required input fields on the screen to book your
service.
PROCESSING: The system undergoes internal processing for the input given to it and finds the
solution for the input.
OUTPUT: The result of this step is the displaying of the detailed description of the booked service so
that the users can confirm it and to decide to book that service or not.
5. COMPLAINT: If in any scenario service is not done correctly then user is given option to give
complaint about the service.

INPUT: The user has to fill the available form which contains service details which were booked,
complaint box etc.
PROCESSING: The system undergoes internal processing for the input given to it and finds the
solution for the input.
OUTPUT: The result of this step is the booking of the complaint of service done and necessary
actions will be taken on complaint.
6. LOGOUT: To sign off from the webpage or your account log off.
INPUT: To exit the webpage LOGOUT option is clicked.
PROCESSING: The internal processing is done to save the modifications which are done and then
the page is logged out.
OUTPUT: Result will be the exit of the webpage.

B. EXTERNAL INTERFACE REQUIREMENTS


SYSTEM INTERFACE
The interface was designed using Hyper Text Markup Language (HTML). This makes up the
overall graphical user interface in which PHP was embedded to carry the appropriate SQL queries that
fetch data from Sql database.
SOFTWARE INTERFACE
i.

Front End Client - The applicant and Administrator online interface is built using JSP and

ii.
iii.

HTML. The Administrators's local interface is built using Java.


Web Server Apache tomcat.
Back End - Sql database.

HARDWARE INTERFACE
The server is directly connected to the client systems. The client systems haveaccess to the
database in the server.
USER INTERFACE
The user of the system is expected to:

Posses basic knowledge on how to use electronic data processing

ii

Be familiar or able to familiarize with the terminologies used in the library.

HARDWARE REQUIREMENTS
The proposed system would need a computer with at least 400MB random access memory and
should have a UK/US system of keyboard. In addition to that the system should have a colored
monitor screen with a minimum processing speed of 1 GHz, a printer preferably a laser jet 6P, mouse
and pad.
SOFTWARE REQUIREMENTS
The application runs under Windows 2000 or higher, which should be pre installed on the
computer. The anti virus software toolkit used is Macfeanti virus that should be regularly upgraded or
any other anti virus software tool kit can be used.

C. PERFORMANCE REQUIREMENT
i

The system should be fast enough to satisfy the users.

ii

The system will authenticate all users by username and password before getting access to
resources.

iii

The system should be available at any time of the day so that the searching individual is able to
search at his/her own convenience

iv

The system should be accessible on the Makerere University intranet as well as any other place
where there is Internet.

The system should be maintainable by an individual with average computer capabilities. Data
input, modification and elementally logical streamlining should be done using online prepared
forms that will be friendly and robust enough for the user to manage with minimal possibilities
of causing mistakes.

vi

The system shall have appropriate menus from which the user will make selections for the
required functions.

vii

The system shall have a user-friendly interface, which can be easily leant and used in a short
time.

viii
ix

System should be protected from abuse by unauthorized users


The system shall be able to present output in an orderly manner.

D. ATTRIBUTE
SECURITY: The security for any software is a very important work to be done by any designer.
Security of online Timesaverz service is designed carefully so that any user cannot make any changes
to database present and it is also made error-prone to avoid errors when many number of user access
the data.
MAINTANABILITY: The maintainability of the online Timesaverz service involves the following
two functions that are :The system shall utilize interchangeable plugins. The system shall be easily
updateable for fixes and patches.
PORTABILITY: The system should be extremely via the usb drive. The system shall be easy to
migrate or backed up via another use drive.
AVAILABILITY: The system should have an availability of 99.99%.
RELIABILITY: Specify the factors required to establish the required reliability of the software
system at time of delivery.

E. OTHER REQUIREMENTS:
i.

Data entry: Will be designed to cater for data inputs in the respective databases.

ii.

The modifications should also be validated and the system should respond to incorrect data. It
will be designed to validate data inputs in order to maintain data integrity.

iii.

Data edit: Will be designed to modify and update already existing files in the databases. The
modification should also be validated and system should respond to incorrect data to make the
user aware of the incorrect data.

iv.

Data deletion: Will be used to delete data from databases. Records marked for the user will
not access deletion.

v.

Report summary: Report summaries will be generated to give timely reports needed for
monitoring purposes. These reports may be used in decision-making and assessment.

vi.

Passwords: Passwords will be designed as a security measure against unauthorized access to


the entire system use. Modules will also be designed to cater for change of records whenever
required.

4. UNIFIED MODELING LANGUAGE


INTRODUCTION
The unified modeling language (UML) is a standard language for writing software blueprints.
The UML is a language for
Visualizing
Specifying
Constructing
Documenting
The artifacts of a software system:
UML is a language that provides vocabulary and the rules for combining words in that vocabulary for
the purpose of communication.
A modeling language is a language whose vocabulary and rules focus on the conceptual and
physical representation of a system.
Vocabulary and rules of a language tell us how to create and real well formed models, but they
dont tell you what models you should create and when should create them.
Visualizing:
The UML is more than just a bunch of graphical symbols. In UML each symbol has well
defined semantics. In this manner one developer can write a model in the UML and another developer
or even another tool can interpret the model unambiguously.
Specifying:
UML is used for specifyingmeans building models that are precise, unambiguous and
complete.

UML addresses the specification of all the important analysis, design and implementation
decisions that must be made in developing and deploying a software intensive system.
Constructing:
UML is not a visual programming language but its models can be directly connected to a
variety of programming languages .
This means that it is possible to map from a model in the UML to a programming language
such as java, C++ or Visual Basic or even to tables in a relational database or the persistent store of an
object-oriented database.
This mapping permits forward engineering. The generation of code from a UML model into a
programming language.
The reverse engineering is also possible you can reconstruct a model from an implementation
back into the UML.
Documenting:
UML is a language for Documenting. A software organization produces all sorts of artifacts in
addition to raw executable code. These artifacts include Requirements, Architecture, Design, Source
code, Project plans, Test, Prototype, Release.
Such artifacts are not only the deliverables of a project, they are also critical in controlling,
measuring and communicating about a system during its development and after its deployment.
Conceptual model of the UML:
To understand the UML, we need to form a conceptual model of the language and this requires
learning three major elements.
*The UML Basic Building Blocks.
*The Rules that direct how those building blocks may be put together.
*Some common mechanisms that apply throughout the UML.

BUILDING BLOCKS OF THE UML


The vocabulary of the UML encompasses three kinds of building blocks.
1. Things
2. Relationships.
3. Diagrams.

THINGS:
Things are the abstraction that are first class citizens in a model. Relationship tie these things together,
Diagrams groups interesting collection of Things.
Things in the UML

There are four kinds of things in UML.


1. Structural Things
2. Behavioral Things
3. Grouping Things
4. Annotational Things.
These things are the basic object oriented building blocks of the UML.

Structural Things

Structural things are nouns of UML model.


These are the mostly static parts of a model, representing
elements that are either conceptual or physical.
There are 7 kinds of Structural Things.
(a) Class
Class is a description of a set of objects that share the same attributes, operations, relationships and
semantics. Class implements one rendered as a rectangle usually including its name, attributes
operations.
(b) Interface
An interface is a collection of operations that specify a service of a class or component. An interface
describes the externally visible behavior of that component. An interface defines a set of operational
specifications (i.e their signature) but never a set of operation implementation. Graphically an
interface is rendered as a circle together with its name. Interface rarely stands alone, it is typically
attached to the class or component that realizes the interface.
(c )Collaboration

A collaboration defines an interaction and is a society of roles and other elements that work together to
provide some cooperative behavior that is bigger than the sum of all the elements. Collaborations
have structural as well as behavioral dimension. A given class might participates in several
collaborations. Collaboration represents the implementation of patterns that make up a system.
Graphically a collaboration is rendered as an ellipse with dashed line.
(d) Usecase
A use case is a description of set of sequence of actions that a system performs that yields an
observable result of value to a particular actor. Use case is used to structure the behavioral things in a
model. Use case is realized by a collaboration. Graphically usecase is rendered as an ellipse with solid
lines.
(e) Active Class
An active class is a class whose objects own one or more processes or thread and therefore can initiate
control activity. An active class is just like a class except that its objects represents elements whose
behavior is concurrent with other elements. Graphically an active class is rendered just like
a class, but with heavy lines, including name, attributes and operations.
f) Component
A component is a physical and replaceable part of a system that conforms to and provides the
realization of a set of interfaces. A component typically represents the physical packaging of otherwise
logically elements such as classes, interfaces and collaborations. Graphically a component is rendered
as a rectangle with tabs usually including only its name

(g) Node
A node is a physical element that exists at runtime and represents a computational resource, generally
having at least some memory and often processing capability. A set of component may reside on a
node and may also migrate from Node to Node. Graphically a node is rendered as a cube usually
including only its name.

BEHAVIORAL THINGS
Behavioral things are the dynamic parts of UML.
These are the verbs of a model, representing behavior overtime and space.
There are two primary kinds of Behavioral.
1)Interaction

An interaction is a behavior that comprises a set of messages exchanged among a set of objects within
a particular context to accomplish a specific purpose.
An Interaction involves a number of other elements, including messages, action sequences and links.

Graphically a message is rendered as a direct line.


2)StateMachine
A StateMachine is a behavior that specifies the sequence of states of an object or an interaction goes
through during its life time in response to events together with its responses to those events. The
behavior of an individual class or a collaboration of classes may be specified with a state machine. A
state machine involves a number of other elements including states,transitions,events and activities.

GROUPING THINGS

Grouping things are the organizational parts of UML models. These are the boxes into which a model
can be decomposed.
1.Package
A package is a general purpose mechanism for organizing elements into groups. Structural
things,Behavioral things and even other grouping things may be placed in a package. Package is
purely conceptual.

Package is rendered as a tabbed folder ,usually including onlyits name and some times its contents.

ANNOTATIONAL THINGS

Annotational things are the explanatory parts of UML model. These are the comments you may apply
to describe, illuminate and remark about any element in a model.
Note:
Note is primary kind of annotationalthingA note is simply a symbol for rendering constraints and
comments attached to an element or a collection of elements. Graphically a note is rendered as
rectangle with a dog-eared corner, together with a textual or graphical comment

Return copy of self

RELATIONSHIPS IN UML
There are four kinds of relationships in the UML
* Dependency
* Association
* Generalization
* Realization
These relationships are the basic relational building blocks of the UML
Dependency
Dependency is a semantic relationship between two things in which a change to one thing
( the independent thing) may affect the semantics of the other thing (the dependent thing)
Dependency is rendered as a dashed line possibly directed and occasionally including a label.

Association

Association is structured relationship that describes a set of links ,a link being a connection
among object
Graphically association is rendered as a solid line, possibly directed , occasionally including a
label and often containing other adornments such as multiplicity and role name.

o.1
*
employer
employee
Fig: Association
Aggregation

Aggregation is a special kind of association representing a structural relationship between a whole an


parts
Generalization
A generalization is a specialization /generalization relationship in which objects of the
specialized element ( the child) are substitutable for objects of the generalized element ( the
parent)
In this way the child shares the structure and the behaviour of the parent

Graphically generalization relationship is rendered as a solid line with a hollow arrow head
pointing to the parent
( parent)

( child )
Fig: Generalizations
Realization

Realization is a semantic relationship between classifiers , wherein one classifier specifies a


contract that another classifier guarantees to carry out
Realization is used in two places
1. Between interfaces and classes or component that realizes then

2.Between use cases and the collaboration that realizes them

Graphically realization is rendered as a dashed line by a rectangular arrow

DIAGRAMS IN UML

A diagram is the graphical presentation of a set of elements ,most often rendered as a


connected graph of vertices (things) and ares( Relationships)
We draw diagram to visualize a system from different perspective , so a diagram is a projection
into a system
UML includes Nine Diagrams
* class diagram
* object diagram
* use case diagram
* sequence diagram
* collaboration diagram
* state chart diagram
* activity diagram
* component diagram
* deployment diagram

Class diagrams

A class diagram show a set of classes interfaces and collaborations and their relationships
Class diagram address the static design view of a system
Class diagrams that include active classes address the static process view of a system

Object diagram
Object diagram shows a set of objects and their relationships
Object diagram represents static snapshot of instances of the things found in class diagrams
These diagrams addresses static design view or static process view of a system
Use case diagram

Use case diagram shows a set of use cases and actors ( a special kind of class) and their
relationships
They address the static use case view of a system
These diagrams are important in organizing and modelling the behaviour of a system
Interaction diagram

An interaction diagram shows an interaction consisting of a set of objects and their


relationships including the messages that may be dispatched among them
Interaction diagram address the dynamic view of a system
These are two kinds of interaction diagrams

a) Sequence diagram
A sequence diagram is an interaction diagram that emphasizes the time ordering of messages
b) Collaboration diagram
A collaboration diagram is an interaction diagram that emphasizes the structural organization
of the objects that send and receive messages
Sequence and collaboration diagrams are isomorphic ,meaning that you can take one and
transform it into the other
State chart diagram
A state chart diagram shows a state machine ,consisting of states , transactions events and
activities
They address the dynamic view of the system
They are important in modeling the behavior of an interface class or collaboration and
emphasize the event ordered behavior of an object
Activity diagram

Activity diagram is a special kind of a state chart diagram that shows the flow from activity
with in a system
They address the dynamic view of a system
They are important in modeling the functions of a system and emphasize the flow of control
among objects

Component diagram
A component diagram shows the organizations and dependencies among a set of components
Component diagram address the static implementation view of a system
Deployment diagram

A deployment diagram shows the configuration of runtime processing nodes and the
components that live on them
They address the static deployment view of an architecture
They are related to component diagrams in that a node typically encloses one or more
components

RULES OF THE UML


The UML building blocks cant simply be thrown together in a random fashion.
Like any language the UML has a number of rules that specify what a well formed model should look
li9ke.
A well formed model is one that is semantically self consistent and in harmony with all its related
models
The UML has semantic rules for
* Names
What you can call things, relationship diagrams
*Scope
The context that give specific meaning to a name
*Visibility
How those names can be seen and used by others
*Integrity
How things properly and consistenly relate to one another
*Execution
What it means to run or simulate a dynamic model.

5. IBM RATIONAL ROSE ENTERPRISE


IBM Rational Rose Enterprise provides a set of model-driven capabilities for developing many
software applications including Ada, ANSI C++, C++, CORBA, Java, Java EE, Visual C++ and
Visual Basic. The software allows you to accelerate development of these applications with code
generated from visual models using the Unified Modeling Language (UML).
Model the most common applications - provides visual modeling capabilities for developing many
types of software applications.

Supports analysis, ANSI C++, Rose J and Visual C++ patterns, Enterprise JavaBean 2.0, and
forward and reverse engineering for some of the most common Java 1.5 constructs.
Provides code quality analysis abilities and code generation, with configurable model-to-code
synchronization capabilities.
Enables granular management and use of models with a model components feature that can be
controlled separately.
Provides UML modeling for database designs.
Allows data and application requirements to be integrated through logical and physical
designs.

Develop applications for the web - features web and XML tools for modeling web applications.
Includes a Web Modeling Add-In, which provides visualization, modeling and tools for
developing web applications.

Creates XML document type definitions (DTD) for use in applications.

Integrate application design with development - unifies the project team by providing common
UML model execution and notation.
Allows one language to be used for the analysis and development lifecycle.
Integrates with other IBM Rational lifecycle development tools and with any SCC-compliant
version control system, including IBM Rational ClearCase.
Provides web publishing models and reports to improve communication across the extended team.

STEPS INVOLVED IN IBM RATIONAL SOFTWARE


Below pictures figure out the steps involved in creating a new project in IBM rational rose tool to
create UML diagrams.
Step-1 Open IBM rational rose tool and select File option on left corner of the tool .
File New Project

Step-2 Select UML Project in the dialog box.

Step-3 Enter project Name and click on next button.

Step-4 Select Blank Model option under Templates and click finish buttom.

Step-5 Open Blank model of your project in Project Explorer. Then right click on it to create UML
diagrams in it.

6. Requirement Analysis-I
6.1 Use Case Diagram

A use case diagram at its simplest is a representation of a user's interaction with the system and
depicting the specifications of a use case. A use case diagram can portray the different types of users
of a system and the various ways that they interact with the system. Given below is the use case
diagram based on different actors for the current case study:
All systems interact with human or automated actors that use the system for some purpose, and
both human and actors expect the system to behave in predictable ways. In UML, a use case models
the behaviors of a system or a part of a system, and is a description of a set of sequences of actions,
including variants, that a system performs to yield an observable result of value to an actor .A use case
diagram models the dynamic design view of systems. Use case diagrams are central to modeling the
behavior of a system, a subsystem, or a class. Use case diagram shows a set of use cases and actors
and their relationships. The main contents of a use case diagram are:
Use Cases
Actors
Dependency, generalization, and association relationships

Figure: Use case diagram of CloudGenius

6.2 Class Diagram.

Class diagram, one of the most commonly used diagrams in object-oriented system, models the
static design view for a system. The static view mainly supports the functional requirements of a
system the services the system should provide to the end users. We will see from our practical
experience that lots of fun comes out when modeling out system with class diagrams.
A class diagram shows a set of classes, interfaces, and collaborations and their relationships.
Class diagrams involve global system description, such as the system architecture, and detail aspects
such as the attributes and operations within a class as well. The most common contents of a class
diagram are:
Classes, Interfaces and Collaborations
Dependency, generalization, and association relationships
Notes and constraints

Figure: Class diagram of CloudGenius

7. Requirement Analysis-II

7.1 Sequence Diagrams


Sequence diagram is one kind of interaction diagrams, which shows an interaction among a set
of objects and their relationships. The purpose of the Sequence diagram is to document the sequence
of messages among objects in a time based view. The scope of a typical sequence diagram includes all
the message interactions for (part-of) a single use case. There may be multiple sequence diagrams per
use case, one per use case scenario.
The state diagrams commonly contain:
Objects
Links
Messages
Respond Time (especially useful in real-time systems) .
The vertical lifelines represents objects of interest. Messages are shown flowing between
object lifelines. Time flows from top to bottom.
In some sequence diagrams the passenger appear to be an object of the system, since some of
the messages are coming out from the passengers.
Sequence diagrams have two features that distinguish them from collaboration diagrams.
First, there is the object lifeline.
An object lifeline is the vertical dashed line that represents the existence of an object over a
period of time. Most objects that appear in an interaction diagram will be in existence for the duration
of the interaction, so these objects are all aligned at the top of the diagram, with their lifelines drawn
from the top of the diagram to the bottom. Objects may be created during the interaction. Their
lifelines start with the receipt of the message stereotyped as create. Objects may be destroyed during
the interaction. Their lifelines end with the receipt of the message stereotyped as destroy (and are
given the visual cue of a large X, marking the end of their lives).
Second, there is the focus of control.
The focus of control is a tall, thin rectangle that shows the period of time during which an
object is performing an action, either directly or through a subordinate procedure. The top of the
rectangle is aligned with the start of the action; the bottom is aligned with its completion (and can be
marked by a return message). You can show the nesting of a focus of control (caused by recursion, a
call to a self-operation, or by a callback from another object) by stacking another focus of control
slightly to the right of its parent (and can do so to an arbitrary depth). If you want to be especially

precise about where the focus of control lies, you can also shade the region of the rectangle during
which the object's method is actually computing (and control has not passed to another object).

Figure: Sequence Diagram of CloudGenius

7.2 Collaboration Diagram.

The second interaction diagram is collaboration diagram. It shows the object


organization as shown below. Here in collaboration diagram the method call sequence is indicated by
some numbering technique as shown below. The number indicates how the methods are called one
after another.
The method calls are similar to that of a sequence diagram. But the difference is
that the sequence diagram does not describe the object organization where as the collaboration
diagram shows the object organization.
The main purposes of both the diagrams are similar as they are used to capture the dynamic behaviour
of a system. Sequence diagrams are used to capture the order of messages flowing from one object to
another. And the collaboration diagrams are used to describe the structural organizations of the objects
taking part in the interaction. A single diagram is not sufficient to describe the dynamic aspect of an
entire system so a set of diagrams are used to capture is as a whole.

Figure: Collaboration diagram of CloudGenius

8. Requirement Analysis-III

8.1 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. Activity diagrams show the overall flow of control.

Figure: Activity Diagram of CloudGenius

8.2 State Chart Diagram


A State chart diagram shows a state machine. Usually the state machine in a state chart models
the behavior of a reactive object, whose behavior is best characterized by its response to events
dispatched from outside its context. The object has a clear lifetime whose current behavior is affected
by its past. State chart diagrams are important for constructing executable systems through forward
and reverse engineering.
It is admitted that there exists a gap in the process of designing a system from requirements to
state charts, not enough direction methods can be followed when drawing the state chart diagram from
the requirements. In this section, some practical methods used during our designing the state charts for
the elevator system are introduced.

Figure: State Chart Diagram of CloudGenius

9. Implementation
9.1 Component Diagram
A component diagram depicts how components are wired together to form larger components and
or software systems. A component diagram commonly contains
1. Components
2. Interfaces
3. Dependency, Generalization, Association, and Realization relationships
COMMON USES
1. To model source code
2. To model executable releases

Figure: Component diagram of CloudGenius

9.2 Deployment Diagram


A deployment diagram models the physical deployment of artifacts on nodes. Deployment diagrams are
mainly used by system engineers.
Deployment diagrams commonly contain
1. Nodes
2. Dependency and Association relationship
Common Uses:
1. To Model embedded systems
2. To Model client/server systems

Figure: Deployment Diagram of CloudGenius

12. CONCLUSION
The pervasive concerns of software engineering are software quality, programmer productivity, and
increased job satisfaction for software engineers. The fundamental goal of software engineering is to
provide methods, tools, and techniques that will allow competent people to do a competent job.
On the one hand, the gurus and wizards of software will eschew systematic techniques; on the other
hand, systematic techniques will never transform incompetence into expertise. That leaves the vast
middle ground of sincere, competet professionals to benefit from systematic approaches to software
engineering.
The fundamental problems in software engineering are control of complexity, the lack of physical
constraints and boundaries in software, and the tendency to mix concerns that belong on different
levels of abstraction.
In addition, there are few, if any, universally accepted methods, tools,techniques or notations in
software engineering. This is due to immaturity and diversity of software engineering.
CloudGenius framework, provides a hybrid approach that combines multi-criteria decision making
technique with evolutionary optimization technique for:
(i) helping application engineers with the selection of the best service mix at IaaS layer and
(ii)enabling migration of web application clusters distributed across clouds.

13. REFERNCES

[1] Amazon Web Services. Web application hosting in the AWS cloud best practices
[Online].
Available:
http://media.
amazonwebservices.com/AWS_Web_Hosting_Best_Practices.pdf
[2] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski,G. Lee, D. Patterson,
A. Rabkin, I.Stoica, and M. Zaharia, Above the clouds: A Berkeley view of cloud
computing, EECS Dept.,Univ. California, Berkeley, CA, USA, Tech. Rep. UCB/EECS-200928, 2009.
[3] P. Mell and T. Grance, The NIST definition of cloud computing,recommendations of
the national institute of standards and technology, NIST Special Publication,
Gaithersburg, MD, USA, 2011.
[4]
BitNami.
BitNami
cloud
bitnami.org/learn_more/cloud_images

images

[Online].

Available:

http://

[5] The cloud market [Online]. Available: http://cloudmarket.com


[6]
A.
W.
Services.
(2013,
https://aws.amazon.com/marketplace
https://aws.amazon.com/marketplace

Jan.).
The
[Online].

AWS

marketplace.
Available:

[7] M. Menzel and R. Ranjan, CloudGenius: Decision support for web server cloud
migration, in Proc. 21st Int. Conf. World Wide Web, 2012, pp. 979988.
[8] M. Menzel, M. Schonherr, and S. Tai, MC22: Criteria,requirements and a software
prototype for cloud infrastructure decisions, Softw. Practice Experience, vol. 43, no. 11,
pp. 12831297, Nov. 2013.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy