CpE116 CH2-Software Design
CpE116 CH2-Software Design
understand.
Computer Programs and
Programming Languages
Machine Language
A computer's native language.
types of machines.
Computer Programs and
Programming Languages
Machine Language
every instruction should be written in machine language
Perfective maintenance activities involve dealing with requests to improve the efficiency of
the algorithms and data structures, as well as user interface interactions in the design.
Adaptive maintenance activities involve requests from software stakeholders to adapt the
software to different operating environments, user interface styles, social contexts, or new
government regulations and standards.
Software
Development
Standards
OBJECT-ORIENTED MODEL
The model consists of four phases: the object-oriented (1)
analysis, (2) design, (3)implementation, and (4) testing
INCREMENTAL
AND ITERATIVE
MODEL
Software
Development
Standards
SPIRAL MODEL
The spiral model for software
development was introduced by
Barry Boehm in 1988. The model
addresses the weaknesses of the
waterfall model with respect to
the treatment of software
development risks. The phases of
the waterfall model do not
include any reference to risk
management. Risk management is
considered an ongoing activity
that is part of the project
management activities.
Software Development
Standards
RATIONAL UNIFIED PROCESS
RUP consists of well-defined sequential phases for the iterative development of
software.
The RUP phases include:
inception - The main deliverables of the inception phase include a vision and scope
document, an initial use case model, an initial project plan, including a risk
management plan, and an initial prototype.
elaboration - The deliverables of the elaboration phase include a use case model,
non-functional requirements specifications, a revised and complete project plan,
including revised risk management plan, more accurate estimates of the cost and
time needed to complete the project, and an executable prototype.
Software Development
Standards
RATIONAL UNIFIED PROCESS
RUP consists of well-defined sequential phases for the iterative development of
software.
The RUP phases include:
construction - The deliverables of the construction phase include the soft ware
design document, the software product, and all related documentation, including
installation and user manuals.
transition - product is distributed to its intended users using the appropriate
distribution channels.
Software Development
Standards
SOFTWARE DEVELOPMENT AND MAINTENANCE TEAMS
Software Development
Standards
Standards
A standard is a repeatable, harmonized,
agreed, and documented way of doing
something. Standards contain technical
specifications or other precise criteria
designed to be used consistently as a
rule, guideline, or definition.
Software Development
Standards
Standard Organizations
International Organization for
Standardization (ISO)
The International Organization for Standardization
(ISO) was founded in 1947 and is headquartered in
Geneva, Switzerland.
Software Development
Standards
ASPECTS
Three aspects of systems can be recognized when modeling
software systems:
behavioral - static behavioral aspects, dynamic behavioral aspects
structural - static behavioral aspects, dynamic behavioral aspects
architectural - related to the deployment and distribution of
software and hardware
Software Development
Standards
VIEWS
Aspects of systems are covered by various static and dynamic
views:
use case
design
process
implementation
deployment.
Software
Development
Standards
Software Development
Standards
DIAGRAMS
A diagram contains model elements such as:
classes
objects
nodes
components
various types of relationships described by graphical
symbols
Software Development
Standards
Behavioral Modeling
The use case diagram describes the functions of the system
and its external users and defines their interfaces. This
diagram shows a number of external actors and their
connection to the use cases representing the services
provided by the system.
Software Development
Standards
Behavioral Modeling
A statechart diagram describes the possible behavior of an
object using state changes. It can also be used as a system
level diagram showing system state changes during the
operation of the system.
Software Development
Standards
Behavioral Modeling
Sequence diagrams show the interactions between a number
of objects and their time ordering.
Software Development
Standards
Behavioral Modeling
An activity diagram shows a sequential or concurrent flow from one
activity to another activity. An activity diagram consists of action
states, activity states, and transitions between them, and usually
spans more than one use case (or functionality).
agilemanifesto.org
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
www.scrumguides.org
Software Development
Standards
Agile Methodology
Software Development
Standards
Agile Methodology
Software Development
Standards
Software Requirements
SOFTWARE ANALYSIS
The first phase of a generic software development life cycle model is the software analysis
phase.
In this phase, we concentrate on the definition of what the software under development is
supposed to do. Software analysis involves defining the scope of the software to be
developed, capturing and documenting its users’ requirements, knowing the various
constraints that have to be met, and understanding the interfaces with external systems,
entities, and users. The analysis model should be neither abstract nor constraining in
terms of forcing specific design or
implementation choices.
Software Development
Standards
PRODUCT VISION AND PROJECT SCOPE
A product vision and project scope document facilitate in establishing the
business requirements and aligning them with the software requirements
specifications (SRSs). Clear vision and scope aid in accelerating the convergence
toward more focused software requirements. The product vision provides the
business limits and focus to the project scope. A typical vision and scope
document template includes three main sections:
(1) business requirements and context,
(2) product vision, and
(3) project scope and limitations.
Software Development
Standards
PRODUCT VISION AND PROJECT SCOPE
Software Development
Standards
REQUIREMENTS ENGINEERING
Requirements development includes four main steps:
(1) Elicitation
(2) Analysis
(3) Specification
(4) Maintenance
Software Development
Standards
REQUIREMENTS ENGINEERING
Software projects fail because of errors made during the development of the software
requirements. Some of the causes for the failures include:
Lack of a formal process by which the requirements are collected or elicited
Breakdown in personal communications between the requirements stakeholders
and particularly between the client and user representatives and the analyst
Absence of a formal requirements validation process
Failure in the management of the requirements engineering processes
Ineffective use of tools to deal with requirements for large software projects
Inexperience of application domain on the requirements development team
Software Development
Standards
Safety
Cost
Available Resources
Environmental Impact
END OF CHAPTER 2