Presentation is loading. Please wait.

Presentation is loading. Please wait.

2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.

Similar presentations


Presentation on theme: "2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development."— Presentation transcript:

1

2 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development life cycle (SDLC)  Explain when to use an adaptive approach to the SDLC in place of the more predictive traditional SDLC  Describe how the more adaptive Unified Process (UP) life cycle uses iterative and incremental development  Explain the differences between a model, a tool, a technique, and a methodology

3 3Object-Oriented Analysis and Design with the Unified Process Objectives (continued)  Describe the Unified Process as a comprehensive system development methodology that combines proven best practices with the iterative UP life cycle  Describe the disciplines used in a UP development project  Describe the key features of the object-oriented approach  Explain how automated tools are used in system development

4 4Object-Oriented Analysis and Design with the Unified Process Overview  Traditional systems development life cycle (SDLC)  Unified Process (UP)  Iterative, incremental, adaptive approach to life cycle  Nine disciplines: six for system development, three for support  Review object-oriented (OO) concepts  Describe computer support tools such as CASE  Apply UP to the development project of RMO

5 5Object-Oriented Analysis and Design with the Unified Process The Systems Development Life Cycle  SDLC: process of building, deploying, using, and updating an information system  Chief variations of SDLC  Predictive: project planned entirely in advance  Adaptive: planning leaves room for contingencies  Pure approaches to SDLC are rare  Most projects have predictive and adaptive elements

6 6Object-Oriented Analysis and Design with the Unified Process Figure 2-1 Predictive versus adaptive approaches to the SDLC

7 7Object-Oriented Analysis and Design with the Unified Process The Systems Development Life Cycle  Predictive approach  Example: A company that want to convert its old, mainframe inventory system to a newer networked client/server system.

8 8Object-Oriented Analysis and Design with the Unified Process The Traditional Predictive SDLC Approaches  Five activities or phases in a project  Planning, analysis, design, implementation, support  Pure waterfall approach (predictive SDLC)  Assumes project phases can be sequentially executed  Project drops over the “waterfall” into the next phase  Modified waterfall approach  The phases of project must overlap, influencing and depending on each other.

9 9Object-Oriented Analysis and Design with the Unified Process Figure 2-3 SDLC Phases and Objectives

10 10Object-Oriented Analysis and Design with the Unified Process Figure 2-4 The Waterfall Approach to the SDLC

11 11Object-Oriented Analysis and Design with the Unified Process PROJECT PLANNING ADDITIONAL PROJECT MANAGEMENT TASKS ANALYSIS ADDITIONAL ANALYSIS ACTIVITIES DESIGN ADDITIONAL DESIGN ACTIVITIES IMPLEMENTATION SUPPORT Figure 2-5 The Overlap of System Development Activities

12 12Object-Oriented Analysis and Design with the Unified Process The Newer Adaptive Approaches to the SDLC  The spiral model: early form of adaptive SDLC  Activities radiate from center starting point  Prototypes are artifacts of each phase  Iterative problem solving: repeats activities  Several approaches to structuring iterations  Define and implement the key system functions  Focus on one subsystem at a time  Define by complexity or risk of certain components  Complete parts incrementally

13 13Object-Oriented Analysis and Design with the Unified Process Figure 2-6 The Spiral Life Cycle Model

14 14Object-Oriented Analysis and Design with the Unified Process The Unified Process Life Cycle  UP life cycle  Includes (4) phases which consist of iterations  Iterations are “mini-projects”  Inception: develop and refine system vision  Elaboration: define requirements and core architecture  Construction: continue design and implementation  Transition: move the system into operational mode

15 15Object-Oriented Analysis and Design with the Unified Process Figure 2-8 The Unified Process System Development Life Cycle

16 16Object-Oriented Analysis and Design with the Unified Process Figure 2-9 UP Phases and Objectives

17 17Object-Oriented Analysis and Design with the Unified Process Methodologies, Models, Tools, and Techniques  Analysts have a wide variety of aids to help them complete activities and tasks in system development beyond SDLC.

