Software Systems Engineering

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
Software Project Management
CSC 480 Software Engineering
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Left overs. Agenda 9. Sept Leftovers PM –Methodologies –Models in system development XPM Project Group establishment (45 min) Introduction to requirement.
L3-5c-S1 Object Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
L16-S1 Object Diagrams 2003 SJSU -- CmpE Software Patterns 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.
 Fayad SJSU – CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L21-S1 Model-Based Arch SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
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.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
 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,
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
CLEANROOM SOFTWARE ENGINEERING.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
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.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Project Life Cycles.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Advanced Software Engineering Dr. Cheng
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Lecture 0 Software Engineering Course Introduction
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Software Engineering Management
Chapter 6: Design of Expert Systems
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Patterns Dr. M.E. Fayad, Professor
Methodologies For Systems Analysis.
Component-Based & Software Reuse
Software System Engineering
Chapter 2 Software Processes
Object-Oriented Analysis & Design
Software Engineering Management
Object-Oriented Systems Development Life Cycle (CH-3)
Introduction To software engineering
Software System Engineering
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Software System Engineering
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Presentation transcript:

Software Systems Engineering 5/9/2019 Software Systems Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad, m.fayad@sjsu.edu 5/9/2019 1998-05 Fayad SJSU -- CmpE

Lecture 1: Introduction 2 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

3 Lesson Objectives Discuss the following terms: Standards Methodology/paradigm/process Models Methods processes Discuss the essential properties of a process Explore Process Models 3 5/9/2019 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Standards 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 [Fayad-Laitinen 1998] 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Standards 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 [Fayad-Laitinen 1998] 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Methodology 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 [Fayad-Laitinen 1998] 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Methods or Techniques 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 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Methods or Techniques 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 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

POM vs. OOM 9 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Method Provides Foundation for Software Engineering 10 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

The Myth of the Single Software Development Method 11 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

How Many OO Methods Exist? UML 12 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Engineering Process Hierarchy Scientific Area Standards Methodologies (Macrodevelopment Processes) Techniques (Methods) (Minidevelopment Processes) Processes (Microdevelopment Processes Computer Electronics Hardware Software SASD OOT UML OMT 13 Identify Classes Identify Attributes 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Processes are Important for a new OO Teams New methods and tools introduce confusion Processes define exactly who, what, when, and how “big-picture” 14 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Processes take OO methods out of the classroom and put them to work Method vs. Process Processes take OO methods out of the classroom and put them to work Theoretical Ideas Predictions Practical Concrete Actions Metrics 15 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Software Engineering 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 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

17 Waterfall Model Waterfall Model Requirements Analysis Design Coding Specifications Testing 17 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

18 Prototyping Requirements Specifications Requirements Analysis Coding Demonstration Design Testing Maintenance Prototype Code Test Build Document 18 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

19 Spiral Model [Boehm 87] SJSU -- CmpE M.E. Fayad Commitment Partition Cumulative Cost Progress Through Steps Determine Objectives, Alternatives, Constraints Review Risk Analysis Prototype 2 Prototype 3 Anal. Pt 1 Operational Prototype Simulations, Models, Benchmarks Concept of Operation Software Requirements Validation Product Design Design Validation and Verification Detailed Code Unit Test Acceptance Imple- mentation Develop, Verify Next-level Plan Next Phases Integration and Test Plan Development Plan Requirements Plan Life-Cycle Plan Evaluate Alternatives, Identify, Resolve Risks Integra- tion and Test [Boehm 87] 19 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

AUTOMATIC PROGRAMMING 5/9/2019 AUTOMATIC PROGRAMMING . Requirements Analysis Formal Specifications Automatically Generated Code Developed by Dr. Goldberg and charged the Government 2 millions dollors to deliver a prototype. Nothing has been delivered. This methodology has a major flaw in it. + You can not generate code from a specification (even with using a formal approaches) + What hapend to the design phase? 20 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

21 REUSABLE MODULES Decompose Application Domain Specify Module 5/9/2019 REUSABLE MODULES Decompose Application Domain Specify Module Requirements Module Design Module Code Module Test Application Configure Reusable Modules Customize Reusable Integrate Modules Testing . Reusable model fits very will with the OO Framework and we are going to show that in the later sections Describe the model. Talk about customization, Scaleability, and Tailorability. 21 OTI-93F-0014 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

5/9/2019 INCREMENTAL MODEL Product Design Verification Increment 3 Increment 2 Operations and Maintenance Revalidation Detailed Code Unit Test Integration Implementation System Test Increment 1 System Feasibility Validation Software Plans & Reqmts . “Analyze a little, design a little, and code a little” someone said that who? 22 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

23 FOUNTAIN MODEL Further Acceptance Development into Library Program 5/9/2019 . FOUNTAIN MODEL Further Maintenance Development Acceptance into Library Program Use System Further Maintenance Testing Development Testing Coding Coding Design Full development Method: Each activity start from the requirements analysis. Reusable Model: Each activity start from the model specification. So what do you mean Module Software Design Requirements Specification 23 Requirements Module Analysis Specification [Henderson-Sellers90] Real-World Systems Real-World Entity 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Analysis & Design What are the differences between requirement analysis and software design? What are the requirement analysis and software design? 24 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

25 Analysis & Design Problem space Analysis One problem The “What” Fuzzy line Solution space Design Many solutions The “How” 25 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Discussion Questions 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 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad

Questions for the Next Lecture 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 5/9/2019 1998-05 Fayad SJSU -- CmpE M.E. Fayad