34
CSSE 371– Software Requirements Engineering Steve Chenoweth (Sec 01 & 02) & Chandan Rupakheti (Sec 03 & 04) RHIT Lecture slides for Week 0, Day 1, V 11.2

CSSE 371– Software Requirements Engineering

Embed Size (px)

DESCRIPTION

CSSE 371– Software Requirements Engineering. Steve Chenoweth (Sec 01 & 02) & Chandan Rupakheti (Sec 03 & 04) RHIT. Lecture slides for Week 0, Day 1, V 11.2. Introductions. Name Major An interesting thing you did over the summer. Who’s Steve, anyway?. - PowerPoint PPT Presentation

Citation preview

CSSE 371– Software Requirements Engineering

Steve Chenoweth (Sec 01 & 02)

& Chandan Rupakheti (Sec 03 & 04)

RHIT

Lecture slides for Week 0, Day 1, V 11.2

2

Introductions

Name Major An interesting thing you did over the summer

3

Who’s Steve, anyway?

Steve Chenoweth – name’s from Cornwall, England Grew up close by here - Indy Went to Butler U,

majored in math Did what you’re

going to do, for a living

Got an MBA and a PhD in CS,while working

Summer before last –

4

Last summer – Catapult

This team wrote a math help program.

A “green green field” program – they also decided requirements!

End result solved real geometry problems.

On the way to their OO design, They invented a combination of storyboards and user stories!

5

Course Overview

Materials on AFS site - http://www.rose-hulman.edu/class/csse/csse371/ Syllabus Schedule PowerPoint “Lectures”

Turn-ins go in Moodle drop boxes Combined sections 01 and 02 on Moodle Start with a “CSSE371 Student Entry Survey” – take by Fri 5 PM

Project – big, shared Guest Speakers – expecting some alums Attitude for this class – ?

More on each topic…

6

Do you need to know this stuff?

Here’s the first “Software Engineering” job listed 8/25/2013 on monster.com. It’s with Lockheed Martin, and it’s typical:

Basic qualifications for this position will include a BS degree in Computer Science (BSCS), Computer Information Systems, Math, Physics, or related technical field and 9 years of career experience. Expert Java coding knowledge and experience is required. Strong SQL experience is required. The engineer must be able to write effective software code for sustained periods of time. Experience with the software development life cycle: requirements, design, code & unit test, integration and sustainment is required. The successful candidate will have a desire for continuous learning and self-improvement. Proficiency with mastering and applying new skills is required. The ability to work effectively with teammates and leadership is required. Strong collaboration skills are required.

7

Syllabus - General Themes

How do we interact with clients to obtain requirements? How do we use the requirements to design the software? How do we use the requirements to verify client needs? How do we use the requirements to design the interaction? How do we plan, monitor and control a project? (Mostly

372) How do we work together on coordinated teams? How do we position a product in its domain? How do we start building prototypes and the system?

Project and Discussion versus Lecture

8

Syllabus - General Info

General info on assignments – See the syllabus! E.g., The goals for Project Milestones 1 – 5

Books – 371 – You will need to read these regulary! Managing Software Requirements: A Use Case Approach, Second

Edition, by Dean Leffingwell and Don Widrig Interaction Design: beyond human-computer interaction, Third

Edition, by Jennifer Preece, Yvonne Rogers and Helen Sharp

Office Hours Check the schedule by my office door – F-220

9

Schedule - How the class sessions will go each week…

MTR – Class Discussion Objective is to use class time to try to apply what you read

Will include working with your team Will include applying new skills to the project

You read ahead of time and turn in or bring to class a daily quiz, filled-out – your choice

Quiz questions can come directly from reading assignments Notes are in the slides, which also point to quiz questions We’ll start each day with questions on the reading / quiz

F – Project Client Interactions Fridays – check the class schedule – a few additional things

5th hour class meets 10th hour, here, instead!

10

Course Components

Project This is the most important part of the learning experience 5 Milestones (Typically due on Friday) 50% of the grade

Exams 20% of the grade Two “mid-terms” in weeks 4 & 8 (No Finals)

Assignments (Homework) 9 (Typically Due on Tuesday or Friday) A few Case Studies (Typically on Friday, Monday) 20% of the grade

Class Interaction/Pre-class Quizzes/In-Class Activities 10%

The Project

It’s the big deal for this course –

Elicit and manage requirements for a real project with a real client!

It is a large project with 5 collaborating teams of 4-5 students each.

We expect the project to be at least two years long!

12

Possible life cycle – This is a standard cartoon…

13

Ok, that was funny – How to avoid that…