18 18Object-Oriented Analysis and Design with the Unified Process Methodologies and System Development Processes  System development methodology  Provides guidelines every activity in system development  Includes specific models, tools, and techniques  UP is a system development methodology  Methodologies supported with documentation

19 19Object-Oriented Analysis and Design with the Unified Process Models  A model is a representation of an important aspect of the real world.  Models come in many forms  Physical analogs, mathematical, graphical  System development models are highly abstract  Depict inputs, outputs, processes, data, objects, interactions, locations, networks, and devices  Unified Modeling Language (UML): standard notation  PERT or Gantt charts: model project itself

20 20Object-Oriented Analysis and Design with the Unified Process Figure 2-10 Some Models used in System Development

21 21Object-Oriented Analysis and Design with the Unified Process Tools  Tool: software used to create models or components  Example tools  Project management software tools (Microsoft Project)  Integrated development environments (IDEs)  Code generators  Computer-aided system engineering (CASE)

22 22Object-Oriented Analysis and Design with the Unified Process Tools  Integrated development environments (IDEs) is a software application that provides comprehensive facilities to computer programmers for software development.  An IDE normally consists of a: –source code editor, –compiler and/or interpreter, –build automation tools, and –debugger (usually).  Example: Eclipse, Mic. Visual Studio and recent versions of Netbeans

23 23Object-Oriented Analysis and Design with the Unified Process Techniques  Technique  Collection of guidelines  Enables an analyst to complete an activity or task  Example techniques  Domain-modeling, use case modeling, software- testing, user-interviewing techniques, relational database design techniques  Proven techniques are embraced as “Best Practices”

24 24Object-Oriented Analysis and Design with the Unified Process Figure 2-13 Relationships of Models, Tools, and Techniques in a System Development Methodology

25 25Object-Oriented Analysis and Design with the Unified Process The Unified Process as a System Development Methodology  UP: object-oriented system development methodology, offered by Rational Software, which is now part of IBM.  UP should be tailored to organizational and project needs  Project will be use case driven

26 26Object-Oriented Analysis and Design with the Unified Process The Unified Process as a System Development Methodology (continued)  Use case  Activity that the system carries out  Basis for defining requirements and designs  UP defines disciplines within each phase  Discipline: set of functionally related activities  Iterations concatenate activities from all disciplines  Activities in each discipline produce artifacts; models, documents, source code, and executables

27 27Object-Oriented Analysis and Design with the Unified Process Figure 2-15 UP Life Cycle with Phases, Iterations, and Disciplines

28 28Object-Oriented Analysis and Design with the Unified Process The UP Disciplines  Six main UP development disciplines  Business modeling, requirements, design, implementation, testing, and deployment  Each iteration  Similar to a mini-project  Results in a completed portion of the system  Three additional support disciplines  Project management, configuration and change management, and environment

29 29Object-Oriented Analysis and Design with the Unified Process Business Modeling  Purpose: understand business environment  Three major activities part of business modeling  Understand surroundings  Create the system vision (define - system objective, system capabilities and primary business benefits)  Create business models

30 30Object-Oriented Analysis and Design with the Unified Process Requirements  Objective: document business requirements  Key drivers of activities: discovery and understanding  Activities list  Gather detailed information  Define functional and nonfunctional requirements  Develop user interface dialogs  Evaluate requirements with users

31 31Object-Oriented Analysis and Design with the Unified Process Design  Objective: design system based on requirements  Six major activities in the design discipline  Design support services architecture and deployment environment  Design the software architecture  Design use case realizations (the design of the s/ware that implements each use case)  Design the database  Design the system and user interfaces  Design the system security and controls

32 32Object-Oriented Analysis and Design with the Unified Process Implementation  Objective: build or acquire needed system components  Implementation activities  Build software components  Acquire software components  Integrate software components

