Object Oriented Analysis and Design using UML
Unit 1
Unit 1
Structure: 1.1 Introduction Objectives
An Overview of Object-Oriented Systems Development
1.2 Two orthogonal views of the software 1.3 Object oriented systems development methodology 1.4 Advantages of Object Orientation 1.5 Overview of the Unified Approach (UA) 1.6 Summary 1.7 Terminal Questions
1.1 Introduction
Systems Development refers to all activities that go into producing an information systems solution. systems analysis, modeling, Systems development activities consist of design, implementation, testing, and
maintenance. Software Development Methodology is a series of processes that, if followed, can lead to the development of an application. Objectives: After studying this chapter, you should be able to: Describe two orthogonal views of the software Understand object oriented systems development methodology Understand the need for object orientation Describe the importance of Unified Approach
Sikkim Manipal University
Page No. 1
Object Oriented Analysis and Design using UML
Unit 1
1.2 Two orthogonal views of the software
Niklaus Wirth, the inventor of Pascal says: Algorithms + Data structures = Programs A software system is a set of mechanisms for performing certain action on certain data. Traditional development techniques focus on the functions of the system. Object oriented systems development centers on object, which combines data and functionality.
1.3 Object oriented systems development methodology
In an object-oriented environment, software is a collection of discrete objects that encapsulate their data as well as the functionality to model real world objects. In an object oriented system, everything is an object and each object is responsible for itself. In a payroll application, instead of saying, System, compute the payroll of this employee, you tell the employee object, Compute your payroll.
1.4 Advantages of Object Orientation
Object oriented systems are easier to adapt to changing requirements, easier to maintain, more robust, and promote greater design and code reuse. Higher level of abstraction: Top-down approach supports abstraction at the function level. The object-oriented approach supports abstraction at the object level. Since objects encapsulate both data (attributes) and functions (methods), they work at a higher level of abstraction. Seamless transition among different phases of software
development: The object-oriented approach essentially uses the same language to talk about analysis, design, programming and database
Sikkim Manipal University Page No. 2
Object Oriented Analysis and Design using UML
Unit 1
design. This seamless approach reduces the level of complexity and redundancy and makes for clearer, more robust system development. Encouragement of good programming techniques: In a properly designed system, the classes will be grouped into subsystems but remain independent; therefore, changing one class has no impact on other classes, and so, the impact is minimized which encourages good programming. Promotion of reusability: Objects are reusable because they are modeled directly out of real-world problem domain. The object orientation adds inheritance, which is a powerful technique that allows classes to be built from each other and therefore, only differences and enhancements between the classes need to be designed and coded.
1.5 Overview of the Unified Approach (UA)
The Unified Approach (UA) is a methodology for software development. The UA, based on the methodologies suggested by Booch, Rumbaugh, and Jacobson, tries to combine the best practices, processes, and guidelines along with the Object Management Groups (OMG) Unified Modeling Language (UML). The UML is a set of notations and conventions used to describe and model an application. However, UML does not specify a methodology or the steps to follow to develop an application; that would be the task of the UA. UA consists of the following concepts: Use-case driven development Utilizing the unified modeling language for modeling Object-oriented analysis (utilizing use cases and object modeling) Object-oriented design Repositories of reusable classes and maximum reuse
Page No. 3
Sikkim Manipal University
Object Oriented Analysis and Design using UML
Unit 1
The layered approach Incremental development and prototyping Continuous testing
The use case represents a typical interaction between a user and a computer system to capture the users goals and needs. Layered architecture is an approach to software development that allows us to create objects that represent tangible elements of the business independent of how they are represented to the user through an interface. This approach reduces the interdependence of the user interface, business control and database access.
1.6 Summary
We have seen an introduction to the following: Two orthogonal views of the software Object oriented systems development methodology Need for object orientation Importance of Unified Approach
1.7 Terminal Questions
1. Give the two orthogonal views of the software. 2. Discuss the importance of object orientation during system
development. 3. What do you mean by Unified Approach? Discuss.
Sikkim Manipal University
Page No. 4