Software Engineering Fall 2014

Similar documents
Software Engineering Fall 2014

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering Fall 2014

CS 5704: Software Engineering

The Systems Development Lifecycle

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

An Overview of Software Process

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Introduction to Software Engineering: Project Management ( Highlights )

Software Engineering (CSC 4350/6350) Rao Casturi

[Name] [ ID] [Contact Number]

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/08/2015

04. Agile Development

Requirements Engineering and Software Architecture Project Description

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Processes and Life- Cycles. Kristian Sandahl

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

Chapter 3 Agile Software Development

Agile Software Development:

Processes and Life- Cycles. Kristian Sandahl

Lecture 8 Agile Software Development

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Requirements Engineering and Software Architecture Project Description

CS314 Software Engineering Project Management

Agile Development Processes. CSCE Lecture 3-08/31/2017

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

Chapter 14 Current trends in system development

Requirements Engineering. Andreas Zeller Saarland University

Software Design COSC 4353/6353 D R. R A J S I N G H

Businesses now operate in rapidly changing environment.

REQUIREMENTS ENGINEERING

Software Engineering Fall 2014

Quality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan

Software Architecture and Engineering Requirements Elicitation Peter Müller

Agile Essentials Track: Business Services

Chapter 4 Requirements Elicitation

Requirements Engineering

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

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

Requirements Analysis. Overview

The Software Life Cycle

Software Architecture and Engineering Requirements Elicitation Peter Müller

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Requirements Elicitation

Requirements engineering

Number: DI-IPSC-81427B Approval Date:

Number: DI-IPSC-81427B Approval Date:

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Agile Projects 7. Agile Project Management 21

Software Engineering Chap.3 - Agile Software Development

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

CS 320 Introduction to Software Engineering Spring February 01, 2017

Tuesday, October 25. Announcements

Chapter 3 Agile Software Development. Part 1b

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process

Software Engineering Lecture 5 Agile Software Development

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Software Engineering

Agile Software Development

Software Lifecycle Activities

Child Welfare Services New System Project. Requirements Management Plan

Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur.

Software Life Cycle. Main Topics. Introduction

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Agile Methodology. Tech Focus. Agile Methodology: Characteristics. Techspace Home Tech Focus Case Study Trend Watch Thought Post

Agile Software Development. Lecture 4: Let s Wrap up Agile Fundamentals

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

Requirements Engineering and SCRUM. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 13, 2007

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

FIT2101 Software Engineering Process and Management

Implementing Agile SW Development Processes in a Healthcare IT Organization Approach and Lessons Learned

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

Model for conflict resolution in aspects within Aspect Oriented Requirement engineering

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Chapter 8 : Informatics Practices. Software engineering- Process activities and Agile methods. Class XII ( As per CBSE Board) New Syllabus

What is Software Engineering?

Chapter 4 Document Driven Approach for Agile Methodology

Software Development Life Cycle:

It is not just programming. Cartoon source:

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Experiential Education for Agile Software Engineering

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of

Requirements elicitation: Finding the Voice of the Customer

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

Requirements Engineering

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

Agile Software Development in a Regulated Environment. Natalie Custer

Agile In Practice. Benjamin Booth Spring 2009

Explore Comparative Analysis Software Development Life Cycle Models

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 1: Introduction!

October 16-17, Omni Shoreham 2500 Calvert Street NW Embassy Conference Room Washington, DC 20008

This document is copyrighted, the distribution of this document is punishable by law.

Using Agile Software Development to Create an Operational Testing Tool

Software Quality Engineering Courses Offered by The Westfall Team

Chapter. Redesigning The Organization With Information Systems

WELCOME TO INTRO TO AGILE PROJECT MANAGEMENT AUBREY KAIGLER, PMP, ITIL. Please configure your audio: Meeting Audio Setup Wizard

Transcription:

Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 09/17/2014

