1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room.

Slides:



Advertisements
Similar presentations
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Advertisements

Ch 3 System Development Environment
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Stepan Potiyenko ISS Sr.SW Developer.
Chapter 6: Design of Expert Systems
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Fundamentals of Information Systems, Second Edition
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CIS 321—IS Analysis & Design
Guide to the Software Engineering Body of Knowledge Chapter 1 - Introduction.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
CLEANROOM SOFTWARE ENGINEERING.
Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
Software System Engineering: A tutorial
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
The Program Development Cycle
L2-S1Modeling 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Lecture 3 Software Engineering Models (Cont.)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
February 20, 2012  Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department,
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Software Design Process
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Software Engineering 1A/1B/1C/1M School of Computer and Information Science, University of South Australia Week 1, Lecture 2, Page 1 Software Engineering.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
SYSE 802 John D. McGregor Module 0 Session 3 Systems Engineering QuickView.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Advanced Software Engineering Dr. Cheng
Lecture 0 Software Engineering Course Introduction
Object-Oriented Analysis & Design
Software Engineering Management
Chapter 6: Design of Expert Systems
Component-Based & Software Reuse
Software Engineering Management
Object-Oriented Systems Development Life Cycle (CH-3)
Introduction To software engineering
Advanced Object-Oriented Analysis & Design
Software Systems Engineering
Presentation transcript:

1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room #2022 College of Computer and Information Sciences (CCISs) King Saud University P.O. Box Riyadh

L1-S2Introduction 1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling 2 Lesson 1: Introduction

L1-S3Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling Lesson Objectives 3 Discuss the following terms: Standards Methodology/paradigm/process Models Methods processes Discuss the essential properties of a process Explore Process Models

L1-S4Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling Standards imply regulations, guidelines, rules, laws, and so on. Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A). A standard alone is not sufficient on getting a task completed. Why? 4 Standards [Fayad-Laitinen 1998]

L1-S5Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling Because standards focus on the attributes of the results instead of how the results will be achieved A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards) Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs) 5 Standards [Fayad-Laitinen 1998]

L1-S6Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling A methodology is “a science of method or orderly arrangement” Webster. A methodology is used to refer to the very highest level of the way we do things. A methodology also refers to “a system of methods, as in particular science” The methodology we will consider here cover only the development of software applications. 6 Methodology [Fayad-Laitinen 1998]

L1-S7Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements. Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90]. Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92]. Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics. 7 Methods or Techniques

L1-S8Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling Software engineering methods can be divided into three major categories: 1. Process-Oriented Methods [Yourdon89] 2. Data-Oriented Methods [Martin90] 3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..] 8 Methods or Techniques

L1-S9Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 9 POM vs. OOM

L1-S10Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 10 Method Provides Foundation for Software Engineering

L1-S11Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 11 The Myth of the Single Software Development Method

L1-S12Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 12 How Many OO Methods Exist? UML

L1-S13Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 13 Engineering Process Hierarchy Engineering ComputerElectronics SoftwareHardware SASDOOT UML Scientific Area Standards Methodologies (Macrodevelopment Processes) Techniques (Methods) (Minidevelopment Processes) Processes (Microdevelopment Processes OMT Identify Classes Identify Attributes

L1-S14Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 14 Processes are Important for a new OO Teams New methods and tools introduce confusion Processes define exactly who, what, when, and how –“big-picture”

L1-S15Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 15 Method vs. Process Processes take OO methods out of the classroom and put them to work Theoretical Ideas Predictions Practical Concrete Actions Metrics

L1-S16Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling Software engineering life cycles or phased software development models, such as –Waterfall model –Prototyping –Spiral Model –Automatic Programming –Reuse Models –Incremental Model –Fountain Model –XP Model –Software Stability Model 16 Software Engineering

L1-S17Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 17 Waterfall Model Requirements Analysis Design Coding Requirements Specifications Testing

L1-S18Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 18 Prototyping Requirements Specifications Requirements Analysis Coding Demonstration Design Coding Testing Maintenance Design Prototype Coding DesignCode Test Maintenance Requirements Build Prototype Document Requirements Test Prototype

L1-S19Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 19 Spiral Model

L1-S20Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling. A UTOMATIC P ROGRAMMING Requirements Analysis Formal Specifications Automatically Generated Code 20

L1-S21Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling. R EUSABLE M ODULES Decompose Application Domain Specify Module Requirements Module Design Module Code Module Test Application Requirements Configure Reusable Modules Customize Reusable Modules Integrate Modules Testing OTI-93F

L1-S22Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling. I NCREMENTAL M ODEL Product Design Verification Increment 3 Increment 2 Operations and Maintenance Revalidation Detailed Design Verification Code Unit Test Integration Product Verification Implementation System Test Increment 1 Detailed Design Verification Code Unit Test Integration Detailed Design Verification Code System Feasibility Validation Software Plans & Reqmts Validation 22

L1-S23Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling. Coding Design Software Requirements Specification Requirements Analysis System Testing Coding Module Specification Maintenance Further Development Module Design Real-World Systems Real-World Entity [Henderson-Sellers90] Program Use Maintenance Further Development Acceptance into Library F OUNTAIN M ODEL 23

L1-S24Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling What are the differences between requirement analysis and software design? What are the requirement analysis and software design? 24 Analysis & Design

L1-S25Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling 25 Analysis & Design Fuzzy line Problem space Analysis One problem The “What” Solution space Design Many solutions The “How”

L1-S26Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling List all the major process activities in the lifecycle phases: Requirement analysis, software design, software construction, software testing, software maintenance List all major activities in software project management: Software planning, Staffing, Controlling and tracking the project, etc. T/F –Software processes should be fixed. –Software process should be measurable. –Software process specifies the why and ignore the how. Define: –Automatic Programming and Fountain Model 26 Discussion Questions

L1-S27Introduction 1/3/2016  Fayad KSU – SWE Process and Modeling The manager’s roles and responsibilities in software process Measure process rather than people The top five excuses for no process documentation Process assessment Process improvement models The trouble with process assessment How to use processes as a baseline for improvement Software process hierarchy How to document process Recommendations for documenting processes 27 Questions for the Next Lecture