Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Chapter 2 – Software Processes
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Software Engineering Introduction and Overview RA402 jcmtCSE1320 Intermediate Programming Essence and Accident Inherent Difficulties –Complexity –Conformity.
Introduction to Software Engineering Lecture 4 André van der Hoek.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Chapter 1 The Systems Development Environment
Slide 2.1 ©Center for Research in Electronic Commerce, Xiamen University, 2004 Object-Oriented and Classical Software Engineering Fifth Edition, McGraw-Hill,
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
Introduction to Software Engineering Dr. Basem Alkazemi
Slide 2.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
Software Lifecycle Software Lifecycle Basics Lifecycle Models Methods and Tools.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Introduction to Software Testing
Software Life Cycle Model
Chapter 3 Software Processes.
Chapter 9 – Software Evolution and Maintenance
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Continuation From Chapter From Chapter 1
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Instructor: Peter Clarke
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Software Requirements Engineering CSE 305 Lecture-2.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
CS451 - Lecture 3 1 CS451 Lecture 3: Software Lifecycle and Product Yugi Lee STB #555 (816) * Acknowledgement:
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
CSE 303 – Software Design and Architecture LECTURE 4.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Software Engineering. Lesson 2 Explain what is a software life cycle model. Identify the different software life cycle models. – Classical Waterfall Model.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CSE 303 – Software Design and Architecture
Software Engineering. Acknowledgement Charles Moen Sharon White Bun Yue.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Software Development Life Cycle (SDLC)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Making the System Operational Implementation & Deployment
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
 System Requirement Specification and System Planning.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Chapter 2 Object-Oriented Paradigm Overview
Chapter3:Software Processes
V-Shaped SDLC Model Lecture-6.
Software life cycle models
Making the System Operational Implementation & Deployment
CS101 Introduction to Computing Lecture 20 SW Development Methodology
Chapter 8 Software Evolution.
Software Development Chapter 1.
Presented by KARRI GOVINDA RAO ,
Presentation transcript:

Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces, design constraints and information structure that can be allocated to each of the generic system elements available. Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview The Phases in Life Cycle of a Software Product? Dr.Ghossoon M. Waleed SaIina M. Lab 2: Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview Essence and Accident Inherent Difficulties –Complexity –Conformity –Changeability –Invisibility Essence –difficulties inherent in the nature of software Accidents –difficulties encountered but not inherent Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview Software Engineering Processes attempt to maximize QUALITY in the form of: 1.Reliability 2.Portability 3.Efficiency 4.Human Engineering 5.Testability 6.Understandability 7.Modifiability Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview Software Engineering Processes Why? Issues concerning software quality Relative costs of fixing faults Price performance factors Product size increase leads to larger teams Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview What are the phases in The Life Cycle of a software product? 1.Requirements 2.Specifications 3.Design 4.Implementation 5.Integration 6.Maintenance 7.Retirement Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview 1.Requirements Phase “What I need, not what I said I needed” What does the problem require in terms of the solution? Written document Customer driven Requirements testing –Rapid prototype –Mock-up –Partial system Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview

2. Specifications Phase What the developer wants to know: What does the product do? What are the constraints on the product? Acceptance criteria Frequent problems with a spec: –ambiguous –incomplete –contradictory Specifications testing –SQA –reviews Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview 3. Design Phase How does the product do what it is supposed to do? Analysis of the problem –Structured analysis : decomposing problem by how data is manipulated (acted upon) –Object-oriented analysis: decomposing problem by how data is represented Developer must make design decisions about: –algorithms –data representations –I/O interfaces –data flow –modules Design testing –traceability Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview

4. Implementation Phase Initial CS courses have to focus on this element first Code Documentation Tests Implementation testing –desk checking –test cases –reviews Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview 5. Integration Phase Putting it all together Composition order Integration testing –interfaces Testing –does it meet the specs? –product testing by SQA –acceptance testing by customer Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview

6. Maintenance Phase In the user’s hands Maintenance testing –changes –regression testing Retirement –cost-effective? Why? –operation –documentation –turnover Kinds of maintenance –Corrective –Adaptive –Perfective –Preventive Systems Engineering Issues Life Cycle of a software product?

Software Engineering Introduction and Overview

7. Specification principles Separate functionality from implementation –A process-oriented systems spec language is required –A spec must encompass the system of which the SW is a component –A spec must encompass the environment in which the system operates –A system spec must be a cognitive model –A spec must be operational –The spec must be tolerant of incompleteness and augmentable –A spec must be localized and loosely coupled Systems Engineering Issues Life Cycle of a software product?