We work really hard to communicate with customers. We try lots of ways to do that.

Like interacting personally Like observing in addition to asking Like understanding their culture Like use cases Like pictures Like prototypes

We write down what they said. And send it to them to verify. We find similarly good ways to translate it for our own team.

We keep checking back with them.

14

Junior Project Sequence – The real life cycle for your project

Fall Winter Spring

371372 (SE Only)

374 375 (SE Only)

Initiate project & system.Do an initial system, which might be just a throwaway prototype that “real” users can test.

Design systemPartly implement it, enough that a “real” version can be used by “real” users.

Finish implementing at least this year’s part of the system, and deliver it.Leave a “continuation point” for next year.

We’ll have occasional “advisories” from the CSSE senior projects, too!

15

Project

Real clients with real needs Simulate the real world Each project is intended for real use at Rose Teams

Each team will have 4-5 students. Management assigned, but you pick your own roles. Teams will document so as to assist collaboration with other teams

Project Managers (the TA’s for this course) – some of: Jeremy Tramm [email protected] Sec 01 Projects Alexander White [email protected] Sec 02 Projects Adam Westerman [email protected] Sec 01-02 HW & Q Steven Moyes [email protected] Sec 03-04 Michael McDonald [email protected] Sec 03-04

16

Project Deliverables

Deliverable Content Due Date – see schedule

Milestone 1 Individual Engineering JournalTurn in your list of “team rules” Current System AnalysisClient Stakeholder AnalysisFeature ListingProblem Statement

Sept 27

Milestone 2 Individual Engineering Journal Use CasesData Flow Diagram

Oct 11

Milestone 3 Individual Engineering Journal Supplementary SpecificationInitial Design/Paper Prototype

Oct 22 (a Tuesday)

17

Project Deliverables

Deliverable Content Due Date

Milestone 4 Individual Engineering Journal

Change Control PlanCoding StandardsTest Cases

Nov 1

Milestone 5 Initial Interface DesignUsability ReportFinal Interface DesignSystem PrototypeDomain ModelSystem Sequence Diagrams

Nov 12 (a Tuesday)

Final Individual Engineering Journal

Final Updated Versions of all milestonesClient CommentsLessons Learnt

Nov 15

And – We’ll do Team Member Evaluations twice!

18

Project Presentation – Week 10

Client Presentation An in-class presentation Final client meeting

19

Project - Team Activities

Meet with client in person about once a week (Fridays) Meet with project manager once a week (you arrange) Meet on teams regularly – multiple times a week Plan – you are relying on other teams, and they on you

Meet with them as necessary – possibly every week We’ll also rely on shared repositories

Use your project manager and instructors expertise.

Plan ahead

20

Project – Suggested Team Roles

Secretary – Writes notes that are available to other teams Contacts

Project Manager Instructor Client Other teams – see last point here!

Tasks Assigner Monitor

Vertical integration of technical work: A “back end” (database) person on each team Two “front end” (GUI) people on each team One or two “application” people on each team Each sub-team is responsible for coordinating with other teams!

21

Project Manager (a TA assigned to your team)

Assist the team with process Supervisory role, like a real PM Review teams artifacts

Typically a week before I grade them

Evaluate team’s performance Sends me info on team performance and dynamics Can recommend that a team member be fired That’s based on your “team rules” – which you need to agree on!

What’s your team meeting attendance policy? How do you agree to treat each other? What if people don’t get things done that they promised?

22

Project - Weekly Assessment Report

Due weekly to the PM and Primary Instructor PM – 12 hours before Meeting Instructor – Friday at the start of class(Hard Copy)

It records Weekly Status Tasks to be completed next week

High Level Summary Who is responsible for them?

Tasks completed last week(same as above) Key issues and problems(include a mitigation strategy) Weekly Metrics(hours of work estimated, actual and variance from

previous weeks and total to date) Starting in Week 5, we’ll track “risks” for each team in this report

23

Project – Document Writing

Professionally written No slang, chat lingo … Free of grammatical and spelling errors Well organized Thorough and complete

Must be submitted to Project Manager before final submission

Each team member must approve the submission. Use the learning center

I will be happy to review any portion of the document before final submission

24

Project - Milestone 1 – 5 Document content, in general

Signed Title Page Table of Contents Executive Summary Introduction Milestone specific content References Appendix Index Glossary

There is a Rubric you can see, for each Milestone

Submissions will be a docx or pdf on Moodle

25

Feedback – Let’s do it in person!Practice being influential…

We will also have a mid-term plus/delta, and end-of-term course evals!

