Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 33

Software Process

Activities
Actors in Software Dev
Software Process Models
Software Process
A structured set of activities required
to develop a software system.
Activities involve:
Requirements Engineering
Design
Implementation
Testing and Evaluation
Deployment
Maintenance
Evolution
Requirements Engineering
Understanding the products
needed capabilities and
attributes
Produce high-level models of the
system that abstract from
irrelevant details of the problem
Functional Requirements
Functions that the system needs to
support
Nonfunctional Requirements
Functional Requirements
Name Description Type Concern
Account Users of the system must Functional Customer,
Registration register first before doing any Concierge
transactions with the hotel.
This will be added to the User
Information system
maintained in R011
Log-in to Hotel Y Mandatory to users, either for Functional All Users
system customers or for employees,
to track transactions.
Hotel / Hotel Has a separate interface in Functional Customer,
Facility the system to control the Concierge
Reservation process of reservation from
checking of availability and
rates to online payment
Manage Make changes to any Functional Customer,
Reservation reservation made previously. Concierge
(Cancel, Edit, Print)
Payment of Hotel Customer has two options of Functional Customer,
Services/ Rent payment, either cash, credit Concierge
card, and thru online
merchants for the reservation
Non-functional
Supplier
Requirements
Maintain good Non- Inventory and
relations relations with functional Procurement
suppliers
Security - system Ensure security of the Non-functional IT, Maintenance &
and building building premises and Repair
of the Hotel System
Performance and Ensure good Non-functional IT
Usability performance and
ease of use of system
Maintainability Building Non-functional IT, Maintenance &
maintainability Repair
Scalability Accommodates Non-functional
changes or
enhancements
Reliability Ensure that the Non-functional IT, Maintenance &
system is running all Repair
the time or at least
most of the time,
minimizing any down
time. Hotel services
must be available.
Design
Aim is to specify a solution
The solution must meet the
functional and non-functional
requirements
Identify possible constraints
Implementation
Converting the design to
Program codes
Functionality
Performance
Usability
Deployment
Delivering the developed
application to its users
Activities may include
Installation
Setup of central applications and
database servers
Configuration of communication
middleware
Maintenance
Ensuring that the application
runs all the time and is always
available
Reduce failures
Evolution
Addressing new requirements
based on user feedbacks
Actors in Software
Development
Application Analyst
Collects the motivations that
trigger the development
Turn these motivations into
requirements specifications
Data Architect
Focuses on the requirements that
deal with content and domain
data
Organizes data in a way that it
can be used by the application
Application Architect
Focuses on the application
requirements that deal with the
functions and services that are to
be delivered
Develops a conceptual solution of
the application logic
Programmer/Developer
Implements the solution made by
the data and application
architects
Evaluates the implemented
solution
Manages the deployment of the
application
Administrator
Main actor in the deployment and
evolution activities
In charge of
Maintaining the application
Providing periodical backups
Managing the community of users
Collecting feedback from users
Real-life Scenario
Example 1
2 programmers
1 project manager
1 peoples manager

Example 2
10 programmers
1 team lead
1 manager
1 director
Software Process Models
WaterfallModel
Spiral Model
XP
Waterfall Model
Waterfall Model
Sequential organization of the
development activities
Document-driven process model
Inflexible in adapting to changes
Early bad design decisions are
propagated to subsequent
activities
Waterfall Model w/
Feedback
Allows
backward
communicatio
n to
accommodat
e changes
Spiral Model
Spiral Model
Barry Boehms spiral model
Each loop represents a phase in
the process
Pays special attention to risk
management
Four convolutions
Results of each convolution
Prototype
Risk analysis
Spiral Model
Risk analysis
Considers various alternatives for
achieving various objectives
Highlighting the possible risks and
their relevance
Suggesting solutions in preventing
the risks
Prototyping
A prototype is an initial version of
a system used to demonstrate
concepts and try out design
options.
A prototype can be used in:
The requirements engineering
process to help with requirements
elicitation and validation;
In design processes to explore
options and develop a UI design;
Throw-away prototypes
Prototypes should be discarded after
development as they are not a good
basis for a production system:
It may be impossible to tune the system
to meet non-functional requirements;
Prototypes are normally undocumented;
The prototype structure is usually
degraded through rapid change;
The prototype probably will not meet
normal organisational quality standards.
Prototyping
A prototype is an initial version of
a system used to demonstrate
concepts and try out design
options.
A prototype can be used in:
The requirements engineering
process to help with requirements
elicitation and validation;
In design processes to explore
options and develop a UI design;
XP: eXtreme Programming
Mostwidely used in the Agile
methods
XP
Short time gap between releases
There is a full engagement with
the customers (often on-site)
Story cards are the main input to
each XP planning stage (user
stories which are requirements
expressed as scenarios)
XP
Sample story card
Calendar- Non-selection of dates
When selecting the option of reserving tickets for
movie in Cinema 3, the dates under Saturday and
Sunday must not be available for selection. (grey
out)
Upon creation of each version,
programmers must run
automated tests to make sure
new functionality works with all
parts of the system
Real-life Scenario in XP
Weekly developments and
deployments
User stories periodically updated in
spreadsheet instead of cards
Task | Date Requested | Requested by | Developer | Deployment
Date | Remarks

Development and Testing


deployment (Test server)
UAT after each deployment (off-
hours)
Immediate enhancements if errors
Projects:
Waterfall:
Gantt Chart of Schedule
Project Design
Architectural Design, Interface and Database Design
Spiral
Goals for each prototype
Risk Analysis
XP
User stories (Tasks)
Test case/s for each user stories
All:
Documentation description of the system, roles of
each member, user manual, clients assessment
Final Presentation
Gantt Chart

You might also like