COMP 354 Introduction to Software Engineering

Similar documents
System and Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Software Engineering COMP 201

Software Development Software Development Activities

CSE 435 Software Engineering. Sept 14, 2015

Software Engineering

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

CHP 1: AN OVERVIEW OF IT PROJECT MANAGEMENT

03. Perspective Process Models

What is Software Engineering?

Software Engineering COMP 201

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Assignment #2 IE 2303/AME 2303 Spring 2012 Introduction to Manufacturing. Example Answers

CS 501: Software Engineering. Lecture 2. Software Processes

Pertemuan 2. Software Engineering: The Process

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Lean Thinking Applied. Jim Caldwell

TOWARDS DEFINING SOFTWARE DEVELOPMENT PROCESSES IN DO-178B WITH OPENUP

Course Organization. Lecture 1/Part 1

Chapter 3 Prescriptive Process Models

What is ITIL 4. Contents

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Software Processes 1

Software Engineering

An Overview of Software Process

6. Models of the Design Process

Processes and Life- Cycles. Kristian Sandahl

Agile Software Development

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Chapter 2: Project Methodologies and Processes

SWE 211 Software Processes

Welcome to this IBM Rational podcast, The. Scaled Agile Framework in Agile Foundation for DevOps. I'm

Scaling Up & Scaling Down

Chapter 8. Systems Development. Ralph M. Stair George W. Reynolds

IEEE s Recommended Practice for Architectural Description

Collaborative Development of Systems Architecting Design Rules

WHITE PAPER APPLICATION SERVICES. Continuous User Experience Engineering NOVEMBER NTT DATA, Inc. All rights reserved.

Processes and Life- Cycles. Kristian Sandahl

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

Agile for Aerospace. Andrew Buter, Curt Stienstra, Steven H. VanderLeest GLSEC Embedded Systems Engineering

Software Engineering II - Exercise

Waterfall model is the earliest SDLC approach that was used for software development.

CSE320 :: Gurbakash Phonsa: Assistant Professor : CSE. Software Engineering

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Harnessing the power of agile development

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

Software Development Methodologies

A Survey of Agile Methodology over Cloud Computing

Watson Internet of Things. Agile Development Why requirements matter

Maureen Weverka & Kathy Burnham Mutual of Omaha. November 9, Mutual of Omaha Insurance Company. All Rights Reserved.

The software process

Note 10: Software Process

MBA BADM559 Enterprise IT Governance 12/15/2008. Enterprise Architecture is a holistic view of an enterprise s processes, information and

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

Software Project Management Sixth Edition. Chapter Software process quality

Boost your back-end performance with low-risk implementation of high-value solutions.

TickITplus Implementation Note

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Design for Hybrid Agile Adoption

Learning Approach. Evaluation. Text Book. - Written Test : 20% - Assignment/Project : 30%

WHAT HAS AGILE DONE FOR TESTING?

COMP 6481 Fall 2006 System Requirement Specifications

CASCON 2007 Workshop Report Traceability in Software Engineering - Past, Present and Future

Scaling Scrum with Feature Teams

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Nigel Beacham Department of Computing Science L4 REQUIREMENTS DURING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN)

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Chapter 1 Systems Development in an Organization Context

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

Ingegneria del Software Corso di Laurea in Informatica per il Management

Quality Assurance for Systems Engineering (INSE 6280/2-WW)

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

Agile versus? Architecture

SOFTWARE PRODUCT LINES: A RESEARCH INFRASTRUCTURE. John D. McGregor Clemson University

Agile Mindset (1/17/2019 for the Ocean State PMI)

Types of Process Methodologies

Rational Software White Paper TP 174

Course 2 October, 10, Adrian Iftene

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

ESUG Prague. Scrum in Practice. the art of the Wizard. Rowan Bunning Wizard Information Services

Software Process. Overview

TSP SM Plays the ACE: Using Architecture-Centric Engineering on a TSP Project

Agile Projects 7. Agile Project Management 21

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Introduction to Agile/Extreme Programming

VIEW POINT. Delivering large IT programs Choosing the right implementation approach. Abstract

Chapter 1 Introduction to the Computer-Based Information System

The Top Thrill Dragster

SDLC Models- A Survey

Achieving Agility and Stability in Large-Scale Software Development. Ipek Ozkaya Senior Researcher, Research, Technology, and System Solutions Program

Transcription:

COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course Web Site: http://users.encs.concordia.ca/ gregb/home/comp354-w2015.html

Introduction to Software Engineering Software engineering Area of computer science concerned with building large software systems Challenge Tremendous advances in hardware have not been accompanied by comparable advances in software

Introduction to Software Engineering What is Software Engineering? The process of solving customers problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints. Solving customers problems This is the goal of software engineering Sometimes the solution is to buy, not build Adding unnecessary features does not help solve the problem Software engineers must communicate effectively to identify and understand the problem

What is Software Engineering? Systematic development and evolution An engineering process involves applying well understood techniques in a organized and disciplined way Many well-accepted practices have been formally standardized Most development work is evolution Large, high quality software systems Software engineering techniques are needed because large systems cannot be completely understood by one person Teamwork and co-ordination are required The end-product that is produced must be of sufficient quality Cost, time and other constraints Finite resources The benefit must outweigh the cost Others are competing to do the job cheaper and faster Inaccurate estimates of cost and time have caused many project failures

Additional Software Quality Attributes

Stakeholders Customer solves problems at an acceptable cost in terms of money paid and resources used User easy to learn; efficient to use; helps get work done Developer easy to design; easy to maintain; easy to reuse its parts Development Manager sells more and pleases customers while costing less to develop and maintain

Software Processes A software process prescribes all major activities involved in building a software system Uses resources, within a set of constraints, to produce intermediate and final products May be composed of sub-processes Activities are organized in a sequence Has a set of guiding principles to explain goals

Software Development Stages Requirements Analysis & Specification Conceptual/System Design Detailed/Program Design Implementation/Coding Unit & Integration Testing System Testing System Delivery and Deployment Maintenance

Sequential vs. Iterative Development Process Sequential Development Development is organized into a sequence of development phases. The termination of one phase enables a subsequence phase. Iterative Development Development is organized into a series of short, fixed-length mini-projects called iterations; the outcome of each is a tested, integrated, and executable system. [Craig Larman, 2002]

Example of a Software Process: Waterfall Model

Example of a Software Process: The Unified Process

In SE, Change is constant Change... at a rapid pace This means you need to be an agile learner How rapidly have things evolved...?

Computing Predictions 1943 2010 Original quotes from LICS 2006 keynote speech of Dana Scott (Carnegie Mellon University) on The Future of Proof.

Predictions Thomas J. Watson (1943) I think there is a world market for maybe five computers. Popular Mechanics (1949) forecasting the relentless march of the machine Computers in the future may weigh no more than 1.5 tons. Prentice-Hall business editor (1957) I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won t last out the year. IBM engineer (1968) commenting on the microchip But what... is it good for?

Software Runs The Modern World Software touches almost every aspect of our modern world Often possible to combine other passions with SE Arts: dance, music,...; Astronomy Biology: bioinformatics (CU M$+ research) Communications... Surgery... Zoology Including applications you might never have imagined