SE Chapter 3-5
SE Chapter 3-5
SE Chapter 3-5
PART II
An overview of UML
What is UML?
The Unified Modeling Language (UML) is a standard graphical
language for modeling software systems. It is also used to model
non-software systems as well. For example, the process flow in a
manufacturing unit.
developed in the mid-1990s by James Rumbaugh, Grady Booch and
Ivar Jacobson.
UML is a pictorial language used to make software blueprints.
UML described as a general purpose visual modeling language to
visualize, specify, construct, and document software system.
UML is not a programming language but tools can be used to
generate code in various languages using UML diagrams. UML
has a direct relation with object oriented analysis and design,
Modeling with UML
13
Actor …
Actor classes have actors instances or objects that
represent specific actors.
An actor is shown as a stick figure in a use case
diagram depicted "outside" the system boundary.
To identify an actor, search in the problem
statement for business terms that describe roles in
the system.
14
Example
Communication relationships
✓ Actors and use cases communicate when information is
exchanged between them .
Register
<<extend>>
(CustID) Check out
<<include>>
Sell used Log-in
books
<<include>>
Review books
26
Practice
Assume online Student registration system was developed for
OBU University. By using this system; students could register
for courses and view their status, the teachers can insert, update
and delete students result. But, to inter the result, teachers
must get information from the administrator (Registrar),
because students must registered by Administrator before they
enter into the university. However, to access the system all of
them must have an account. Students and teachers account were
managed (created, modified and deleted) by Administrator. To
have an access to the system all of them must insert their
username and password on the login form.
◼ From this description list actors, use cases and draw a use
case diagram by using appropriate type of relationship.
UML Class Diagram
Class
Attribute
Operation/ method
Association / relationship
UML Class Diagram
Modeling association
classes.
Class Style Guidelines
.
… Cont’d
The objects are arranged from left to right across the diagram
An actor that initiates the interaction is often shown on the left.
The vertical dimension represents time.
library
General Guidelines For Sequence
Diagram
Strive for Left-to-Right Ordering of Messages
Layer Object Lifelines
Give an Actor the Same Name as a Class, If Necessary
Place Proactive System Actors on the Leftmost Side of Your
Diagram
Avoid Modeling Object Destruction
Avoid Activation Boxes
Name Objects Only When You Reference Them in Messages
Name Objects When Several of the Same Type Exist
Apply Textual Stereotypes to Lifelines Consistently
UML Communication Diagrams
UML communication diagrams, formerly known as
collaboration diagrams, are used to explore the dynamic
nature of your software.
Communication diagrams are often used to:-
✓ provide a bird’s-eye view of a collection of collaborating objects,
particularly within a real-time environment;
✓ provide an alternate view to UML sequence diagrams;
✓ allocate functionality to classes by exploring the behavioral aspects of a
system;
✓ model the logic of the implementation of a complex operation,
particularly one that interacts with a large number of other objects;
✓ explore the roles that objects take within a system, as well as the
different relationships in which they are involved when in those roles.
UML ACTIVITY
DIAGRAMS
UML Activity Diagrams
Interfaces
Relationships
Dependencies
Port is often used to
help expose required
and provided interfaces
Port of a component.
… Cont’d
UML DEPLOYMENT
DIAGRAMS
UML Deployment Diagrams
Deployment diagrams are used to visualize the topology of the
physical components of a system, where the software components
are deployed.
Deployment diagrams are used to describe the static deployment
view of a system.
These diagrams consist of nodes and their relationships.
The purpose of deployment diagrams can be described as −
Visualize the hardware topology of a system.
Describe the hardware components used to deploy software
components.
Describe the runtime processing nodes.
How to Draw a Deployment
Diagram?
Before drawing a deployment diagram, the following artifacts
should be identified:-
Nodes:-are nothing but physical hardware used to deploy the
application.
Relationships among nodes
Sample example of deployment diagram to provide an idea of the
deployment view of order management system. Here, we have
shown nodes as:-
√ Monitor
√ Modem
√ Caching server
√ Server
… Cont’d
Chapter Four
Software Project Management
By: Ketema D.
1
Eyes break
What is SPM? Is really different from ordinary
project management?
2
Failure Statics of S/w project
✓ Satisfied customer
✓ Unsatisfied customer
3
Why S/W Project Fail
4
Software Project Management
Concerned with activities involved in ensuring
that software is delivered on time and on schedule and in
accordance with the requirements of the organisations
developing and procuring the software.
5
Cont..
Tips:
SPM is Concerned with activities involved in ensuring
that software is delivered:
On time
Within budget
Meets standards
In accordance with requirements
According to the planned timeline
6
The Four P’s in Management
People — the most important element of a
successful project
Product — the software to be built
Process — the set of framework activities and
software engineering tasks to get the job done
Project — all work required to make the
product a reality
7
4 P’s : People
❖ This is virtually any type of stakeholder who is involved in the project
❖ People are the primary resource on every project.
❖ A well-managed team can greatly increase the chances for success
❖ Project stakeholders can include for example:
Project manager
Project administrator
Project team members
Executive management of the company
Clients/customers/end users
Suppliers and outsourced labor
Sponsors and investors
Business analysts
IT professionals
8
4 P’s : Product
❖ It is simply whatever represents the goal of the
project.
9
4 P’s : Process
❖Is the process the team will follow in order to produce
the product.
❖This involves the exact tasks and activities that need to
be completed,
Project
❖It can also be considered as a blueprint of process.
❖In this phase, the project manager plays a critical
role to guide the team members
10
Activities in software project management
1) Project Planning
2) Project Scheduling
3) Risk Management
4) Managing people
11
1. Project Planning
The biggest single problem that afflicts software
developing is that of underestimating resources
required for a project.
Developing a realistic project plan is essential to gain
an understanding of the resources required, and how
these should be applied.
12
1.1 Types of plan:
Software development plan.
The central plan, which describes how the system will be
developed.
Quality assurance plan.
Specifies the quality procedures & standards to be used.
Validation plan.
Defines how a client will validate the system that has
been developed.
13
Cont.
Configuration management plan.
Defines how the system will be configured and installed.
Maintenance plan.
Defines how the system will be maintained.
Staff development plan.
Describes how the skills of the participants will be
developed.
14
2.Project scheduling
❖Split project into tasks, estimate time and resources
required to complete each task.
❖Organize tasks concurrently to make optimal
use of workforce.
❖Minimize task dependencies to avoid delays caused by
one task waiting for another to complete.
15
2.1 The project scheduling process
16
2.2 Scheduling problems
It's tough to guess how hard problems are and how
much they'll cost to fix.
More people doesn't mean more work gets done.
Adding people to a late project just slows it down due
to extra communication.
The unexpected always happens. Plan with extra time
just in case.
17
3. Risk management
Risk management is concerned with identifying risks
and drawing up plans to minimise their effect on a
project.
A risk is a probability that some adverse circumstance
will occur
Project risks affect schedule or resources;
Product risks affect the quality or performance of the
software being developed;
Business risks affect the organisation developing or
procuring the software.
18
3.2 The risk management process
Risk identification
Identify project, product and business risks;
Risk analysis
Assess the likelihood and consequences of these risks;
Risk planning
Draw up plans to avoid or minimise the effects of the
risk;
Risk monitoring
Monitor the risks throughout the project;
19
3.3.1 Risk identification
Technology risks.
People risks.
Organisational risks.
Requirements risks.
Estimation risks.
20
3.3.2 Risk analysis
Assess probability and seriousness of each risk.
Probability may be very low, low, moderate, high or
very high.
Risk effects might be catastrophic, serious, tolerable or
insignificant.
21
3.3.3 Risk planning
Consider each risk and develop a strategy to manage
that risk.
Avoidance strategies
The probability that the risk will arise is reduced;
Minimisation strategies
The impact of the risk on the project or product will be
reduced in case it occured
Contingency plans
If the risk arises, contingency plans are plans to deal
with that risk;
22
3.3.3 Risk Monitoring
continually monitoring or tracking any changes in
their likelihood or impact of risk
23
Rise above challenges, conquer your goals
24
Chapter 5
Analysis
An Overview of Analysis
Analysis results in a model of the system that aims to be correct,
complete, consistent, and unambiguous.
The client and the user are usually involved in this activity when
the requirements specification must be changed and when additional
information must be gathered.
…Cont’d
The analysis workflow of the Unified Process has two overall
aims.
From the viewpoint of the requirements workflow (the preceding
workflow), the aim of the analysis workflow is to obtain a deeper
understanding of the requirements.
From the viewpoint of the design and implementation workflows
(the workflows that follow the analysis workflow), the aim of the
analysis workflow is to describe those requirements in such a
way that the resulting design and implementation are easy to
maintain.
…Cont’d
Analysis focuses on producing a model of the system, called the
analysis model, which is correct, complete, consistent, and
verifiable.
Analysis is different from requirements elicitation in that developers
focus on structuring and formalizing the requirements elicited from
users.
The analysis model is composed of three individual models:
the functional model, represented by use cases and scenarios,
✓ Always use the end user’s terms for describing interfaces; do not use terms
from the solution or implementation domains.
Identifying Control Objects
✓ Heuristics for identifying control objects:-
Identify one control object per use case.
The second column should be a boundary object (that the actor used to
initiate the use case).
The third column should be the control object that manages the rest of the
use case.
Control objects are created by boundary objects initiating use cases.
Entity objects never access boundary or control objects; this makes it easier
to share entity objects across use cases
Modeling Interactions among
Objects with CRC Cards
A class responsibility collaborator model is a collection of
standard index cards that have been divided into three sections.
A class represents a collection of similar objects, a
responsibility is something that a class knows or does, and a
collaborator is another class that a class interacts with to fulfill its
responsibilities.
For each class, the software development team fills in a card
showing the name of the class, its functionality
(responsibility), and a list of the other classes it invokes to
achieve that functionality (collaboration).
Introduction to CRC