session 6

22
Craig Standing Business Analysis Methodologies Object Oriented Systems • Object Oriented Analysis and Design is a specialised method • It is often viewed as a strategic move to develop an Object Oriented information architecture • Its popularity came about as a result of the failings and problems associated with relying on traditional software development methods

Upload: timothy212

Post on 17-Nov-2014

525 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

  • 1. Object Oriented Systems
    • Object Oriented Analysis and Design is a specialised method
  • It is often viewed as a strategic move to develop an Object Oriented information architecture
  • Its popularity came about as a result of the failings and problems associated with relying on traditional software development methods

2. Information Architectures

  • The problems associated with building an information architecture based upon procedural software systems are many
  • The software maintenance issues with traditional environments are a real problem
  • In reality the re-usability levels were never very high

3. Problems with Software Architectures

  • Software development is still very expensive
  • Organisations do make great use of existing code - code reuse?
    • Why do you think this is?

4. O.O. Development

  • O.O. development proposed a number of advantages
  • It combines processes, data and flows into one modeling paradigm
  • This allows objects to be modeled as independent entities that can be flexibly combined into cooperating systems
  • Easy conversion from analysis to design models through the use of similar terms

5.

  • Supporting multimedia information and not only record structures
    • video
    • sound
    • graphics
    • as well as text
  • Requirements in organisations have moved on .

6. An Object Showing Encapsulation PROPERTIES Project-No: P56; Manager: ref PERSONS; Start-Date: 10-1-2000; Budget: 180000 People-Assigned: PERSONS; Tasks: ref PROJECT-TASKS; METHODS Add-Person(); Delete-Person(); Create-Task(); Change-Budget(); Fig:11.2 in ref 7. O.O. Method

  • O.O. architectures are a bottom-up approach to developing information architectures - at least on a software and data level
  • In the O.O. paradigm it is not necessary to think of developing one large system
  • Objects act as independent entities with their own local goals
  • Objects can then exchange messages between themselves to achieve a global goal of the large system

8. Object Architectures Project-No: P56; Manager: ref PERSONS; Start-Date: 10-1-2000; Budget: 180000 People-Assigned: PERSONS; Tasks: ref PROJECT-TASKS; Add-Person(); Delete-Person(); Create-Task(); Change-Budget(); Persons Project SURNAME: Gilligan; Date of Birth: 14-Jan-65; Date-Joined: 7-April-93; Position: Manager; Pay-Rate:6/3; Change-Position(); Change-Payrate(); Tasks Task-No:4; Date:1-6-2000; Description:Install SW Progress: ref DOCUMENT Update-program(); 9. Encapsulation & Autonomy

  • Encapsulation - of data and methods
  • Eliminates the need to store data and processes separately
  • This should make changes easier to make
  • Facilitates the idea of cooperating independent systems

10. O.O. Implementations

  • Growing number of products-
    • languages such as C++, Java
    • database systems
  • It is one common paradigm for architecture, analysis, design and implementation
  • Not the case in other approaches eg. Structured Development

11. ReUse

  • As objects are autonomous they should be easily plugged into systems - reuse
  • In traditional systems the system is seen as a set of functions, data and processes

12. Inheritance

  • Inheritance is an important concept in the Object Oriented paradigm
  • Classes can be arranged hierarchically with the most general features in the top level class or superclass and the more specific features in the sub classes
  • The subclasses inherit all the instance variables and methods of the superclasses

13. Inheritance Offers Producer: Time-Available: Add-Offer(); Delete-Offer(); OFFERS ITEM-OFFERS Quantity: Price/Item: Compute Value(); VOLUME-OFFERS Weight; Price/KG: Compute Value(); Bank Example 14.

  • The important thing about all this is that firstly the software becomes more modular
  • and secondly, the superclasses are being reused instead of redefining them all in the subclasses.

15. Use Cases

  • Use cases are scripts that describe instances of how a system is used
  • The main actors and roles are identified
  • The way they interact with the system is described

16. Use Case - Make a sale

    • A buyer
      • Initiates a trade by creating a trader and requesting a stated amount of a selected product
      • the trader finds product-offers that satisfy the request through the product, by obtaining offer volumes and prices, & displays to buyer
      • the trader initiates the sale through products.The sale is verified to the buyer, & producer advised to arrange transport and invoice
    • Seller arranges delivery with transport company by:
      • creating a delivery docket
      • callinga number of companies for quotes
      • agreeing on time and charge
      • recording agreement on delivery docket

Used to identify Objects (properties and methods) 17. O.O. Through Java

  • Java is an object oriented language and is a good language to demonstrate object oriented principles
  • This is because it was developed using a clean slate approach (Naughton & Schildt, 1997).
  • In other words, Java was not designed to be source compatible with any other language

18.

  • The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high performance non-objects
  • Java supports the following object oriented constructs.
      • Classes and objects

19.

  • Classes act as templates for the creation of objects and hence the class construct is reused
  • The listing below creates a class calledContainerwith three data items and a method to compute the volume of the container
  • Parameters are passed from theContainerDemclass when objects are created and the data for the object is initialised by theContainerconstructor
  • Two objects are created : container1 and container2inContainerDem . The volume method is then called for each object, and the results returned and displayed in the DOS window.

20.

  • // Java program to demonstrate the use of classes and objects
  • // Container uses a constructor to// initialize the dimensions of a container.
  • class Container {double width;double length;double depth;// The constructor for container.
  • Container(double w, double l, double d) {
  • width = w;
  • height = l;
  • depth = d;
  • }
  • // The volume of the container is returned
  • double volume() {
  • return width * length * depth;
  • }
  • }

21.

  • class ContainerDem {
  • public static void main(String args[]) {
  • // declare and initialize container objects
  • Container container1 = new Container(5, 10, 15);
  • Container container2 = new Container(4, 6, 10);
  • double vol;
  • // Use the volume method for the first container
  • vol = container1.volume();
  • System.out.println("The volume of container1 is " + vol);
  • // Use the volume method for the second container
  • vol = container2.volume();
  • System.out.println("The volume of container2 is " + vol);
  • }
  • }

22. Questions

  • Explain the main benefits of the O.O. Paradigm
  • What role does O.O. play in the Information Architecture
  • Contrast and compare Information Engineering and Object Orientation