David A' Gaitros - PowerPoint PPT Presentation

About This Presentation
Title:

David A' Gaitros

Description:

Introduction to OOD and UML. Dr. Jean Muhammad. Chapter Overview ... There have been many proposed design models suggested over the years. ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 19
Provided by: DavidAG
Learn more at: http://www.cs.fsu.edu
Category:
Tags: david | gaitros | jean

less

Transcript and Presenter's Notes

Title: David A' Gaitros


1
Introduction to OOD and UML
  • Dr. Jean Muhammad

2
Chapter Overview
  • Challenge of software development
  • Software development activities/processes
  • Desirable qualities of software systems
  • Object Oriented paradigm
  • Object Oriented Development Activities
  • Rational Unified Process
  • Extreme Programming

3
Challenges of Software Development
  • Why the Software Crisis
  • Case Studies
  • Is it a True Engineering discipline
  • why or why not
  • Increase Complexity
  • Longevity and Evolution
  • Increase expectations of an ever increasing
    sophisticated user

4
Software Development Activities
  • There have been many proposed design models
    suggested over the years. To the untrained, the
    source code is the ultimate goal of software
    development and in many cases this appears to the
    focus of most design efforts. Source code is only
    a small part of the design process.
  • Some design methodologies are more successful
    then others. All of them have their own
    advantages and disadvantages but most share a few
    common traits.

5
Software Development Activities
  • Requirements Analysis
  • Establish the function, services, and constraints
    of the software to be developed.
  • What are the customers problems?
  • What are the expectations of the customer for the
    software?
  • Two categories of requirements
  • Functional requirements
  • Non-functional requirements

6
Software Development Activities
  • Design
  • Goal is to construct a solution to the results of
    the requirements analysis.
  • Partition the solution into increasingly smaller
    parts until each part is, by itself, easily
    solved.
  • Define architecture components
  • Define performance specifications

7
Software Development Activities
  • Implementation and Unit Testing
  • Write the code
  • Write the code to support the writing of the code
  • Unit test each individual module against the
    design and specification

8
Software Development Activities
  • Integration and System Testing
  • Start to build the whole version of the system a
    piece of the time
  • Start to develop the deployment procedures
  • Test the modules together until the entire system
    is built and fully tested against the design and
    original requirements
  • Question Was the original problem solved?

9
Software Development Activities
  • Classic Waterfall Model

Requirements Analysis
Design
Implementation and Unit Test
Integration and System Testing
Maintenance
10
Desirable Qualities of Software
  • Usefulness
  • Timeliness
  • Reliability
  • Maintainability
  • Reusability
  • User Friendliness
  • Efficiency

11
Desirable Qualities of Software
  • Factors contributing to the maintainability of
    Software
  • Flexibility
  • Simplicity More important then most developers
    realize
  • Readibility

12
Object Oriented Paradigm
  • Goal Build software in such a manner using
    methods that reflect the way we think in the
    physical world.
  • The real world is full of methods and
    heuristics that are not well defined and
    intuitive in nature.
  • Computers are not intuitive machines.
  • An Object has all of the parts needed to
    successfully operate
  • Data
  • Methods

13
Object Oriented Paradigm
  • 1950s 1960s Focus was on the algorithm.
    Basic data structures, sorting, and searching
    were just becoming sophisticated. Machines were
    still slow.
  • 1970s 1980s Data was increasing in
    complexity. New design models were emerging to
    handle the increase load.
  • 1990s - ? Ease of use, data acquisition,
    software reliability, maintainability are now
    more important. Limitations of hardware/software
    less of a consideration.

14
Object Oriented Development Activities
  • Conceptualization Involves establishing the
    complete requirements of the system.
  • Object-oriented analysis and modeling Model the
    desired behavior. Use case and class diagrams are
    developed. Identify the objects.
  • Object-oriented Design. Create an architecture
    for implementation
  • Implementation Write the code.
  • Maintenance Remove errors, continuous
    improvement.

15
Rational Unified Process (RUP)
  • Complete software engineering process
  • Develops software interatively
  • Manages requirements
  • Uses component based architecture
  • Visually model software using UML
  • Continuously verify software quality
  • Control changes to software

16
Rational Unified Process (RUP)
  • Different models
  • Business models
  • Domain models
  • Use case models
  • Analysis models
  • Design models
  • Process models
  • Development models
  • Implementation models
  • Test models

17
Extreme Programming
  • Focus is on the development of executable code
    from the beginning
  • Iterative process with small interations
  • Each iteration will produce a minimum skeletal,
    and executable version of the system
  • Each subsequent iteration makes small changes.
  • Make small changes and improvements.
  • Make sure each change is accurate and performs
    well

18
Extreme Programming
  • Key practices in XP
  • Planning game
  • Frequent and small releases
  • Frequent communications with customer
  • Simple design
  • Write the unit test before the code
  • Fefactoring
  • Pair Programming
  • Collective ownership
  • 40-hour work week.
  • On-site customer
  • Coding standards
Write a Comment
User Comments (0)
About PowerShow.com