Introduction to Software Engineering: Overview and Methodologies



Similar documents
Introduction to Software Engineering: Project Management ( Highlights )

Project Management in Software: Origin of Agile

Software Requirements and Specification

Agile Development Overview

Agile Scrum Workshop

Testing in Agile methodologies easier or more difficult?

Software Development Methodologies

Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Agile Metrics. It s Not All That Complicated

Agile Project Management A Primer. Brian Stewart AVU ACEP Nairobi 17 th 2013

Development. Lecture 3

software studio software development processes Daniel Jackson

Hamid Faridani March 2011

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Agile and Secure: Can We Be Both?

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Methodologies XP and Scrum

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

LEAN AGILE POCKET GUIDE

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

The Agile Movement An introduction to agile software development

Scrum In 10 Slides. Inspect & Adapt

RISK MANAGMENT ON AN AGILE PROJECT

Agile Software Engineering Practice to Improve Project Success

Agile Project Management with Scrum

Role of Agile Methodology in Software Development

How To Understand The Limitations Of An Agile Software Development

Agile Software Development

CSE 435 Software Engineering. Sept 16, 2015

Software Life Cycles and Configuration Management

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Agile Projects 7. Agile Project Management 21

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

Software Development Process

Comparative Analysis of Different Agile Methodologies

Software Development with Agile Methods

Waterfall to Agile. Colin Kelley CTO & Cofounder Invoca, Inc. colin@invoca.com. UCSB CS 189a January 13, 2015

Introduction to Agile and Scrum

Extreme Programming, an agile software development process

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Course Title: Planning and Managing Agile Projects

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Scrum. in five minutes

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development. Mohsen Afsharchi

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Issues in Internet Design and Development

How To Model In An Agile World

Agile Software Development compliant to Safety Standards?

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

When is Agile the Best Project Management Method? Lana Tylka

Introduction to Agile Software Development

Agile So6ware Development

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Software Engineering I (02161)

Software Development Life Cycle Models - Process Models. Week 2, Session 1

History of Agile Methods

Certified Scrum Master Workshop

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Akhil Kumar 1, Bindu Goel 2

The traditional project management uses conventional methods in software project management process.

serena.com An Introduction to Agile Software Development

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Agile Processes and Methodologies: A Conceptual Study

Agile Project Management By Mark C. Layton

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Capstone Agile Model (CAM)

An Iterative and Agile Process Model for Teaching Software Engineering

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Surveying and evaluating tools for managing processes for software intensive systems

Extreme Programming, an agile software development process

Models of Software Development

Development Testing for Agile Environments

PMI Agile Certified Practitioner (PMI ACP) Boot Camp Course AG05; 4 Days, Instructor-led

System development lifecycle waterfall model

Agile in Financial Services A Framework in Focus

Agile Project Management

Agile Methodologies and Its Processes

Waterfall vs. Agile Project Management

Agile in a Safety Critical world

The Agile Project Manager

Agile Risk Management

IT4304 Rapid Software Development (Optional)

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Agile and Enterprise Architecture

Transcription:

Introduction to Software Engineering: Overview and Methodologies John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit, Object Oriented Software Engineering 3e, Ch 1, 14 16, and other sources. What is Software Engineering? Large software development projects, requiring teams of developers working together, and often spanning long time frames. Borrows paradigms and ideas from other large engineering projects, such as highway construction, airplane manufacturing, skyscrapers, nuclear power plants, etc. 2 1

What are the major activities in SE? See tables 15 2 to 15 6 for detailed lists of the activities included in each process. 3 The Classic Waterfall Model 4 2

The V model shows the relationships between planning and testing 5 An activity diagram shows the relationship between actions and products. ( 1 of 2 ) 6 3

An activity diagram shows the relationship between actions and products. ( 2 of 2 ) 7 Boehm s Spiral Model was one of the first iterative approaches 8 4

The Unified Process is also an iterative approach. 9 Workflow activity levels fluctuate in the Unified Process phases. 10 5

Agile development methods take a somewhat different approach. Embracing change, rather than fearing it. Development in small increments, without pre planning the entire project. Incremental functionality delivered as the project proceeds. Rapid ( high quality ) development methods. More suitable for small teams working on shorter term projects. 11 The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contract negotiation Responding to change over Following a plan That is, while there is value in the items on the right, we value the items on the left more. [1] 1. Beck, Kent; et al. (2001). "Manifesto for Agile Software Development". Agile Alliance. 12 6

The Rugby method moves forward in a series of sprints ( scrums. ) 13 Methods Used in the Rugby Approach 14 7

The Planning Poker Estimation Method Team members are given cards with numbers on them, e.g. 1, 2, 3, 5, 8, 13, 20, 50, 100. After discussion of a task, each team member selects a card, and they are all shown at once. The highest and lowest estimators explain their hireasoning, and the process repeats until a consensus is reached. 15 Rugby monitors progress with burndown charts ( or burnup. ) 16 8

XP is best known for Pair Programming 17 Rotating Roles Assign each team member a role, such as organizer, lead programmer, scribe, etc. Pair off programmers and assign tasks. Every two weeks reassign roles and redistribute programmers to new pairs and new tasks. Result is cross training and shared responsibilities. 18 9

A Closer Look at Project Management 19 A Closer Look at Pre Development 20 10

A Closer Look at Development 21 A Closer Look at Post Development 22 11

A Closer Look at Integral Processes 23 Project Initiation in CS 440 Description Who? What? Where? Why? When? h? How Much? Scenarios Once upon A time... Scenario Diagram 24 12

Requirements Phase in CS 440 Requirements Use Cases Use Case Diagram Functional Requirements Entry Flow 1 2 3 4 Exit F1 + F1 F2 F3 Checklists Non Functional Requirements N1 F1 N2 N3 + Snow Cards 25 System Design Phase in CS 440 26 13

Object Design Phase in CS 440 Object Design Class Name [ + # ~ ] attributes : types [ + # ~ ] methods( arguments : types ) : type + Constraints ( OCL ) 27 Implementation Plus in CS 440 28 14

Testing and Inspection in CS 440 Testing and Inspection Conducted from day 1 to end. Test Plans Test Inputs Oracles Automated Procedures Inspection Checklists Test & Inspection Reports 29 References Bruegge & DuToit Inside front cover Chapters 1, 14 16 Especially Sections 14.4, 14.5, 15.2, 15.4, 16.4 JTB Diagrams 30 15