Module-3 Analysis and Design
Module-3 Analysis and Design
Analysis:
• Understand the requirements by constructing
models…focus on what…rather then how?
• Two sub stages of analysis: Domain analysis and
application analysis.
• Domain analysis focuses on real-world things
whose semantics the application captures.
Eg: Airplane flight is a real world object that a flight
reservation system must represent.
• Domain analysis is then followed by
application analysis.
• Application analysis addresses the computer
aspects of the application that are visible to
users. Eg : flight reservation screen is a part of
Flight Reservation System.
• Application Objects are meaningful only in the
context of an application.
• Not the implementation aspect (black box
view)
System Design:
• Depends on the present requirement and past
experiences.
• The architecture must also support future
modifications to the application.
• For simple systems. architecture follows
analysis.
• For large and complex systems: there is
interplay between the construction of a model
and the model’s architecture and they must
be built together.
Class design:
• Augment and adjust the real-world models
from analysis so that they are amenable to
implementation.
• Developers choose algorithms to implement
major system functions.
Implementation:
• Translate the design into code and database
structure.
• Often tools can generate some of the code
from the design model.
Testing:
• Ensure that the application is suitable for actual use and
that it truly satisfies the requirements.
Unit tests discover local problems and often require
that extra instrumentation be built into the code.
• System test exercise a major subsystem or the entire
application.
This can discover broad failures to meet specifications.
• Both unit and system tests are necessary.
• Testing should be planned from the beginning and
many tests can be performed during implementation.
Training:
• Help users master the new application.
• Organization must train users so that they can fully
benefit from an application.
Deployment:
• Place the application in the field.
• The eventual system must work on various platforms
and in various configurations.
• Localize the product to different languages.
Maintenance: