Sunteți pe pagina 1din 18

Object Oriented Systems- Preamble (Student Handout) Version- 1.

OBJECT ORIENTED SYSTEMS PREAMBLE (STUDENT HANDOUT)

VERSION 1.0 PROJECT NAME- An Approach towards Excellence in Teaching & Learning Methodology PROJECT OWNER- XYZ PROJECT CREATED BY NAME Email- Id

DATE OF RELEASENEXT PLANNED RELEASE DATESGI PROPERTY The Handout should be distributed to the students of Master Of Computer
Application Branch studying in 4th semester of their Three Year Post Graduate Degree Course.

TABLE OF CONTENTS
holistiC fix 1) 2) 3) 4) 5) 6) 7) 7) Object Modeling (Class & Object) Link and Association Generalization Aggregation & Composition Dynamic Modeling State State Diagram for Phone Line Event 3 4 4 5 6 7 7 8 8

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0 9) 10) Event Trace in a Telephone System Functional Modeling 8 9 10 11 12 13

11) External Entity and Process 12) 13) Data Flow and Stores Java features

RESEARCH RELATED TO DIGITAL COMMUNICATION OTHER AREAS OF RESEARCH WITH THEIR LINKS 14

TOP FIVE COMPANIES OF OBJECT ORIENTED SYSTEMS WITH LINKS PROJECTS THAT CAN BE DONE 15 18

15

TRENDS GOING ON FOR DIGITAL COMMUNICATIONS

HOLISTIC FIX

It resembles a comprehensive view of the subject with its pre and post requirements along with its application in allied fields.

Object Oriented Systems Key Concepts

Basic Knowledge of Computer Fundamentals (Before Graduation)

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Object Modeling (Object and class) Link and Association. Generalization Aggregation Dynamic Modeling State State Diagram Event Event sequence in Telephone System Functional Modeling

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0 11. 12. 13.
External Entity and Process. Data Flow and Data Stores Java Features

1. Software Engineering 2. Web technology 3. .NET & C#

Pre requisites Graduation and 1st year P.G.

Related areas of Interest

1. Basics of System development process. 2. Algorithms and flowcharting (Logic Building) 3. Programming in Java

1. 2. 3. 4. 5.

System Analysis and Design Software Engineering Computer Architecture RDBMS Design patterns and Implementations

Pre requisites (5th Semester)

Scope in this sector

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

KEY CONCEPTS RELATED TO OBJECT ORIENTED SYSTEMS ALONG WITH EXAMPLES Object Modeling- Class & Object
The object model represents the static and most stable phenomenon in the modeled domain. Main concepts are classes and associations, with attributes and operations. Aggregation and generalization (with multiple inheritances) are predefined relationships. Class diagrams are widely used to describe the types of objects in a system and their relationships. Class diagrams model class structure and contents using design elements such as classes, packages and objects. Class diagrams describe three different perspectives when designing a system, conceptual, specification, and implementation. These perspectives become evident as the diagram is created and help solidify the design. Classes are composed of three things: a name, attributes, and operations. Below is an example of a class and its object.

Shown above is a class and object diagrams respectively.

Objects of a particular class may have properties called attributes, corresponding to properties of their real-world equivalents. For example, an object representing a Customer entity may have an attribute name that corresponds to the name property of a customer class. At any given time an attribute of an object has a value; that is, specific information that the object holds in respect of that attribute. For example, the name attribute of an object representing a particular customer may have the value vinod.
2) Link and Association
Class diagrams also display relationships such as containment, inheritance, associations and others. Below is an example of an associative relationship:

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

The association relationship is the most common relationship in a class diagram. The association shows the relationship between instances of classes. For example, the class Order is associated with the class Customer. The multiplicity of the association denotes the number of objects that can participate in then relationship. For example, an Order object can be associated to only one customer, but a customer can be associated to many orders. Associations in class diagrams are called as links in object diagrams.

Generalization
Another common relationship in class diagrams is a generalization. A generalization is used when two classes are similar, but have some differences. Look at the generalization below:

In this example the classes Corporate Customer and Personal Customer have some similarities such as name and address, but each class has some of its own attributes and operations. The class Customer is a general form of both the Corporate Customer and Personal Customer

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0 classes. This allows the designers to just use the Customer class for modules and do not require in-depth representation of each type of customer.

Aggregation & composition