What is next Deliverable? Due: 09/19/2014 1. Problem Statement with Shall statements 2. RTM (4 columns ID#, Paragraph#, Description of the requirement, Type, Category 3. Project Timeline (Gantt Chart with Tasks and allocation up to now) 4. Terminology 5. Rational for the project and the requirements Presentations : Each Group Present their project to the Class Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 2

Recap -Requirement Elicitation Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 3

Recap Requirement Elicitation Understanding the System Requirement Elicitation has 2 phases Requirement Specifications (Functional and Non Functional Requirements) Natural Language Focused around the communication with the client & user community Analysis Model (Dynamic, Analysis Object Model) More of formal or semi formal object models Communication between Developers and technical teams Concepts: (5) Functional (Need to have) Non-Functional (Not directly related to the System) Realism, Tractability, Verifiability Complete, Unambiguous From scratch, reengineering, just interface Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 4

Recap - Requirement Elicitation - Goal Goal of this activity is to capture all the Shall statement sentences from the requirement documents as project requirements as a tabular form End of this activity the Requirements Trace Matrix is a deliverable Why is this activity important? Scope Creep Foundation for next phases (Use Cases, Categories, Classes, Methods) Cost & Time lines of project Future development (Incremental) Issues Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 5

Recap - Requirement Elicitation Activities: Main Theme in this phase Identify the Actors Identify Scenarios Identify Use Case Refine the Use Cases Identify the Relations Terminology documentation Identify Non-Functional Requirements RAD (Requirement Analysis Document) Work product Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 6

Recap RTM (Requirements Traceability Matrix) First set of Shall identified with an unique line entry Req. Entry Number Paragraph Number Requirement sentence Type Category Pre-agreed Types/Categories Software Requirement (SW) Hardware Requirement (HW) Derived Requirement (DR) Nice to have Requirement (NTH) Software Constraint (SWC) Functional (F) Non Functional (NF) Only One per project Requirements Traceability Matrix Some Definitions Shall statement is a conceptual requirement for the complete system development Requirements Trace Matrix (RTM) an organized list of system requirements gathered during the initial phase from the system specification or requirement documents. Derived Requirements where the Shall can t be seen but can still be a requirement for the overall project or system Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 7

Class Work Problem to create RTM Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 8

Student Registration System (SRS) RC University Management Board approved a new Student Registration System to enable the on line course requirement for the Computer Science Department. The implementation of the new system is proposed to be in place by 2015 Spring. The new system is called SRS. What is expected by the SRS: The Student Registration System (SRS) shall include the ability for any accepted student to view his or her classes for a given semester. The SRS shall permit any active student to add new classes or modify existing classes. The SRS shall give the users to view the student records. The SRS will be able to print the records if needed. The SRS shall give the ability for the administrator to modify the student records for the given semester. The SRS shall log the history. The Course coordinator or department assigned person can view the student educational progress reports. SRS shall provide the functionality to pay the student dues. SRS will be used to capture student grades on the specific classes taken by the student The SRS will run on any standard browser with standard user authentication. SRS will not accept any payments directly but directed to a third party vendor to accept the payments by credit cards only. The data will be updated on SRS from the payment system by end of every day 8:00 pm. Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 9

Different Flavors of Software Development Methodologies Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 10

Software Development Methodologies Water fall (Traditional) Agile XP Scrum Release/Support Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 11

Agile Methodology Goal : Release the working solution to end users Fast Pace Incremental approach of Software Specification, Development and Delivery Suited for projects where requirements change rapidly during the development process Cut down on Process Bureaucracy and Documentation which may not be used by the end user Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 12

Agile Philosophy Idea Description of the Idea Client Involvement Clients should be closely involved throughout the development process. Clients are there to prioritize any new requirements and to evaluate released iterations. Incremental Product Delivery Software is developed and released in a small chucks with the a clear direction from the Client People over Process People strength is played all the time. Give the individual opportunity to show the skill to be used in the specific iteration Change is inevitable Expect the change and be flexible to incorporate the change Simplicity Think big but make it small to manage Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 13

Which one is a better pick? (Agile or Planned) 1. Do we need a detailed specification documents before moving to design and implementation? 2. Can your client carve out sufficient time for review and feedback? 3. Size of the system? Large? 4. Location of the team? 5. What type of system? Real Time? 6. System Life? 7. Top down organization structure? 8. What is your team skill set? 9. Any outside regulations? Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 14

XP Extreme Programing User Stories (Scenarios) Break down to Small Tasks Plan a Release Release feedback and evaluation Release the Software Product Develop / Integrate and Test the software product Same concept of Agile Incremental but done at extreme pace 1 day! Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 15

XP Characteristics Idea Description of the Idea Pair Programming Developers work in pairs Code Check Refactoring Continuous improvements to code Collective ownership No single owner for the knowledge No separate QA Test Case Development First develop unit test cases before code can be developed Big on TESTING and PAIR Programming Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 16

Agile Project Management - SCRUM Assess Select Outline Planning and Architectural Design Review Develop Close the project Sprint Cycle 3 Phases Sprint Cycle is usually 2 to 4 weeks Scrum Master Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 17

Questions? Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 18

References Use Cases Combined with BOOCH, OMT UML Process and Products - Putnam P Texel, Charles B Williams Object-Oriented Software Engineering Using UML Patterns, and JAVA -Bernd Bruegge & Allen H. Dutoit Software Engineering 9th Edition - Ian Sommerville Software Engineering - Fall 2014 CSC4350/6350 - Rao Casturi 19