• No results found

Object Oriented Analysis and Design


Academic year: 2024

Share "Object Oriented Analysis and Design"


Loading.... (view fulltext now)

Full text

Grady Booch, James Rumbaugh, Ivar Jacobson, "The Unified Modeling Language User Guide", Pearson Education, 2nd edition, 2004. The Unified Modeling Language is a family of graphical notations based on a single metamodel to aid in the description and design of software systems , especially software systems built using an object-oriented style. UML is standardized and its content controlled by the Object Management Group (OMG), a consortium of companies.

UML brought together the best of the object-oriented software modeling methodologies that existed in the early 1990s. It is used to represent a simplified view of reality to facilitate the design and implementation of object-oriented software systems.

Behavioural Things

  • Dependency
  • Association
  • Generalization
  • Realization

Package − A package is the only bundling thing available to collect structural and behavioral things. It can be defined as a mechanism for capturing annotations, descriptions and comments of UML model elements. It shows how the elements are connected to each other and this connection describes the functionality of the application.

Dependency is a relationship between two things in which a change in one element also affects the other. One element describes certain responsibilities, which do not apply, and the other does.

UML Diagrams


Course outcome /

Topic learning outcome

Outcome achieved

Object-Oriented Concepts

Objects are the real world entities that exist around us and the basic concepts such as abstraction, encapsulation, inheritance and polymorphism can all be represented using UML. UML is powerful enough to represent all concepts that exist in object-oriented analysis and design. Encapsulation – Encapsulation is the mechanism to bind the data together and hide it from the outside world.

Therefore, the same elements used in Design are also used to support this perspective. The structural model represents the framework for the system, and this framework is where all the other components exist.

Structural Things

The only difference is the underlined name, as shown in the following image. Because the object is an actual implementation of a class, which is known as the instance of a class. An actor can be defined as an internal or external entity that interacts with the system.

Component is used to represent any part of a system for which UML diagrams are made. Node is used to represent the physical part of a system such as server, network, etc.

Structural Diagrams

The use of object diagrams is similar to class diagrams, but they are used to prototype a system from a practical perspective. During the design phase, the software objects (classes, interfaces, etc.) of a system are arranged in different groups depending on their relationship. Again, the layout diagram depends on the components, which are used to make the component diagrams.

Behavioral Diagrams

Use Case Diagram

Now that we have to discuss that the use case diagram is dynamic in nature, there must be some internal or external factors that bring about the interaction.

Purpose of Use Case Diagrams

How to Draw a Use Case Diagram?

When we plan to draw a use case diagram, the following items should be identified. After identifying the above items, we should use the following guidelines to draw an effective use case diagram. Do not try to include all types of relationships, as the main purpose of the diagram is to identify the requirements.

So if we look at the diagram we find three use cases (Order, SpecialOrder and NormalOrder) and one actor who is the customer. Another important point is to identify the system boundary, which is shown in the figure. In forward engineering, use case diagrams are used to create test cases and in reverse engineering, use cases are used to prepare the required details of the existing application.

An example of a use-case diagram

From the name, it is clear that the diagram deals with some sequence, which is the sequence of messages flowing from one object to another. Sequence diagram is used to visualize the sequence of calls in a system to perform a specific functionality. However, the specific purpose of the collaboration diagram is to visualize the organization of objects and their interaction.

Any real-time system is expected to be responded to by some form of internal/external events. State chart diagram is used to visualize the response of a system to internal/external factors. This is prepared to have an idea of ​​how the system will work when executed.

Importance of Modeling

In the case of building a high-rise office, the risk is very high. Unsuccessful software projects fail in their own unique way, but all successful software projects are similar in many ways. There are many elements that contribute to a successful software organization; a common element is the use of modeling.

We build architectural models of houses and high-rises to help their users visualize the final product. Modeling is not limited to the construction industry, it is also applied in the fields of aeronautics, automobiles, photography, sociology, economics, software development and many others. We build models so we can prove our theories or try new ones with minimal risk and cost.

Modeling can help the development team better visualize their system design and allow them to develop faster by helping them build the right thing. Models help us visualize the system as it is or as we want it to be.

UML - Architecture


Software Development Life Cycle