Class diagram showing Aggregation between two classes Aggregation is a kind of or part-whole relationship. It is a variant of the "has a" or association relationship; aggregation is more specific than association. It is an association that represents a part-whole or part-of relationship. As a type of association, an aggregation can be named and have the same decoration that an association can. However, an aggregation may not involve more than two classes. Aggregation can occur when a class is a collection or container of other classes, but where the contained classes do not have a strong life cycle dependency on the container essentially, if the container is destroyed, its contents are not. It is graphically represented as a hollow diamond shape on the containing class end of the tree of lines that connect contained class(es) to the containing class.

Class diagram showing Composition between two classes at top and Aggregation between two classes at bottom Composition is a stronger variant of the "owns a" or association relationship; composition is more specific than aggregation. It is represented with a solid diamond shape. Composition usually has a strong life cycle dependency between instances of the container class and instances of the contained class(es): If the container is destroyed, normally every instance that it contains is destroyed as well. Note that a part can (where allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite. Graphical representation of a composition relationship is a filled diamond shape on the containing class end of the tree of lines that connect contained class(es) to the containing class. Differences between Composition and Aggregation The whole of a composition must have a multiplicity of 0..1 or 1, indicating that a part must be for only one whole. The whole of an aggregation may have any multiplicity. When attempting to represent real-world whole-part relationships, e.g., an engine is part of a car, the composition relationship is most appropriate. However, when representing a software or database relationship, e.g., car model engine ENG01 is part of a car model CM01, an aggregation relationship is best, as the engine, ENG01 may be also part of a SGI Property Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

different car model. Thus the aggregation relationship is often called "catalog" containment to distinguish it from composition's "physical" containment. Dynamic modeling The dynamic model represents a state/transition view on the model. Main concepts are states, transitions between states, and events to trigger transitions. Actions can be modeled as occurring within states. Generalization and aggregation (concurrency) are predefined relationships.

State

State is a status of object at a certain time Represented by attribute values and links

Example 1: A State Diagram for a door that can only be opened and closed

State diagrams are used to give an abstract description of the behavior of a system. This behavior is analyzed and represented in series of events, that could occur in one or more possible states. Hereby "each diagram usually represents objects of a single class and track the different states of its objects through the system". Example 2: A State Diagram for Phone Line

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

Event

Stimulus which an object transmit to other objects Object reacts to events and perform associated tasks Event has no duration time. Event may have attributes, which represents its contents

In the most general terms, an event is an occurrence in time and space that has significance to the system. For example, Keystroke is an event for the keyboard, but each press of a key is not an event but a concrete instance of the Keystroke event. Another event of interest for the keyboard might be Power-on, but turning the power on tomorrow at 10:05:36 will be just an instance of the Power-on event. An event can have associated parameters, allowing the event instance to convey not only the occurrence of some interesting incident but also quantitative information regarding that occurrence. For example, the Keystroke event generated by pressing a key on a computer keyboard has associated parameters that convey the character scan code as well as the status of the Shift, Ctrl, and Alt keys.
Example 1: Event Trace diagram for telephone call

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

Functional Modeling Functional model The functional model handles the process perspective of the model, corresponding roughly to data flow diagrams. Main concepts are process, data store, data flow, and actors. A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. DFDs can also be used for the visualization of data processing (structured design). On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process. A DFD provides no information about the timing or ordering of processes, or about whether processes will operate in sequence or in parallel. It is therefore quite different from a flowchart, which shows the flow of control through an algorithm, allowing a reader to determine what operations will be performed, in what order, and under what circumstances, but not what kinds of data will be input to and output from the system, nor where the data will come from and go to, nor where the data will be stored.

Example: data-flow diagram

External Entity and Process SGI Property Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

Data process
A data process transforms data values.

You can make a distinction between the following types of processes: Process Type High-level Low-level Leaf or atomic processes Indicates Process containing nonfunctional components such as data stores or external objects that cause side effects Pure function without side effects, such as the sum of two numbers Process that is not further decomposed

The name of a process is usually a description of the transformation it performs. There are three sorts of transformation:

Transformation of the structure, for example, reformatting Transformation of information contained in data Generation of new information

If you open a process, you can either create a new DFD or open an existing DFD in which the process is specified. The data flows of the opened process are connected in the new diagram to the process with the name of the opened process. Vertices, and the flows and objects connected to them, are transferred with the flows that are connected to the decomposed process. If a data process has a decomposition at a lower level, an asterisk is placed inside the ellipse. The data process can be opened only if it has a name.

Data store
A data store stores data passively for later access. A data store responds to requests to store and access data. It does not generate any operations. A data store allows values to be accessed in an order different from the order in which they were generated. Input flows indicate information or operations that modify the stored data such as adding or deleting elements or changing values. Output flows indicate information retrieved from the store; this information can be an entire value or a component of a value.

Actor
An actor produces and consumes data, driving the DFD. Actors lie on the boundary of the diagram; they terminate the flow of data as sources and sinks of data. They are also known as terminators. Data flows between an actor and a diagram are inputs to and outputs of the diagram. The system interacts with people through the actor.

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

Anchor
A DFD anchor provides a start or end point. In decomposition diagrams, anchors represent the nodes connected to the decomposed process in the higher level diagram.

Data flow
A data flow moves data between processes or between processes and data stores. As such, it represents a data value at some point within a computation and an intermediate value within a computation if the flow is internal to the diagram. This value is not changed. The names of input and output flows can indicate their roles in the computation or the type of the value they move. Data names are preferably nouns. The name of a typical piece of data, the data aspect, is written alongside the arrow.

Result flow
A result flow is a data flow that generates an object used as the target of another operation. The value of the flow is subsequently treated as an object, usually a data store.

Control flow
A control flow is a signal that carries out a command or indicates that something has occurred. A control flow occurs at a discrete point in time. The arrow indicates the direction of the control flow. The name of the event is written beside the arrow. Control flows can correspond to messages in CCDs or events in STDs; however, because they duplicate information in the DFD, use them sparingly.

Update flow
Update (or bidirectional) flows are used to indicate an update of a data store, that is, a read, change, and store operation on a data flow.

Example: DFD to compute triangle area.

Inputs

Output

Java Features

Simple Page 3 of 19

SGI Property

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

fixes some clumsy features of C++ no pointers automatic garbage collection rich pre-defined class library http://java.sun.com/j2se/1.4.2/docs/api/ Object oriented focus on the data (objects) and methods manipulating the data all functions are associated with objects almost all data types are objects (files, strings, etc.) potentially better code organization and reuse Interpreted java compiler generate byte-codes, not native machine code the compiled byte-codes are platform-independent java byte codes are translated on the fly to machine readable instructions in runtime (Java Virtual Machine) Portable same application runs on all platforms the sizes of the primitive data types are always the same the libraries define portable interfaces Reliable extensive compile-time and runtime error checking no pointers but real arrays. Memory corruptions or unauthorized memory accesses are impossible automatic garbage collection tracks objects usage over time Secure usage in networked environments requires more security memory allocation model is a major defense access restrictions are forced (private, public) Multithreaded multiple concurrent threads of executions can run simultaneously utilizes a sophisticated set of synchronization primitives (based on monitors and condition variables paradigm) to achieve this Dynamic java is designed to adapt to evolving environment libraries can freely add new methods and instance variables without any effect on their clients interfaces promote flexibility and reusability in code by specifying a set of methods an object can perform, but leaves open how these methods should be implemented can check the class type in runtime

RESEARCH RELATED TO OBJECT ORIENTED SYSTEMS

1. Active Object-Oriented Database Systems


SGI Property Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

An active object-oriented data model, named TriGS (Triggersystem for GemStone), has been developed on top of the commercial object-oriented database management system GemStone. TriGS supports the definition of both, local and global rules on class level by using inheritance and overriding techniques. Due to the possibility of defining rules dynamically, TriGS is especially suited for evolving applications with changing requirements such as production planning and control systems. A workflow prototype based on TriGS called TriGSflow is operational. Ongoing research focuses on the design of active object-oriented database applications based on pattern technology, on extended transaction management for active database systems, and on integrating active object-oriented database technology with the WWW.

2. Object-Oriented Development of Information Systems


Designing object-oriented models of information systems is one of today's key problems in object-oriented software engineering. Based on the BIER-Model (Behavior Integrated Entity Relationship Model) the design method OBD (Object Behavior Diagrams) has been developed for the design of object-oriented databases and for information systems in general. Questions like cooperative behavior specification and object-oriented design quality based on coupling and cohesion are among the main research interests. Moreover, an object-oriented software life cycle model answering questions of reuse and reuseability has been developed.

3. Distributed Information Systems


Not least since the emergence of the Internet, design guidelines for distributed information systems are badly needed. Currently, we are concentrating our research on extending object-oriented models (OBD, UML) with interfaces and components, on distributed persistence for Java applications, and on WWW database connectivity.

4. Hypermedia Document Management


Open hypermedia systems in general and cooperative electronic publishing environments in particular are becoming more and more important. We have investigated the process of electronic publishing and the requirements for supporting this process by distributed multimedia information technology like the World Wide Web (WWW) and Java. The key research interests are platform independent representations of time dependent, structured hypermedia documents, the use of workflow management systems with regard to cooperative electronic publishing applications, and the use of agent technology for user-centric hypermedia information systems. List of publications are available at the link given below: http://www.ifs.uni-linz.ac.at/ifs/research/publications/papers98.html.

OTHER AREAS OF RESEARCH WITH THEIR LINKS

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0 1.

Conceptual Design of Secure Workflow Systems: An Object-Oriented Approach to the Uniform Modeling of Workflows, Organizations, and Security
http://www.dke.uni-linz.ac.at/research/publications/abstracts/PT9803e.html Metadata-Based Middleware for Integrating Information Systems http://www.ifs.uni-linz.ac.at/ifs/research/publications/kapsammerdiss.html

2.

Conceptual Design of Active Object-Oriented Databases http://www.dke.uni-linz.ac.at/research/publications/abstracts/PT9701e.html Active Object-Oriented Databases: From Conceptual Design to Logical Design http://www.dke.uni-linz.ac.at/research/publications/abstracts/PT9801e.html GAMMA - A platform independent framework for reusable authentication, authorization, and auditing components http://www.ifs.uni-linz.ac.at/ifs/research/publications/probstdiss.html

TOP FIVE COMPANIES OF OBJECT ORIENTED SYSTEMS WITH LINKS

PUBLIC SECTOR
1.

PRIVATE SECTOR
1.

Electronics Corporation of India Limited. www.ecil.co.in Bharat Electronics Limited. www.bel-india.com Hindustan Aeronautics Limited. www.hal-india.com Defense Research & Development Organization. www.drdo.org Bharat Sanchar Nigam Limited. www.bsnl.co.in

Sun Microsystems http://in.sun.com/ Tata Consultancy Services http://www.tcs.com Oracle Corp. http://www.bixee.com/oracle/jobsin/india/ IBM http://www-07.ibm.com/in/careers/ HCL Infosystems http://www.hclinfosystems.in

2.

2.

3.

3.

4.

4.

5.

5.

PROJECTS THAT CAN BE DONE


1.

ModelCVS: A Semantic Infrastructure for Model-based Tool Integration

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

With the rise of model-driven software development, more and more development tasks are being performed on models. A rich variety of modeling tools is available supporting different tasks, such as model creation, model simulation, model checking, and code generation. Seamless exchange of models among different modeling tools increasingly becomes a crucial prerequisite for effective software development processes. Due to lack of interoperability, however, it is often difficult to use tools in combination, thus the potential of model-driven software development cannot be fully utilized - unless we find some scalable way of integration. We are aiming at providing a semantic infrastructure for model-based tool integration, enabling to facilitate any tool appropriate for the modeling task at hand. The key innovations provided are a set of scalable architectural model integration patterns supported by a high-level metamodel integration language, thus going beyond existing low-level model transformation approaches. Ontology-based metamodel integration considerably lowers the manual effort required for tool integration, enabling a novel synergic use of technologies from the model engineering and ontology engineering domains. An open knowledge base for tool integration captures essential knowledge about modeling languages and tools in terms of ontologies, fostering reuse within and beyond the scope of this project. These innovations will be realized within the ModelCVS prototype and case study. The core of the system will be based on a versioning system such as CVS, thus providing a loosely-coupled and well-proofed integration architecture. Transparent transformation of models between different tools' languages and exchange formats, as well as versioning capabilities exploiting the rich syntax and semantics of models represent the key functionalities of ModelCVS. In this way, ModelCVS will serve as both, a research vehicle and testbed for exploring applications of semantic technologies in model-based tool integration and a prototype for a succeeding industrial product. Web-link of the project: ftp://ftp.ifs.uni-linz.ac.at/pub/publications/2005/0805.pdf
2.

WEE-NET - Web Engineering Network of Excellence

The Web has become more than a distribution medium for resources: it is now a full development and run-time environment for large-scale and complex systems. However, application development in Web environments is mostly anarchic and ad hoc; methods and techniques for ensuring the interoperability, integrity, quality assurance and maintainability of web applications are still lacking. WEE-NET will address the increasing demand for qualified Web Engineers by organizing advanced training events, by enhancing learners mobility, and by bringing together leading R&D groups so that, through the exchange of know-how and experiences, they can help raise the current state of awareness and practice in Web Engineering. This project has been carried out with the support of the European Community - ALFA (Amrica Latina - Formacin Acadmica) Programme. ALFA is a programme of cooperation between higher education institutions of European Union and Latin America. The content of this project does not necessarily reflect the position of the European Community, nor does it involve any responsibility on the part of the European Community. Web-link of the Project: http://cosy.ted.unipi.gr/weenet/

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0 3.

MEDINA - MEDiterranean by INternet Access


1.

The creation of the 'MEDINA PORTAL', in order to promote cultural tourism in different Mediterranean countries 2. The development of National Web Sites, to provide further information and a better understanding of local cultural and tourism resources, through the use of avant-gard information technology and communication 3. The promotion of 'Thematic Pathways for Cultural Tourism', that will guide the user in a 'virtual tour' across different countries, linking cultural heritage in a intelligent and structured way, and that provides related cultural and tourist information 4. The grouping together of cultural and tourist resources, both thematically and geographically These are just some of the objectives of the MEDINA - MEDiterranean by INternet Access - Project, co-ordinated by IMED, The Mediterranean Institute, and co-financed by the European Commission within the Eumedis Initiative - Information Society (MEDA funds). The total cost of the MEDINA Project is 2.898.862 Euros, with the contribution of 2.231.544 Euros from the EC. MEDINA is a Euro-Mediterranean Project that involves a vast and well organised partnership, composed of 14 countries: 5 Member States (Italy, France, Greece, Austria and Belgium) and 9 Mediterranean Partner Countries (Algeria, Tunisia, Morocco, Lebanon, Jordan, the Palestinian Authority, Syria, Malta and Cyprus). MEDINA will look at all aspects of the cultural heritage of the Mediterranean: material heritage, performing arts, popular traditions, food and gastronomic culture, crafts. Web-link of the Project: http://www.istituti.usilu.net/speronim/web/medina/
4.

Ubiquitous Web Applications

In the near future there will be an explosion of multi-device ubiquitous web applications. These applications are targeted to inexpert users, who need friendly high quality applications, delivered at right time and at low costs. Quality and effectiveness of this class of applications is strongly related to the quality of its design. Thus, the main objective of the UWA project is to define a set of methodologies, notations, and tools to support the design and fast prototyping of complex, multi-device, ubiquitous web applications. More specifically, the project will produce an innovative, integrated design environment covering the whole spectrum of design activities, from requirements to detailed design. The tight coupling of hypermedia design and operation (transaction) design, flexible and powerful customization of design (taking into account the specific user profile, multidevice and ubiquitous delivery, situation of use, location and time, etc.), design based upon families of applications with strong reuse of design features (based upon design patterns), are some of the key innovative aspects. A set of notations based on "extended" and customized UML will be developed, as long as a set of heuristics and guidelines to help the developers. A number of design tools will make more efficient the design activity, by producing flexible and exportable design documentation (with internal representation based upon XML). Web-link of the Project: http://www.uwaproject.org/ SGI Property Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

TRENDS GOING ON FOR OBJECT ORIENTED SYSTEMS: 1986: Booch came up with the object-oriented design concept, the Booch method. 1987: Sally Shlaer and Steve Mellor came up with the concept of the recursive design approach. 1989: Beck and Cunningham came up with class-responsibility-collaboration (CRC) cards. 1990: Wirfs-Brock, Wilkerson, and Wiener came up with responsibility-driven design. 1991: Peter Coad and Ed Yourdon developed the Coad lightweight and prototypeoriented approach. 1991: Jim Rumbaugh led a team at the research labs of General Electric to develop the object modeling technique (OMT). 1994: Ivar Jacobson introduced the concept of the use case.

SGI Property

Page 3 of 19

Object Oriented Systems- Preamble (Student Handout) Version- 1.0

Latest technologies are as:


Real-time Systems Event-driven simulations of the business Transaction-processing Record-keeping reporting systems Distributed Computing Machines

SGI Property

Page 3 of 19

S-ar putea să vă placă și