33 33Object-Oriented Analysis and Design with the Unified Process Testing  Testing is critical discipline  Testing activities  Define and conduct unit testing  Define and conduct integration testing  Define and conduct usability testing  Define and conduct user acceptance testing  In UP, acceptance testing occurs throughout the building phase

34 34Object-Oriented Analysis and Design with the Unified Process Deployment  Goal: conduct activities to make system operational  Deployment activities  Acquire hardware and system software  Package and install components  Train users  Convert and initialize data  Deployment activities prominent in transition phase

35 35Object-Oriented Analysis and Design with the Unified Process Project Management  Most important support discipline  Project management activities  Finalize the system and project scope  Develop the project and iteration schedule  Identify project risks and confirm feasibility  Monitor and control the project’s plan  Monitor and control communications  Monitor and control risks and outstanding issues

36 36Object-Oriented Analysis and Design with the Unified Process Configuration and Change Management  As the project progresses, many changes occur in:  Requirements  Design  Source code  Executables  The two activities in this discipline  Develop change control procedures  Manage models and software components

37 37Object-Oriented Analysis and Design with the Unified Process Environment  Managing development environment includes  Available facilities  Design of the workspace  Forums for team communication and interaction  Environment discipline activities  Select and configure the development tools  Tailor the UP development process  Provide technical support services

38 38Object-Oriented Analysis and Design with the Unified Process Overview of Object-Oriented Concepts  OOA views system as a collection of objects  Object: entity capable of responding to messages  Languages: Simula, C++, Java, C#, Visual Basic.NET  Object-oriented design (OOD)  Defines additional types of communication objects  Shows how the objects interact to complete tasks  Refines definition of objects for implementation  Object-oriented programming (OOP): object coding

39 39Object-Oriented Analysis and Design with the Unified Process Recognizing the Benefits of OO Development  Rationale for use in information systems  Benefits of naturalness  Reusability

40 40Object-Oriented Analysis and Design with the Unified Process Objects are More Natural  OO approach mirrors human perception  OOA, OOD, and OOP imitate perceptual processes by modeling classes of objects  Some system developers resist OO development  They have get used to procedural programming  Many experienced developers have had difficulty learning the OO approach  New programmers are more receptive to OO approach

41 41Object-Oriented Analysis and Design with the Unified Process Classes of Objects Can Be Reused  Classes of objects have a long shelf life  Example: Customer class adaptability  Reused in systems where customer objects needed  Extended through inheritance to a new subclass  Reused during analysis, design, or programming  Classes may be stored, with implementation hidden, in class libraries

42 42Object-Oriented Analysis and Design with the Unified Process Understanding Object-Oriented Concepts  Object: thing with attributes and behaviors  Types of objects  User interface  Problem domain objects  Attributes are associated with data  Behaviors are associated with methods, functions, and procedures

43 43Object-Oriented Analysis and Design with the Unified Process Figure 2-18 Attributes and Methods in Problem Domain Objects

44 44Object-Oriented Analysis and Design with the Unified Process Understanding Object- Oriented Concepts (continued)  Class: defines what all objects of class represent  Objects are instances of a class  Customer object is an instance of a customer class  Objects interact through messages  Objects retain memory of transactions

45 Example: 45Object-Oriented Analysis and Design with the Unified Process UML diagram CheckingAccount class Corresponding code for simple checking account object Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld attribute method

46 46Object-Oriented Analysis and Design with the Unified Process Figure 2-20 Order-processing system where objects interact by sending messages

47 47Object-Oriented Analysis and Design with the Unified Process Understanding Object- Oriented Concepts (continued)  Objects maintain association relationships  Encapsulation: combining attributes and methods into one unit  Information hiding: separating specification from implementation  Inheritance: extending the characteristics of a class  Polymorphism: ability for dissimilar objects to respond to the same message

48 Encapsulation 48Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld  Definition: Attributes (data) and behaviors (code) are encapsulated in to a single object. attribute method setter getter

