Object Oriented System
Analysis and Design
Chapter 1
NOVEMBER 2022
Outline 2
Chapter I
System Development:
1. Introduction to Information System development.
2. System development methodologies, / Software
life cycle and process model and phase
3. Problem Identification, Selection and Planning
Phase:
1. Problem identification
2. Problem definition:
3. Prioritizing problems
4. Project initiation and planning
5. Planning tools and techniques
6. Gantt and PERT
4. The human side of systems
Outline 3
Chapter II
Object Orientation the new software paradigm
1. The potential benefits of object orientation
2. The potential drawbacks of object orientation
3. Object standards
4. The object orientation process and models
Outline 4
Chapter III
Understanding the Basics of OO concepts
3.1.OO concepts from structured point of view
3.2.Abstraction, Encapsulation, information hiding
3.3.Inheritance 3.7.Persistence
3.4.Association 3.8.Coupling
3.5.Aggregation 3.9.Cohesion
3.6.Collaboration 3.10.Polymorphism
3.12.Component 3.11.Interfaces
3.13.Patterns
Outline 5
Chapter IV
Gathering user requirements
1. Putting together requirements gathering team
2. Fundamental requirements gathering techniques
1. Essential Use Case Modeling
2. Essential User Interface Prototyping
3. Domain modeling
4. Developing a supplementary Specification
5. Identifying Change Cases
3. Requirement validation Techniques
1. Testing Early and Often
2. Use Case Scenario Testing
Outline 6
Chapter V
Determining What to Build: OO Analysis
1. System Use Case Modeling
2. Sequence Diagrams:
3. Conceptual Modeling:
4. Activity diagramming
5. User interface
6. Applying Analysis patterns Effectively
7. User Documentation
8. Organizing your models with packages
Outline 7
Chapter VI
How to Build Your System: OO Design
1. Layering your models: Class Type Architecture
2. Class Modeling
3. Applying Design Patterns Effectively
4. State chart modeling
5. Collaboration Modeling
6. Component Modeling
7. Deployment Modeling
8. Rational Persistence Modeling
9. User Interface Design
Outline 8
Chapter VII
Object Oriented Testing and Maintenance
7.1. An overview of testing
7.1.1.Testing concepts
7.1.2.Testing activities
7.1.3.Managing testing
7.1.4.Impact of object-oriented testing
7.1.5.Types of Testing
7.2.Types & procedures of system maintenance;
7.3.Post installation follow-up
Assessment 9
Chapter VII
Assessment Forms %
Assignment 1- Project work (Proposal) 10
Assignment 2- Project work (analysis and design 10
part)
Quiz 5
Midterm exam 25
Final examination 50
System Development 10
Introduction
Systems development is the art and science of creating man-made
systems to satisfy predetermined customer needs
It is the process of defining, designing, implementing , and
testing(evaluation), a new software application or program.
It consists of six important stages:
System survey,
Needs analysis,
Design,
Implementation, including the database creation
Testing,
Change and maintenance.
System Development 11
SDLC
SDLC is a systematic process for building software that ensures the quality
and correctness of the software built.
It consists of a detailed plan which explains how to plan, build, and
maintain specific software.
Every phase of the SDLC life Cycle has its own process and deliverables
that feed into the next phase.
Prime reasons why SDLC is important for developing a software system is:
Offers a basis for planning, scheduling, and guessing
Provides a framework for a standard set of activities and deliverables
It is a mechanism for project tracking and control
Increased and enhance development speed
System Development 12
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 1: Requirement collection and analysis
Phase 2: Feasibility study
Phase 3: Design
Phase 4: Coding or implementation
Phase 5: Testing
Phase 6: Installation/Deployment
Phase 7: Maintenance and upgrade
System Development 13
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 1: Requirement collection and analysis
Requirements elicitation (also known as Requirements Gathering or Capture) is the process of generating a list of
requirements (functional, system, technical, etc.) from the various stakeholders (customers, users, vendors, IT staff, etc.)
that will be used as the basis for the formal Requirements Definition.
Or :-
the process of determining user expectations for a new or modified product.
is a set of operations that helps define users' expectations of the application you are building or modifying.
analysis involves defining, analyzing, validating, and aligning stakeholders' expectations for new projects while considering all
It is conducted by the senior team members with inputs from all the stakeholders and domain experts in the industry.
is a process that determines as well as documents and manages the needs and requirements of the stakeholders to meet the
objectives
It gives a clearer picture of the scope of the entire project and the anticipated issues, opportunities, and directives which triggered the
project.
System Development 14
SDLC Phases
The entire SDLC process divided into the following SDLC steps:
Phase 2: Feasibility study
A feasibility study is an assessment of the practicality of a project or
system. A feasibility study aims to objectively and rationally uncover the
strengths and weaknesses of an existing business.
A feasibility study is an evaluation and analysis of a project or system that
somebody has proposed.
is to define and document software needs or SRS(software requirement
specification)
System Development 15
SDLC Phases
The entire SDLC process divided into the following SDLC steps:
Phase 2: Feasibility study
Common types of feasibilities checks:
Economic: Can we complete the project within the budget or not?
Operation feasibility: Can we create operations which is expected by the client?
Technical: Need to check whether the current computer system can support the
software
Schedule: Decide that the project can be completed within the given schedule or not.
System Development 16
SDLC Phases
The entire SDLC process divided into the following SDLC steps:
Phase 3: Design
The system and software design documents are prepared as per the requirement specification document.
There are two kinds of design documents
High-Level Design (HLD)
It may contain
Brief description and name of each module
An outline about the functionality of every module
Interface relationship and dependencies between modules
Database tables identified along with their key elements
Complete architecture diagrams along with technology details
System Development 17
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 3: Design
The system and software design documents are prepared as per the requirement specification document.
There are two kinds of design documents
Low-Level Design (LLD)
It may contain
Functional logic of the modules
Database tables, which include type and size
Complete detail of the interface
Addresses all types of dependency issues
Listing of error messages
Complete input and outputs for every module
System Development 18
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 4: Coding
Developers start build the entire system by writing code using
chosen programming language tools like compiler, interpreters,
debugger to generate and implement the code.
System Development 19
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 5: Testing
The testing team test the functionality of the entire system.
This is done to verify that the entire application works according to the customer
requirement.
testing team may find some bugs/defects which they communicate to developers.
The development team fixes the bug and send back to re-test.
This process continues until the software is bug-free, stable, and working according to
the business needs of that system.
System Development 20
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 6: Installation/Deployment
Is a process of installing software, setting configurations or creating
customizations
Based on the feedback given by the project manager, the final
software is released and checked for deployment issues if any.
System Development 21
SDLC Phases
The entire SDLC process divided into the following steps:
Phase 7: Maintenance
Once the system is deployed, and customers start using the developed
system, following 3 activities occur
Bug fixing – bugs are reported because of some scenarios which are not tested at all
Upgrade – Upgrading the application to the newer versions of the Software
Enhancement – Adding some new features into the existing software
System Development 22
Popular SDLC Models-Reading Assignment
A. Waterfall model
B. Iterative Model
C. V-Model
D. Agile Model
E. Big bang model
System Development 23
Problem Identification
Is the development of clear, straightforward problem statements
that can be linked directly with the specific goals and objectives
Developing a detailed problem statement that includes the
problem's consequence
A clearly specified list of problems is the most suitable basis for
identifying potential solutions.
Consists of clearly identifying the root cause of a problem.
System Development 24
Assignment
Problem Identification, Selection and Planning Phase:
Problem identification
problem definition
prioritizing problems
project initiation and planning
planning tools and techniques
Gantt& PERT