1 introduction of OOAD

download 1 introduction of OOAD

If you can't read please download the document

Transcript of 1 introduction of OOAD

Object Oriented Analysis and Design (OOAD)

Barnali Goswami

Lecture 1

Software Development

The process which transforms the users' needs and expectations to a software solution.

Problems faced by software industries

Developers failed to focus customer requirements completely.

Estimated schedule and cost were inaccurate.

Developed software products were not aimed for adopting new changes or growth.

There were no defined/proven process steps to be followed in software development.

New technologies in hardware and software were not incorporated in new product development.

Quality Attributes

Architecture

Correctness

Ease of use

Efficiency

Extensibility

On Time

Portability

Readability

Reliability

Reusability

Robustness

Usability

Within Budget

Software Quality Measures

Correspondence: how well the system matches the needs mentioned in requirements statement.

Validation: predicting correspondence.

Correctness: consistency of product requirements w. r. t. design specifications.

Verification: determining correctness.

Major Steps of Software Development

AnalysisDesignImplementationTestingRefinement

Analysis

Users' needs and expectations are gathered.

They are transformed to form the problem statement.

Requirements for the development and responsibilities of development team and customers are analyzed and documented.

Emphasis is on What to do rather than on How to do.

Feasibility study (economic, operational, technical) is done in this phase.

Design

Blueprint of solution is prepared.

Emphasis moves to How to do.

For each requirement in the problem statement, data storage, input and output forms are designed.

Solution developed is conceptual, not yet implemented in any programming language.

Implementation

Refines the detailed design and deploys the software product.

Test cases are applied to ensure bug free product.

User manuals and Test reports are documented.

Software Development Life Cycle (SDLC)

Process used by software industry to design, develop and test quality software.

SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within time and cost estimates.

SDLC Models

Waterfall Model

Prototyping Model

Spiral Model

Rapid Application Development Model

Waterfall Model

Prototyping Model

Spiral Model

Rapid Application Development Model

Business Modeling

The business model for the product under development is designed in terms of flow of information and the distribution of information between various business channels.

A complete business analysis is performed to find the vital information for business, how it can be obtained, how and when is the information processed and what are the factors driving successful flow of information.

Data Modeling

The information gathered in the Business Modeling phase is reviewed and analyzed to form sets of data objects vital for the business.

The attributes of all data sets is identified and defined.

The relation between these data objects are established and defined in detail in relevance to the business model.

Process Modeling

The data object sets defined in the Data Modeling phase are converted to establish the business information flow needed to achieve specific business objectives as per the business model.

The process model for any changes or enhancements to the data object sets is defined in this phase.

Process descriptions for adding , deleting, retrieving or modifying a data object are given.

Application Generation

The actual system is built and coding is done by using automation tools to convert process and data models into actual prototypes.

Testing and Turnover

The overall testing time is reduced in RAD model as the prototypes are independently tested during every iteration.

However the data flow and the interfaces between all the components need to be thoroughly tested with complete test coverage.

Since most of the programming components have already been tested, it reduces the risk of any major issues.