How To Design Software



Similar documents
Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Object Oriented Design

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

Object-Oriented Analysis & Design

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Object Oriented Analysis and Design and Software Development Process Phases

Software Development: An Introduction

Generating Aspect Code from UML Models

Design and UML Class Diagrams

11 November

Object-oriented design methodologies

Menouer Boubekeur, Gregory Provan

Designing Real-Time and Embedded Systems with the COMET/UML method

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Syllabus M.C.A. Object Oriented Modeling and Design usung UML

A UML Introduction Tutorial

Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development

I219 Software Design Methodology

UML Tutorial: Part 1 -- Class Diagrams.

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Object oriented design process

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

3C05: Unified Software Development Process

Programming Language Constructs as Basis for Software Architectures

Button, Button, Whose got the Button?

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Chapter 8 The Enhanced Entity- Relationship (EER) Model

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Object-Oriented Systems Analysis and Design

Software Architecture Document

Object-Oriented Design Guidelines

Business Modeling with UML

Server-Side Scripting and Web Development. By Susan L. Miertschin

Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding

Glossary of Object Oriented Terms

Systems Analysis and Design

OOP? What is OOP? Why? OOP in a nutshell. Stéphane Ducasse 2.1

Object-Oriented Data Modeling

Electronic Healthcare Design and Development

Information systems modelling UML and service description languages

II. Conceptual Modeling

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

From Object Oriented Conceptual Modeling to Automated Programming in Java

Java (12 Weeks) Introduction to Java Programming Language

How To Understand The Software Development Lifecycle

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Layered Approach to Development of OO War Game Models Using DEVS Framework

Masters of Science in Software & Information Systems

5 Process Modeling using UML

Monfort College of Business Semester Course Syllabus ( )

The Essence of Software Engineering: Applying the SEMAT Kernel. Scott Ambler interviews Ivar Jacobson

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Agenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism

XXI. Object-Oriented Database Design

Chapter 1 Fundamentals of Java Programming

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example

CSC 742 Database Management Systems

Adapted for a textbook by Blaha M. and Rumbaugh J. Object Oriented Modeling and Design Pearson Prentice Hall, 2005.

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Chapter 1 The Systems Development Environment

(BA122) Software Engineer s Workshop (SEW)

First-Class Relationships for Object-Orientated Programming Languages

UML FOR OBJECTIVE-C. Excel Software

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

An Approach towards Automation of Requirements Analysis

Object-Oriented Analysis and Design

Object Oriented Software Models

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

3D Animation of Java Program Execution for Teaching Object Oriented Concepts

UNIVERSITY OF SURREY. BSc Programmes in Computing. Level 1 Examination. CS183: Systems Analysis and Design. Time allowed: 2 hours Spring Semester 2006

Mapping from Business Processes to Requirements Specification

Structural Design Patterns Used in Data Structures Implementation

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Analysis and Design with UML

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

SYSTEMS ANALYSIS DESIGN

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

UML: Unified Modeling Language

Transcription:

The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies including object-oriented design and functional decomposition Design quality attributes Comparison of Schwan s and RUP Design Processes Session 5: Agenda Introduction to the Principles of Object Technology Object Oriented Design Object Technology and RUP Why Objects? Fundamental Ideas The world is composed of objects A person manipulates the object and the object does things. In object oriented analysis, design and programming we try to create software objects that model real-world objects. Principles of the O-O Paradigm Abstraction Generalizing an object to just its pertinent attributes and behaviors, Encapsulation Bundling the attributes (data) and behaviors (methods) within the object. The methods form a protective barrier around the data. Principles of the O-O Paradigm Polymorphism Allowing the same behavior to be exhibited differently by different classes or subclasses Inheritance Attributes and behaviors may be established in a general class and used to create more specific subclasses that have all the attributes and behaviors of the superclass 1

Encapsulation Inheritance & Polymorphism Employee Salaried Salary Hourly Wage Object A structure containing data, and a set of functions that manipulate that data Method A function for manipulating the data in an object Class A description of the methods and data structures of an object. A template for building and communicating with an object. Instance A specific, concrete member of a class. An instance has actual data assigned to the object Subclass A child class that inherits methods and data from its parents. Superclass A parent class that provides methods and data to child classes derived from it. Object-Oriented Requirements Object-Oriented Design begins in the requirements phase. Requirements identify the objects themselves Scan a description of the problem or system and associate an object with each noun in the description Classify and group those objects that have common attributes and behaviors Identify the relationships between objects 2

Guidelines for Identifying Classes Guidelines for Identifying Behaviors What needs to be processed in some way? What items have multiple attributes? When do you have more than one object in a class? What is based on the requirements themselves, not derived from your understanding of the requirements? What attributes and operations are always applicable to a class or object? Imperative verbs Passive verbs Actions Things or reminded events Roles Operating procedures Services provided by an organization Dynamic View of Requirements The descriptions of the attributes, behaviors of the objects and their relationships give a static view of the system Use Case diagrams can give a dynamic view of the system by describing the communication, control/timing and state changes in the objects The Unified Modeling Language (UML) Mechanism for describing Object- Oriented solutions Developed by Grady Booch, Ivar Jacobson and James Rumbaugh Used in the Rational Unified Process UML in the Development Process Class Box Diagram 3

Inheritance Relationship Other Relationships Aggregation and Composition Royal Service Station System Figure 6.17 p. 279 Royal Service Station System Class Description Template Refuel Class p. 278 4

Class name: refuel Category: service External documents: Export control: Public Cardinality: n Hierarchy: Superclasses: services Associations: fuel in association <name> Operation name: Public member of: refuel Documentation: // Calculates fuel final Preconditions: gallons > 0 Object diagram: (unspecified) Semantics: final_ = gallons * Object diagram: (unspecified) Concurrency: sequential Public interface: Operations: Private interface: Attributes: gallons Implementation: Attributes: gallons State machine: no Concurrency: sequential Persistence: transient State Diagrams Activity Diagrams Questions? 5