49 Encapsulation  In many cases, an attribute of the object will have both a getter and a setter – not always the case  What is always the case is that the getters and setters are used to control access to the attributes and this is a key part of encapsulation. 49Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

50 Encapsulation  Class shown in previous slide cannot be executed directly. Example of an application that uses CheckingAccount class to instantiate and use a CheckingAccount object. 50Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld object

51 Encapsulation  The application shown in previous slide instantiate a CheckingAccount object, called myAccount, set the value of balance to and then print that balance out.  Output: Starting myEncapsulation….. Balance= Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

52 Information/ Data Hiding  Definition: Access to all of an object’s attributes is tightly controlled.  Accomplished by making all the attributes private. 52Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld Attribute is set to private

53 Information/ Data Hiding  Trying to access the balance attribute directly from the myAccount object. 53Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld myAccount.setBalance (40.00)

54 Information/ Data Hiding 54Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

55 Information/ Data Hiding  If balance is declared to public, it will work but violates the concept of data hiding.  Data hiding, as with many other object-oriented concepts, is a design decision.  If the system is designed with attributes as private, the compiler can help with enforcing data hiding.  If the classes are designed with public attributes, the application is not designed in an object- oriented manner. 55Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

56 Inheritance  Inheritance allows a class to inherit the attributes and methods of another class. 56Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

57 Inheritance The Dog and Cat classes both inherit from Mammal. This means that a Dog class actually has the following attributes: eyeColor // inherited from Mammal barkFrequency // defined only for Dogs In the same vein, the Dog object has the following methods: getEyeColor // inherited from Mammal bark // defined only for Dogs 57Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld superclass subclasses

58 Polymorphism  Ability for dissimilar objects to respond to the same message.  Read below article: _2 58Object-Oriented Analysis and Design with the Unified Process Reference: The Object-Oriented Thought Process, 2 nd Edition by Matt Weisfeld

59 59Object-Oriented Analysis and Design with the Unified Process Tools to Support System Development  CASE (Computer Aided System Engineering)  Database repository for information system  Set of tools that help analysts complete activities  Sample artifacts: models, automatically generated code  Variations on CASE  Visual modeling tools  Integrated application development tools  Round-trip engineering tools

60 60Object-Oriented Analysis and Design with the Unified Process Figure 2-24 A Case Tool Repository Contains All Information About the System

61 61Object-Oriented Analysis and Design with the Unified Process Tools to Support System Development (continued)  Microsoft Visio: emphasizes technical drawing  Rational Rose  CASE tool supporting object-oriented approach  Strongly identified with UP methodology  Together  Pioneers round-trip engineering ◘synchronizes graphical models with generated program code  Leverages UML diagrams

62 62Object-Oriented Analysis and Design with the Unified Process Figure 2-26 Visual Modeling Tool Rational Rose Displaying UML Diagrams

63 63Object-Oriented Analysis and Design with the Unified Process Tools to Support System Development (continued)  Embarcadero Describe  Visual Modeling  Round-trip engineering  Rational XDE Professional  Integrates Microsoft Visual Studio.NET IDE  Also provides visual modeling and round-trip

64 64Object-Oriented Analysis and Design with the Unified Process Figure 2-29 Rational XDE Professional is integrated with Visual Studio.NET

65 65Object-Oriented Analysis and Design with the Unified Process Summary  SDLC: set of activities required to complete system development project  Predictive SDLC: executes project in sequential phases (waterfall approach)  Adaptive SDLC: accommodates change and phase overlap  Spiral SDLC model introduces iterations (cycles)  UP is an adaptive system development methodology

66 66Object-Oriented Analysis and Design with the Unified Process Summary (continued)  UP life cycle includes four phases-inception, elaboration, construction, and transition  UP phases decomposed into one ore more iterations  Iterations involve work in nine UP disciplines  UP is object-oriented  Object-oriented concepts: object, class, methods, encapsulation, associations, inheritance, polymorphism  CASE: automation tools simplify development tasks


Download ppt "2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development."

Similar presentations


Ads by Google