Object-Oriented Software Development with Rational Unified Process: Principles and Phases, Summaries of Computer Science

The benefits of using the Object-Oriented approach in software development, specifically the Rational Unified Process (RUP). It covers the essential principles of RUP, the phases of the process, and the use of UML diagrams. The document also provides an example of Object-Oriented Programming in C++.

Typology: Summaries

2018/2019

Uploaded on 10/12/2021

Ridge77
Ridge77 🇰🇪

2 documents

1 / 36

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Slide 3
OBJECT ORIENTED METHODOLOGY
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24

Partial preview of the text

Download Object-Oriented Software Development with Rational Unified Process: Principles and Phases and more Summaries Computer Science in PDF only on Docsity!

Slide 3

OBJECT ORIENTED METHODOLOGY

Importance of Object Orientation

Higher level of abstraction

  • 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. The development can proceed at the

object level and ignore the rest of the system for as

long as necessary. This makes designing, coding,

testing, and maintaining the system much simpler.

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.

Promotion of reusability.

Objects are reusable because they are modeled directly

out of a real-world problem domain. Each object stands

by itself or within a small circle of peers (other

objects). Within this framework, the class does not

concern itself with the rest of the system or how it is

going to be used within a particular system.

The Rational Unified Process

This is an Object Oriented Methodology derived

from the work on the UML and associated process.

Brings together aspects of the Waterfall model,

Incremental Development and the Reuse-Oriented

Software Engineering.

Normally described from 3 perspectives

  • A dynamic perspective that shows phases over time;
  • A static perspective that shows process activities;
  • A practive perspective that suggests good practice

RUP Approach

RUP Approach

Essential Principles:

Attack major risks early and continuously

Ensure that you deliver value to your customer

  • Stay focused on executable software

Accommodate change early in the project

Baseline an executable architecture early on

Build your system with components

Work together as one team

Make quality a way of life, not an afterthought

Phases in the Rational Unified Process

RUP Process

In-phase iteration

  • In-phase iteration - Each phase is iterative with results developed incrementally.
  • Cross-phase iteration - As shown by the loop in the RUP model, the whole set of phases

may be enacted incrementally.

RUP Process

RUP Work Flows

A Workflow is a sequence of tasks in a business process.

Workflows are the paths that describe how something is

done. RUP workflows include

  • Business modeling
  • Requirements management
  • Analysis and design
  • Implementation
  • Deployment
  • Test
  • Project management
  • Change management
  • Environment
  • Testing - Testing is an iterative process that is carried out in

conjunction

with implementation. System testing follows the completion of the

implementation.

  • Deployment - A product release is created, distributed to users and

installed in their workplace.

  • Configuration and change management - This supporting workflow

manage changes to the system.

  • Project management - This supporting workflow manages the

system development

  • Environment - This workflow is concerned with making appropriate

software tools available to the software development team.

UML

  • UML stands for “Unified Modeling Language”
  • It is a industry-standard graphical language for

specifying, visualizing, constructing, and

documenting the artifacts of software systems

  • The UML uses mostly graphical notations to

express the OO analysis and design of software

projects.

  • Simplifies the complex process of software

design

Functional View

Model how the system is supposed to work.

The Use Case diagram describes the features

that the users expect the system to provide.

The Activity diagram describes processes

including sequential tasks, conditional

logic, and concurrency. This diagram is like a

flowchart, but it has been enhanced

for use with object modeling.

Component Diagram displays the high level packaged

structure of the code itself. Dependencies among

components are shown, including source code

components, binary code components, and executable

components. Some components exist at compile time, at

link time, at run times well as at more than one time.

Deployment Diagram displays the configuration of run-

time processing elements and the software components,

processes, and objects that live on them. Software

component instances represent run-time manifestations

of code units.

Dynamic View

The dynamic view includes the diagrams that

reveal how objects interact with one another in

response to the environment. It includes the

  • Sequence and Collaboration diagrams , which

collectively are referred to as interaction

diagrams_._ They are specifically designed to

describe how objects talk to each other.

  • State chart diagram , which shows how and

why an object changes over time in response to

the environment