Module-1:
Process Overview: Process Overview, System Conception and
Domain Analysis: Process Overview: Development stages;
Development life Cycle; System Conception: Devising a system
concept; elaborating a concept; preparing a problem statement.
Domain Analysis: Overview of analysis; Domain Class model:
Domain state model; Domain interaction model; Iterating the
analysis.
Process Overview: Process Overview, System
Conception
Development StagesSystem Conception:
Conceive an application and formulate tentative
requirementsAnalysis: Deeply understand the
requirements by constructing models To specify
what must be done
Process overview: A software development
process provides a basis for the organized
production of software, using a collection of
predefined techniques and notations.
Development Stages:
System Conception: Conceive an application and
formulate tentative requirements
Analysis: Deeply understand the requirements by
constructing models To specify what must be done.
Domain analysis: focuses on real-world things
whose semantics the application captures.
Application analysis: addresses the computer
aspects of the application that are visible to users
Development Stages
System design:
Devise the architecture, Devise a high-level
strategy —the architecture —for solving the
application [Link] choice of architecture is
based on the requirements as well as past
experience.
Class design:
Determine the algorithms for realizing the
operations,To emphasis from application concepts
toward computer [Link] choose algorithms to
implement major system functions
Implementation:
Translate the design into programming code and
database structures
•Testing : Ensure that the application is suitable for
actual use and actually satisfies requirements
•Training : Help users master the new application
•Maintenance: Preserve the long term viability of
the application
Development life cycle
Waterfall Development
Iterative Development
Where to use the waterfall model
➢Requirements are very well known
➢Product definition is stable.
➢Technology is understood.
➢New version of an existing product.
Waterfall model Diagram
ADVANTAGES
➢A waterfall model is easy to implementation.
➢It helps to find errors earlier
➢Easy to understand, easy to use
.➢Works well when quality is more important than
cost or schedule
➢Documentation is produced at every stage of a
waterfall model allowing people to understand
what has been done
Disadvantages:
It is only suitable for the small size projects.
➢Constant testing of the design is needed.➢If
requirements may change the Waterfall model
may not work.
➢Difficult to estimate time and cost for each stage
of the development process.
➢Adjust scope during the life cycle can kill a
project.
➢High amount of risk and uncertainty
.➢This model is not suitable to handle dynamic
changes in the requirements
Iterative Development
•First develop the nucleus of a system, then grow
the scope of the system…
•There are multiple iterations as the system
evolves to the final deliverable.
•Each iteration includes a full complement of
stages:analysis, design, implementation, and
testing
Devising system concept:
New functionality
•Streamlining
•Simplification automate manual
process
•Integration
•Analogies
•Globalization
Elaborating a Concept:
Good system concept must answer the
following questionsWho is the
application for
Stakeholders of the systemWhat
problems will it solve
FeaturesWhere will it be used
Compliment the existing base, locally,
distributed, customer baseWhen is it
needed
Feasible time, required timeWhy is it
needed
Business caseHow will it work
Brainstorm the feasibility of the
problem
The ATM Case Study:
Develop software so that customers
can access a bank’s computers and
carry out their own financial
transactions without the mediation of
a bank employee
Who is the application for?We are
vendor building the software
What problems will it solve?Serve both
bank and user
Where will it be used?Locations
throughout the world
When is it needed?Revenue
Why is it needed?Economic incentive.
We have to demonstrate the
techniques in the book
How will it work N-tier architecture, 3-
tier architecture
Preparing a problem statement•Design
the software to support a
computerized banking network
including both human cashiers and
automatic teller machines (ATMs)to be
shared by a consortium of banks. Each
bank provides its own computer to
maintain own accounts and process
transactions against them. Cashier
stations are owned by individual banks
and communicate directly with their
own bank’s computers. Human
cashiers enter account and transaction
data