Architecture-centric means that a system's architecture is used as a primary artifact for the conceptualization, construction, management, and development of the system being developed. This involves continuous integration of the system's architecture to produce these releases, with each new release representing incremental improvements over the others.

UML - Class Diagram

Basic Class Diagram Symbols and Notations

Active classes initiate and control the flow of activities, while passive classes store data and operate other classes. Secure visibility, indicated by a # sign, allows child classes to access information inherited from a parent class.

Purpose of Class Diagrams

How to Draw a Class Diagram?

Where to Use Class Diagrams?

Common Mechanisms

Sample fig

This is shown by adding text to the element or by placing a graphic symbol in the basic notation. When a particular file name is typed that does not exist, a 'File not found' message may appear.

Representation od stereotypes

Tagged Values

Constraints: Constraints specifies conditions that must be held true for the model to be well formed with constraints we

Standard Elements

Benefits of Class Diagram

Essential elements of A UML class diagram

For example, the age of a student can be easily calculated from his date of birth.

Attributes characteristics



The generalization relationship can be used between actors or between use cases; however, it cannot be used between an actor and a use case. This class contains attributes, such as Price, and operations, such as setPrice, that use all parts of the goods. After defining the parent class, a child class (also called a subclass) is created for each type of merchandise, such as books and DVDs.

The book class uses the attributes and operations in the inventory class and then adds attributes such as author and operations such as setAuthor. A DVD class also uses the attributes and operations in the inventory class, but adds attributes such as manufacturer and operations such as setManufacturer, which are different from those in the book class.




For example, a composition relationship links a Student class to a Schedule class, meaning that if you remove the student, the schedule is also removed. As the figure below illustrates, a composite link relationship appears as a solid line with a filled diamond at the edge of the link, which is connected to the entire classifier or composite.

Aggregation vs. Composition

Abstract Classes

This abstract class method can be used by any object like a car, an animal, robot, etc. It is efficient to use this abstract class method with an object because no implementation is provided for the given function. The only difference between a class and an abstract class is that the class name is written strictly in italics.

The abstract class notation, there is the only single abstract method that can be used by multiple objects of classes.

UML Class Diagram


Class diagrams are the main UML diagrams used for software application development. Essential elements of UML class diagram are 1) Class 2) Attributes 3) Relationships. Class diagram provides an overview of how the application is structured before studying the actual code. The class diagram is useful for object-oriented programming languages ​​such as Java, C++, Ruby, Python, etc.


Understand the concepts of advanced classes including classifications, visibility, scope, multiplicity, attributes, operations, common, modeling techniques.



Advanced Classes

Each classifier represents structural aspects in terms of properties and behavioral aspects in terms of operations.



When modeling classes, it is reasonable to assume that a class can have any number of instances. Such a non-instance class is called a utility class, which contains only classifier-scoped attributes and operations. Similarly, other classes can have any number of instances, which is the default in UML.

In UML we can mention the multiplicity as an expression in the upper right corner of the class icon.



The operation name, parameter list, and its return type are collectively known as the signature of the operation.

Common Modeling Techniques

Advanced Relationships

  • Derive
  • friend
  • instanceOf
  • instantiate
  • powertype
  • refine

The dependency relationship is also known as usage relationship, that is, if the specification of one thing changes, it will automatically affect the behavior of another thing that uses it. In general, a simple dependency relationship is reasonable to represent the usage relationship between two things. But if the user needs to specify additional information, such as the nature of the dependency relationship, he/she can use the predefined stereotypes that can be applied to the dependency relationship.

There are about 17 such stereotypes and are organized into 6 groups based on which things participate in the dependency relationship. Specifies that the source instantiates (creates object) the target template using the given actual parameters. Indicates that the source is available to the target regardless of the visibility of the source element.


Related documents

The problem of checking whether a given globally cooperative MSG generates a safely realizable language or not is decidable in EXPSPACE and the problem is EXPSPACE-complete even

(i) Steady state analysis of the three-phase and single-phase SEIGs have been carried out using an elegant Matlab tool "fsolve" to study their behavior under balanced

This is to certify that the thesis entitled, "Analysis, Design and Control of Multipulse Voltage Source Converter Based HVDC System", being submitted by Mr. Madhan Mohan

Thus the part which is modeled is converted into igs file to import in ANSYS work bench and static structural analysis is carried out at 16 Mpa of pressure load by applying various