PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
CS487 Software Engineering Omar Aldawud
 2004 by SEC Chapter 2 Software Development Process Models.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© Copyright Eliyahu Brutman Programming Techniques Course.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 7: The Object-Oriented Approach to Requirements
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 2 The process Process, Methods, and Tools
IT Systems Analysis & Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Identify steps for understanding and solving the
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Unified Modeling Language, Version 2.0
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Approaching a Problem Where do we start? How do we proceed?
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Software Development Life Cycle (SDLC)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
UML - Development Process 1 Software Development Process Using UML.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Chapter – 1. The UML Approach USECASE DRIVEN ARCHITECTURE CENTRIC ITERATIVE & INCREMENTAL.
Basic Characteristics of Object-Oriented Systems
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Chapter 2 Object-Oriented Paradigm Overview
Methodologies and Algorithms
Systems Analysis and Design With UML 2
Software Processes (a)
THE BOOCH METHODOLOGY.
IT Systems Analysis & Design
Software Processes.
Introduction to Software Engineering
Chapter 2 Software Processes
Presentation transcript:

PROC-1 1. Software Development Process

PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based Development –Components for implementation –Interfaces for interconnection

PROC-3 Activities in System Development Requirements Testing Analysis Design Implementation System

PROC-4 Versions of a Project Full requirements are not given at start Full requirements are not known Full development may take several years StartVersion 1Version 2Version 3... Requirements Testing AnalysisDesign Implementation System

PROC-5 Incremental Development Reasons: Requirements are not very clear Requirement changes in the mean time Feedback will help “steer” the project Feedback helps new requirements Each stage adds new functionality Stage nStage 3Stage 2Stage 1... Release Time Save Add / Remove spokes wheel

PROC-6 Prototyping Illustrates the working of system Focuses on properties requiring insight Allows experimentation “Seeing it” promotes opinion & clarification Can play with it to understand system dynamics Not a product - just a demo Rapid Prototyping : quick functioning model Build it - See it - Dump it

PROC-7 Reuse Put together set of available components to develop system Components are finest level of granularity for reuse Components: Units that provide some functionality Powerful and useful Well defined interfaces Simple to find, understand & use Wide application Can be used to build other components Flexible to change Alteration must be to single component / module Cost effective

PROC-8 Methodology Tools Process Method Architecture

PROC-9 Architecture, Method, Process & Tool Architecture: Types of model that can be built and characteristic of each model What makes the components? Method: Sequence of Steps to realize the goal Based on the underlying architecture Simplifies development for a given architecture

PROC-10 Architecture, Method, Process & Tool Process: Scaling up of the Method Industrialization of a Method Activities for the entire lifetime of a product Must be specialized into other processes Tools: Computer - aided Systems Engineering (CASE) Provides automation for documentation Effective to communicate Easy to flow from one activity to another Improves productivity

PROC-11 Development Approach Waterfall Method Spiral Method Incremental and Iterative Development Need a Mature Repeatable Development Process

PROC-12 Waterfall Method Requirements Analysis Design Implementation &Testing Integration Maintenance

PROC-13 Fountain Method Requirements Specification Analysis Design Implementation &Testing Integration Maintenance

PROC-14 Spiral Method Analysis Requirements Specification Integration Design Implementation & Unit Testing

PROC-15 Iterative and Incremental Life Cycle Neither top-down nor bottom-up Successive Refinement of the OO Architecture –Apply Experience & Results to next iteration Booch’s Approach: Micro Development Process (Spiral) Macro Development Process (Waterfall)

PROC-16 Micro Development Process Represents Daily Activity of Developers Identify Classes and Objects Identify Class and Object Relationships Specify Class and Object Interfaces and Implementation Identify Class and Object Semantics

PROC-17 Macro Development Process Controlling Framework for Micro Process Helps Assess Risk and Make Early Corrections Activities on the Scale of Weeks to Months Conceptualization Analysis Design Evolution Maintenance

PROC-18 Function / data Methods Treat Functions & data as being separate Structured Analysis and Design Technique Functions : Active, describes behavior Data : Passive holder of information Function Data...

PROC-19 Function / data Methods : Problems Difficult to maintain Hard to handle different data format –spilled with Switch-CASE statements Poor readability Change to data structure results in change to several functions Unstable - small modifications result in major changes

PROC-20 Object - Oriented Development Functions and data highly integrated More understandable More flexible to modifications Stable - modifications are localized

PROC-21 Object - Oriented Analysis Activities: –Finding the objects –Organizing the objects –Describing object interaction –Defining operations on the objects –Defining the object’s internals Obtain understanding of system based on functional requirements Considers functional requirements & data as integrated objects

PROC-22 OOA Activities Finding the Objects –Nouns in problem statement –Easy to find objects difficult to know what is relevant –Find essential objects Organizing the Objects –Exploring similarity between classes of objects –Organizing Classes into hierarchy Inheritance Whole / part Association

PROC-23 OOA Activities continued Object Interaction –Scenarios or use cases provide insight - which objects work together –Helps to define Object interface Operations on Objects –Simple primitive operations based on the interface –Avoid creating complex objects Object Implementation / Internals –Information to be held, alternate ways of storing –Number of instances of the object –Attributes may be inherited

PROC-24 OO Design & Implementation Analysis model Designed & Implemented Take care of restrictive demands memory, response time, etc. Traceability of Objects Create & use Components

PROC-25 Object - Oriented Testing Integration is not very painful Help broadening unit testing to larger units Integration testing comes in earlier stages Inheritance poses a bit of challenge in testing

PROC-26 The Unified Process Use-case Driven Architecture Centric Iterative and Incremental

PROC-27 Use-Case Driven Remember the User?! –What does the user want and need from the system Use-case –interaction by the user and the system’s response –captures functional requirements Use-case Model –All use-cases make up complete functional model What does the system do for each user? What do you do with it?

PROC-28 Use-case Model Use-case Model Drives the development process Developers Create design & implementation model Check models for conformance Testers Test to ensure use case implementation