- 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
- 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
- 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
-
-
- 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.
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) {
- // The volume of the container is returned
- return width * length * depth;
21.
- 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);
- // 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