Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Day 5

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

UNIT- I

DAY- 5
-K. Indhu
GOALS
• Object Oriented System Development
• Object Oriented Analysis
• Object Oriented Design
• Prototyping
• Object Oriented Implementation
– Component-based development
– Rapid application development
• Incremental Testing
• Reusability

13-DEC-13 K. INDHU 2
OBJECT ORIENTED SYSTEM DEVELOPMENT
• The object oriented software development life
cycle(SDLC) consists of three macro processes-
– Object Oriented Analysis
– Object Oriented Design
– Object Oriented Implementation

• It is a Use-Case Driven Approach.

• The Use-Case model can be employed throughout


most activities of software development.

13-DEC-13 K. INDHU 3
IMPORTANT- USE CASE
• What is a Use-Case?
– Use Case, is a name for a scenario to describe the user–computer
system interaction.

• It is a typical interaction between user and a system that


captures user’s goal and need.

• It is a great way of examining who does what in the interaction


among objects and what role they play, that’s their
interrelationship.

• Use case Model represent user view of the system or user’s


perspective of the system.

13-DEC-13 K. INDHU 4
OBJECT ORIENTED SYSTEM DEVELOPMENT
• Finally, it includes below activities:-
1. Object Oriented Analysis- Use Case Driven
2. Object Oriented Design
3. Prototyping
4. Component-based development
5. Incremental testing

• Object oriented system development enables us to


view the problem as a system of cooperative objects.

13-DEC-13 K. INDHU 5
OBJECT ORIENTED SYSTEM DEVELOPMENT

13-DEC-13 K. INDHU 6
OBJECT ORIENTED ANALYSIS
• It is use case driven.

• In this phase:-
– The user requirements are determined.
– We identify all possible classes and their relationship to other classes from the
problem statement.
– To understand the system requirements, we need to identify the users or the
actors.
– The use cases (or) scenarios are a great way of examining who does what in the
interactions among objects and what role they play; that is their interrelationships.
– This intersection among object’s roles to achieve a given goal is called
COLLABORATION.
• Use Case modeling?
– The high level processes and interaction with customers in a scenario and analyzing
it is referred to as use-case modeling.
– The use-case modeling represents the user’s view of the system.

13-DEC-13 K. INDHU 7
OBJECT ORIENTED ANALYSIS

13-DEC-13 K. INDHU 8
DOCUMENTATION WORK
• Documentation is another important activity in Object
Oriented System Development.

• It DOES NOT END WITH object-oriented analysis but should


be carried throughout the system development.

• We should make the documentation as short as possible.

• 80-20 rule applies for documentation.

• 80 percent of the work can be done with 20 percent of the


documentation.

13-DEC-13 K. INDHU 9
OBJECT ORIENTED DESIGN
• The goal of object-oriented design(OOD) is:-
– To Design the Classes identified during the analysis phase,
– To Design the User Interface.
– To Design Data Access.
• ACTIVITIES done in DESIGN phase are:-
– Design and refine classes.
– Design and refine attributes.
– Design and refine methods.
– Design and refine structures.
– Design and refine associations.
– Design User Interface or View Layer classes.
– Design Data Access Layer classes.

13-DEC-13 K. INDHU 10
OBJECT ORIENTED DESIGN
• The activities and focus of object-oriented-analysis and object-
oriented-design are inter-wined.

• Few Guidelines to use in Object Oriented Design:-


– Reuse, rather than building new class.

– Design a large number of simple classes, rather than a small number of


complex classes;

– Design methods.

– Critique what you have proposed. If possible, go back and refine the
classes.

13-DEC-13 K. INDHU 11
PROTOTYPING
• “A picture may be worth a thousand words, but a
prototype is worth a thousand pictures.”
• DEFINITION:-
– A prototype is a version of a software product which is
developed in the early stages of the product’s life cycle
for specific, experimental purposes.
• BENEFIT OF PROTOTYPING:-
– A prototype enables us to fully understand how easy
or difficult it will be to implement some of the features
of the system.

13-DEC-13 K. INDHU 12
USES OF PROTOTYPING
• It can be used to
– Fully understand the implementation of the system

– Chance to comment on the usability and usefulness of


user interface design

– Check how software tool selected will fit functional


specification

– Define the use case further and make the use case
modeling much easier

13-DEC-13 K. INDHU 13
TYPES OF PROTOTYPE
1. A HORIZONTAL PROTOTYPE is a simulation of the interface. It has the
entire user interface which contains NO FUNCTIONALITY.

2. A VERTICAL PROTOTYPE is a subset of the system features with


complete functionality.

3. An ANALYSIS PROTOTYPE is an aid for exploring the problem domain.

4. A DOMAIN PROTOTYPE is an aid for the incremental development of


the ultimate software solution.

• In fact, prototyping should be done in parallel with the preparation of


functional specification.

13-DEC-13 K. INDHU 14
IMPLEMENTATION:- CBD
• CBD is an industrialized approach to the software development
process.

• Application development moves from custom development to


assembly of pre-built, pre-tested, reusable software components
that operate with each other.

• For example, computer-aided software engineering(CASE) tools


allow their users to rapidly develop information systems.
• The main goal of CASE technology is the automation of the entire
information system’s development life cycle process using a set
of integrated software tools, such as modeling, methodology and
automatic code generation.

13-DEC-13 K. INDHU 15
IMPLEMENTATION:- CBD
• DEFINITION of CBD:-
– The software components are the functional units of a program,
building blocks offering a collection of re-usable services.
• TWO IDEAS behind CBD:-
– The application development can be developed and assembled
quickly from pre-fabricated software components.
– An increasingly large collection of interpretable software
components could be made available to developers.
• ADVANTAGES:-
– Development made faster, easier, resusable in modern, highly
dynamic, competitive business.
– A CBD developer can just assemble components to construct a
complete software system.

13-DEC-13 K. INDHU 16
IMPLEMENTATION:- RAD
• RAD is a set of tools and techniques that can be used to build an
application faster than typically possible with traditional
methods.
• RAD does not replace SDLC but complements it, since it focuses
more on process description and can be combined perfectly
with the object-oriented approach.
• Task of RAD is to build the application quickly and incrementally
implement the design and user requirement through tools
• RAD encourage the incremental approach of “grow, do not
build” software.

• Example-> Visual Studio Software- VB.NET & C#.NET

13-DEC-13 K. INDHU 17
INCREMENTAL TESTING
• Software development and all of it’s activities including
testing are an iterative process.

• If you wait until after development to test an application for


bugs and performance, you could be wasting thousands of
dollars and hours of time.

• Testing can be done in parallel during the development


process.

• This process of performing Testing side-by-side in parallel


with the development is called as Incremental Testing.

13-DEC-13 K. INDHU 18
REUSABILITY
• A major benefit of object-oriented systems
development is reusability.

• Potential benefits of reuse are


– Increase reliability
– Reduce time
– Cost for development
– Improved consistency

13-DEC-13 K. INDHU 19
HAPPY LEARNING!!!

You might also like