1 CSSE 490 - Requirements Steve Chenoweth Department of Computer Science & Software Engineering RHIT Session 1 – Wed, June 6, 2007 Above – Sources of requirements.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
How to Document A Business Management System
Informatics 43 – April 16, Homework 1 What is the purpose and goal of each section in the document? Two audiences: non-technical users and technical.
1 CSSE 477: Swre Arch – This year’s course… Steve Chenoweth Tuesday, 11/8/11 Week 10, Day 2 Right – Sunset at the Louvre, in Paris From
8 September Announcements  GIT Class: Friday 3-5 SN 115 (Peter Parente)  Information for Project Links PageProject Links Page  Hot Topics Teams.
1 Software Maintenance and Evolution CSSE 575: Session 1, Part 1 Course Introduction Steve Chenoweth Office Phone: (812) Cell: (937)
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
Requirements Specification
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
1 Steve Chenoweth Tuesday, 10/18/11 Week 7, Day 2 Right – One view of the layers of ingredients to an enterprise security program. From
1 Course Intro Construction & Evolution CSSE 375 Steve Chenoweth.
CS 425/625 Software Engineering Software Requirements
1 Questions? CSSE Requirements Steve Chenoweth Department of Computer Science & Software Engineering RHIT Session 9 – Wed, Aug 8, 2007 Below – From.
Use Cases and Scenarios
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Kids Computer Club House
1 KAN’S INTRO AND OVERVIEW MODELS Ch1 & 2 in his book Steve Chenoweth, CSSE.
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
RUP Requirements RUP Artifacts and Deliverables
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Project Analysis Course ( ) Week 2 Activities.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
CompSci 230 Software Design and Construction
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Supplementary Specifications (Chapters 20,22 - Requirements Text) Question 1 by Steve & Chandan (Along with others in the past! - See notes, below)
CPSC 203 Introduction to Computers Tutorials 03 & 29 by Jie (Jeff) Gao.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
21 August Agenda  Introductions  Logistics  Selecting a project  Working with a client.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Requirements and Estimation Process From a CMM Level 5 Organization Alan Prosser.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
1 © 2005 course technology1 1 1 University Of Palestine Chapter 5 (Cont.) Scoping the IT Project with System Use Cases.
1 Planning – Agile Style Highsmith, Ch 7 All kinds of iterations! CSSE579 Session 3 Part 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
COMP 208/214/215/216 – Lecture 8 Demonstrations and Portfolios.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
Final Exam Review Session 14 LBSC 790 / INFM 718B Building the Human-Computer Interface.
1 CS161 Introduction to Computer Science Topic #9.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Sight Words.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Evaluating Requirements
The Vision Document & Product Management CSSE 371, Software Requirements and Specification Steve Chenoweth, Rose-Hulman Institute September 27, 2004 In.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
IMS 4212: Course Introduction 1 Dr. Lawrence West, Management Dept., University of Central Florida ISM 4212 Dr. Larry West
ECE361 Engineering Practice
Software Documentation
Scrum MODULE 3 – Part 3.
Lean Six Sigma Project Name: Project: Date: Intros Expecations
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Presentation transcript:

1 CSSE Requirements Steve Chenoweth Department of Computer Science & Software Engineering RHIT Session 1 – Wed, June 6, 2007 Above – Sources of requirements in the business I was in – Telecom. From

2 Today Course syllabus.Course syllabus Introductions & your objectives. Schedule and overview.Schedule Requirements (Req) situations and Req in software. The “Req problem.” Where Req are in the engineering lifecycle. Where the Req people fit on a team. Sample Req documents. Discuss possible projects, first 2 assignments. Discuss grading & assignments in general. Questions?

3 Course syllabus See link to course website syllabus.syllabus Grading & assignments yet to be determined! (Last thing today.)

4 Introductions & your objectives You -- Who / what you do / where / how requirements are involved / what you’d like to see in this course Me -- See website. In general –website –1974 – 2003 I worked on software projects, mostly for NCR and AT&T / Lucent. NCRAT&TLucent –Wrote lots of requirements, including problem statements, use cases, quality attribute specs, & similar modern stuff. –Reviewed requirements & architecture for about 50 telecom projects.

5 Schedule and overview Schedule -- See link to course website schedule. schedule Overview – –Achieve your objectives –Achieve course objectives –Be able to say you can do requirements for an engineering / IT project Questions?

6 Requirements (Req) situations and Req in software The situation questions are: –When do you have to do them? –How well do you have to do them? We’ll talk about software Req for various reasons…

7 Requirements (Req) situations When do you have to do them? –Someone outside makes you (e.g., for govt contracts, FDA, customer contract). –It really enables your development to be done right. Examples of “times” to do requirements: –Starting a new project. –Discovering you didn’t do them! Questions?

