390 likes | 588 Views
Object Oriented Analysis &Design using UML:. [ UNIFIED MODELLING LANGUAGE] Anita S Kini. Todays Class. Evolution-Version An overview of Object Oriented systems Development Introduction to UML UML -- in brief. An overview of Object Oriented systems Development.
E N D
Object Oriented Analysis &Designusing UML: [UNIFIED MODELLING LANGUAGE] Anita S Kini
Todays Class • Evolution-Version • An overview of Object Oriented systems Development • Introduction to UML • UML -- in brief
An overview of Object Oriented systems Development • SYSTEMS DEVELOPMENT – refers to activities that produce an information systems solution • SYSTEMS DEVELOPMENT ACTIVITIES – systems analysis, modeling, design, implementation, testing and maintenance • SOFTWARE DEVELOPMENT METHODOLOGY – a series of processes that, if followed can lead to the development of an application • SOFTWARE PROCESSES – describe how the work is to be carried out to achieve the original goal based on the system reqts. Each process consists of a no of steps and rules that should be performed during development
Two orthogonal views of software construction • TRADITIONAL SYSTEM DEVELOPMENT METHODOLOGIES - focuses on the functions of the system • OBJECT ORIENTED METHODOLOGIES – focuses on the object (which combines data and functionality) • This shift radically changes the process of software development
Object oriented systems development methodologies • By building self-contained modules or objects that can be easily replaced, modified and reused • System – viewed as co-operating (allocating tasks among the objects of the application) and collaborating objects • In OO environment Software – is a collection of discrete objects that encapsulate data and functionality to model real world “objects” • Each object has data and methods • Objects are grouped into classes • We discover the classes involved in the problem domain • Focus is not on the system to do but on the objects to perform
Why OO ? • HIGHER LEVEL OF ABSTRACTION – abstraction at the object(encapsulate both data and functions, hence higher level) level. For traditional methods abstraction at the function level. • SEAMLESS TRANSITION AMONG DIFFERENT PHASES OF SOFTWARE DEVELOPMENT – OO approach uses the same perspective for different phases. Traditional approaches require a complex transition of perspective between models. • ENCOURAGEMENT OF GOOD PROGRAMMING TECHNIQUES- A class in an OO system delineates between interface(what) and implementation (how). Hence changing one class has no impact on other classes. • PROMOTION OF REUSABILITY- Objects are re-usable because they are modeled from a real-world problem domain. Classes are designed generically . Also, OO adds inheritance that allows classes to be built from each other. Only differences and enhancements between the classes are designed and coded. The previous functionality can be reused.
Unified Approach (UA) • Proposed by the author • Tries to combine best practices, guidelines and processes along with OMG’s UML • UML – a set of notations and conventions to describe and model an application • UML does not specify a methodology or what steps to follow to develop an application. This is the task of UA • Also layered architecture to develop applications – layered approach consists of view, business and access layers
Do It, YOURSELF ? • Q1.How would you justify the use of UML in any IS project to programming personnel? • Q2.What does UML attempt to model systems with a heavy emphasis on graphic notation? • Q3. Why does UML not restrict itself to one type of diagram ?