Docstoc

Ppt for Software Engineering Project on Library Management System

Document Sample
Ppt for Software Engineering Project on Library Management System Powered By Docstoc
					Software Engineering


                   Dr. Li Pei-Xing
                  MathXP@163.com
    School of Mathematics & Computation Science,
   Sun Yat-sen University,Guangzhou,P.R.C.,510275
Chapter 20. Object-Oriented Concepts and Principles




    20.1   The Object-Oriented Paradigm
    20.2   Object-Oriented Concepts
    20.3   Identifying the Elements of Object Model
    20.4   Management of Object-Oriented Software Projects




       Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
2
                                              Chapter 20. Object-Oriented Concepts and Principles


                                   Overview

    This chapter provides an introduction to object-oriented
    programming and management principles for object-oriented
    projects.
    Object-oriented software engineering process is similar to that
    found in the rapid prototyping or spiral paradigms.
    Even though, object-oriented software engineering follows the
    same steps as the conventional approach (analysis, design,
    implementation, and testing) it is harder to separate them into
    discrete activities.
    The next 3 chapters deal with the topics of object-oriented analysis,
    object-oriented design, and object-oriented testing

        Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
3
                                              Chapter 20. Object-Oriented Concepts and Principles


       20.1 The Object-Oriented Paradigm

    The OO Process Model


                                                                                       identify
                                                                                      candidate
                                                                                       classes
                               Planning
                                                      Risk Analysis    construct                   look-up
                                                                      nth iteration                classes
               Customer                                                of system                  in library
             Communication

                                                                         put new                     extract
                                                                         classes                     classes
                                                                        in library                if available


                                                                                    engineer
                                                                                     classes
                  Customer                     Engineering,                      if unavailable
                  Evaluation              Construction & Release
                                                                                             OO analysis
                                                                                             OO design
                                                                                             OO programming
                                                                                             OO testing




    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
4
                                                             20.1 The Object-Oriented Paradigm


                      The OO Mindset

                                                                   objects




           problem domain

    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
5
                                          Chapter 20. Object-Oriented Concepts and Principles


       20.2 Object-Oriented Concepts

     Key Concepts

              •    classes and class hierarchies
                    – instances
                    – inheritance
                    – abstraction and hiding
              •    objects
                    –   attributes
                    –   methods
                    –   encapsulation
                    –   polymorphism
              •    messages

    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
6
                                                                20.2 Object-Oriented Concepts


                                Classes
    • object-oriented thinking begins with the
      definition of a class often defined as:
          –    template
          –    generalized description
          –    pattern
          –    “blueprint” ... describing a collection of similar
              items
    • a metaclass (also called a superclass) is
      a collection of classes
    • once a class of items is defined, a specific
      instance of the class can be defined
    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
7
                                                                20.2 Object-Oriented Concepts


                      Building a Class
           class name

           attributes:

                                                   operations


                                                    attributes:
          operations:




    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
8
                                                                20.2 Object-Oriented Concepts


                     What is a Class?
                      occurrences                  roles
                            things                  organizational units
                                                      places
               external entities
                                                        structures


                                     class name

                                     attributes:




                                     operations:




    Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
9
                                                                 20.2 Object-Oriented Concepts


               Encapsulation/Hiding
     The object encapsulates
     both data and the logical
     procedures required to
     manipulate the data method                                  method
                                                 #1               #2
                                                          data

                                        method
                                         #6


     Achieves “information hiding”
                            method                               method
                                                   #5              #4


     Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
10
                                                                 20.2 Object-Oriented Concepts


                       Class Hierarchy
                                                      furniture (superclass)




          table             chair                    desk               "chable"




                                                         subclasses of the
                                                         furniture superclass


                           instances of chair

     Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
11
                                                                  20.2 Object-Oriented Concepts


      Methods (a.k.a. Operations, Services)

     An executable procedure that is
     encapsulated in a class and is designed
     to operate on one or more data attributes
     that are defined as part of the class.
     A method is invoked
     via message passing.




      Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
12
                                                                                  20.2 Object-Oriented Concepts


                                      Messages

                 sender object

                 attributes:


                                                                     receiver object

                                                                    attributes:
                operations:




                                                                    operations:



                                  message:
                                   [sender, return value(s)]




                               message: [receiver, operation, parameters]



     Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
13
                                                                     20.2 Object-Oriented Concepts


 Advantages of Object-Oriented Architectures


     Implementation details of data and procedures and
     hidden from the outside world (reduces the propagation
     of side effects when changes are made).
     Data structures and operators are merged in single
     entity or class (this facilitates reuse)
     Interfaces among encapsulated objects are simplified
     (system coupling is reduced since object needs not be
     concerned about the details of internal data structures)


         Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
14
                                                                     20.2 Object-Oriented Concepts


          Class Construction Options

     Build new class from scratch without using inheritance
     Use inheritance to create new class from existing class contains
     most of the desired attributes and operations
     Restructure the class hierarchy so that the required attributes and
     operations can be inherited by the newly created class
     Override some attributes or operations in an existing class and use
     inheritance to create a new class with (specialized) private versions
     of these attributes and operations




         Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
15
                                              Chapter 20. Object-Oriented Concepts and Principles


     20.3 Identifying the Elements of An Object Model



     Identifying classes and Objects
       External entities, Things, Occurences or Events,
       Roles, Organizational units, places, structures
     Specifying Attributes
     Defining Operations
     Finalizing the Object Definition


        Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
16
                                              Chapter 20. Object-Oriented Concepts and Principles


20.4 Management of Object-Oriented Software Projects



     The Common Process Framework for OO
     OO Project Metrics and Estimation
     An OO Estimating and Scheduling Approach
     Tracking Progress for an OO Project




        Dr.Li Pei-Xing,MathXP@163.com,School of Math.&Comp.,Sun Yat-sen University,Guangzhou,P.R.C.,510275
17

				
DOCUMENT INFO
Description: Ppt for Software Engineering Project on Library Management System document sample