8 Requirements (Req) situations How well do you have to do them? At end of “R,” Leffingwell & Widrig give their view about how agile to be. It depends in part on team practices. What are developers expecting to develop from? The common trap is to fall into “incremental artifacts only.” Usually ends up being “not good enough.” In the course, we’ll take a middle ground approach, covering most of the new kinds of artifacts you may need to create. Questions?

9 How well? – What’s “Minimalist”? Let’s try XP (Extreme Programming*), to see what a minimalist Req approach is like. Here’s how requirements feed into the system with XP: –User Stories are done at the beginning for release planning: These are written by the customers as things that the system needs to do for them. They are similar to usage scenarios, except that they are not limited to describing a user interface. They are in the format of about three sentences of text written by the customer in the customers terminology without techno- syntax. User stories should only provide enough detail to make a reasonably low risk estimate of how long the story will take to implement. When the time comes to implement the story developers will go to the customer and receive a detailed description of the requirements face to face. –The customer is always available: Because details are left off the user stories the developers will need to talk with customers to get enough detail to complete a programming task. Projects of any significant size will require a full time commitment from the customer. The customer will also be needed to help with functional testing. The test data will need to be created and target results computed or verified. *See for example, which these descriptions are taken from.

10 An interesting exercise Here are 4 user stories to feed into development of a new product to be called the Mark IV Coffee Maker* : In this exercise, decide what order should these be done in by the development organization… *Taken from 1. Brew some coffee. When the brew button is pressed boil the water until empty. 2. Keep the coffee warm. When the pot has coffee in it turn on the warmer. When the coffeepot is removed turn off the warmer. 3. Indicator light. Turn on this light when coffee is done brewing. Turn off the light when coffeepot is picked up. 4. Interrupt brewing if the coffeepot is removed. Opening the relief valve will stop the water flow. If coffeepot is replaced, continue.

11 Oh, and it should look like this… And run faster than that one… And spill less. Huh? Image from javaqueen.us/coffeemaker.htm.javaqueen.us/coffeemaker.htm

12 How well? – What’s “Maximalist”? Often hundreds of pages of one liners sounding like, “The system shall…” E.g., See for example WIRE C&DH Flight Software Requirements Specification DRAFT.WIRE C&DH Flight Software Requirements Specification DRAFT – The flight software shall receive data in the form of CCSDS packets from the Software Bus, and shall transmit the data over the 1553B bus. – The flight software shall collect data from the 1553B remote terminals and shall transmit the data on the Software Bus in the form of CCSDS packets. – If necessary, the flight software shall use multiple 1553B transactions to collect or transmit a single CCSDS packet. They are organized into well defined sections, often according to “IEEE SRS” guidelines (Std ). *See for example, which these descriptions are taken from.

13 Req in software Req in software run the gamut from well- defined to a series of prototypes. Req can be especially hard in software -- –Software can do almost anything? –You never have to build the same thing twice? –It’s invisible (and builds on other things that are invisible)? Questions?

14 The “Req problem” Ch 1 & 2 in R Who’s giving the Req? Customers Product manager Suppliers Req are often a root cause of success & failure (thus your first assignment)first assignment Lots of Req errors – why? Questions?

15 The “Req problem” What are the key Req activities? Elicitation – from whom? Documentation – for whom? Management – watching for what? –(This is most of R) Tracing fwd from Req to development & product (e.g., in creating test cases) Tracing back to Req from development & product errors Questions?

16 Where Req are in the engineering lifecycle Ch 3 in R In software, most people use iterative or spiral prototyping. With Agile processes, writing down a full set of Req before committing to development decisions – not in the play book! Questions?

17 Where the Req people fit on a team Ch 4 in R Junior or senior, vs. regular engineers / developers? How many decisions they make on their own, vs. just recording or translating? What org they are part of? Questions?

18 Sample Req documents See link to course website handouts.handouts Questions?

19 Discuss possible projects, first 2 assignments What projects could you do, eliciting and managing a set of requirements? –Project description due next weekProject description What could you do as a short case history for next week?short case history Questions?

20 Discuss grading & assignments in general The sample syllabus lists the following types of assignments: 40%Project Work (details below) 14%Exam 1 14%Exam 2 ??%Homeworks (unknown, but 2% each) 10%Class Participation (including attendance) ??%Total – We’ll make it add up Want all those? (Time to pick!) Questions?

21 Discuss grading & assignments in general The Project Work suggests this grading: –20% Clients’ Evaluation –10% Peer Evaluations –50% All the Project Artifacts –20% Project Presentations Want all those? (Time to pick!) Questions?