26

Attitude for this class

You already know a lot about CS stuff Like coding and testing algorithms The technical half of the battle

Software development is a business that people also love to do as a hobby, like photography. The business requires a different attitude It takes a team, working together, to produce

something people want They need your individual strengths and your

cooperation – both! And, you need to develop an awareness of

what’s going on around you…

You will be yielding power to others: Teammates Your client Your users

Above - “Double Truck” Andreas Feininger, Life magazine’s most famous photographer: “First I did it for myself. Then I did it for my friends. Finally, I did it for the money.”

27

Attitude – In the software business you’re preparing for

The best technical contributors at Bell Labs have been their effective communicators.

Your clients who pay you will all be from different organizations in curious domains of endeavor: They don’t think exactly like us; not

even like each other. You’ll need to work hard to overcome

your differences and natural biases, so as to really get what they mean.

Your users could be world-wide. Consider any app in the iPhone store. Who’ll click “Buy” next?

All these people will have unique personal values and quirks, to top it off.

Microsoft “hires for technical skill and promotes for social skill.” They’re big on diversity and inclusiveness.

Your teammates and collaborators will be from different cultures and subcultures. Their subtle signs that “the code is now ok” aren’t the same as yours.

How you look or where you’re from have nothing to do with how well you can contribute on a software team.

You, the software writer, are a social change agent: Most such change is abrupt, with

unpredictable results. You will spur new winners and losers.

They’ll know that. Be open – You need to practice trying to

anticipate!Right - Here’s your next client now – Bashar Dahabra from the UAE. He needs an app for football reporting and an app for prayer timing. The data has to read right-to-left in Arabic.

Lots more comments in the notes!

28

Attitude – What are your learning preferences?

29

Attitude – What are my learning preferences?

30

Attitude – Where I come from

In software requirements elicitation, watching and listening are half the work.

The other half is stimulating things worth listening to. To cause that, you are better off not being the

expected expert, nor even being expected at all! People don’t expose deeper interests to an expert.

Experts will cut them off with, well, expertise. People tell familiar folks whatever fits the shared vibes.

Not good info for new system building!

People will talk more openly when taken off guard. The subconscious bubbles-up while they figure you out. People will try a different angle on a fresh face. They will have new ideas in an uncommon setting. They will have amazing thoughts when amazed.

Strangers could be magic – who knows? Sometimes even finger puppets do it!

My well-known propensity is to appear disparately every day, giving you a new target to adjust to as we interact. It’s perfect practice for your lifetime of world-wide project realizations. What I pick for this always has some studied significance, which I’m happy to explain. Here, the scarab pendant is for Carl Jung’s famous therapy anecdote; he used the astonishing arrival of a beetle to jolt a stuck patient out of her existing frame of reference.

Lots more comments in the notes!

31

Attitude – What kind of career to expect!

At Rose, you get much more of the things Lockheed Martin wants – and most other employers of software engineers! Rich teamwork experiences Knowing the whole software lifecycle Requirements and software design principles –

even for CS majors!

Based on my review of all CSSE alums this summer: 90% of you will have careers “in the business” Over 1/3 of you will end up in positions of

leadership (including titles like “software architect” and “lead designer”) 14% of you will end up as pure managers

4% of you will end up as CEO’s or senior managers

Jack Mayo, a 1992 CS grad, is group program manager for Microsoft's Windows division. He has contributed to every major release of Microsoft's Windows operating system, since Windows 2000 and including IE8. He has led teams ranging in size ranging in size from two to 30 or more people.

Wes Winham, 2007 CS grad, who was involved in startups even before he graduated, is PolicyStat’s VP of Product Development. See their company website http://www.policystat.com/policystat-management/.

32

Starting Points - Today

“My Colorful Portrait” – Do today, turn-in at end of class or tomorrow when you walk into class We will give you yours back on Monday of week 10!

What is your class’s project? Sec 01 – RHIT Registration System

Matt Boutell and David Mutchler, CSSE, clients

Sec 02 – RHIT Course Catalogue Semantic Wiki Christina Selby, Math, client

33

Starting Points – Coming up

“CSSE371 Student Entry Survey” – take by Fri 5 PM It’s on Moodle

Forming teams – Partly this will be based on skills matching Team and role may change over the term

Tomorrow – “Meetings, bloody meetings!” No pre-discussion for this case study It’s a video we’ll watch in class Post-discussion – see Notes, below.

Get ready for Monday Chandan will be in class for me Read Ch 1 – 4 in the Requirements book! Do the “daily quiz” before class!

34

More Questions???