CSSE 371 Software Requirements Engineering Steve Chenoweth Sec

  • Slides: 34
Download presentation
CSSE 371– Software Requirements Engineering Steve Chenoweth (Sec 01 & 02) & Chandan Rupakheti

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 o Name o Major o An interesting thing you did over the summer

Introductions o Name o Major o An interesting thing you did over the summer 2

Who’s Steve, anyway? o Steve Chenoweth – name’s from Cornwall, England o Grew up

Who’s Steve, anyway? o Steve Chenoweth – name’s from Cornwall, England o Grew up close by here - Indy o Went to Butler U, majored in math o Did what you’re going to do, for a living o Got an MBA and a Ph. D in CS, while working o Summer before last – 3

Last summer – Catapult o o This team wrote a math help program. A

Last summer – Catapult o o This team wrote a math help program. A “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! 4

Course Overview o Materials on AFS site - http: //www. rosehulman. edu/class/csse 371/ n

Course Overview o Materials on AFS site - http: //www. rosehulman. edu/class/csse 371/ n n n Syllabus Schedule Power. Point “Lectures” o Turn-ins go in Moodle drop boxes n n Combined sections 01 and 02 on Moodle Start with a “CSSE 371 Student Entry Survey” – take by Fri 5 PM o Project – big, shared o Guest Speakers – expecting some alums o Attitude for this class – ? More on each topic… 5

Do you need to know this stuff? o Here’s the first “Software Engineering” job

Do you need to know this stuff? o 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 selfimprovement. 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. 6

Syllabus - General Themes o o o How do we interact with clients to

Syllabus - General Themes o o o 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) o How do we work together on coordinated teams? o How do we position a product in its domain? o How do we start building prototypes and the system? Project and Discussion versus Lecture 7

Syllabus - General Info o General info on assignments – See the syllabus! n

Syllabus - General Info o General info on assignments – See the syllabus! n E. g. , The goals for Project Milestones 1 – 5 o Books – 371 – You will need to read these regulary! n n 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 o Office Hours n Check the schedule by my office door – F-220 8

Schedule - How the class sessions will go each week… o MTR – Class

Schedule - How the class sessions will go each week… o MTR – Class Discussion n Objective is to use class time to try to apply what you read o Will include working with your team o Will include applying new skills to the project n n 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 o F – Project Client Interactions n Fridays – check the class schedule – a few additional things o 5 th hour class meets 10 th hour, here, instead! 9

Course Components o Project n n n This is the most important part of

Course Components o Project n n n This is the most important part of the learning experience 5 Milestones (Typically due on Friday) 50% of the grade o Exams n n 20% of the grade Two “mid-terms” in weeks 4 & 8 (No Finals) o Assignments (Homework) n n n 9 (Typically Due on Tuesday or Friday) A few Case Studies (Typically on Friday, Monday) 20% of the grade o Class Interaction/Pre-class Quizzes/In-Class Activities n 10% 10

The Project It’s the big deal for this course – Elicit and manage requirements

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!

Possible life cycle – This is a standard cartoon… 12

Possible life cycle – This is a standard cartoon… 12

Ok, that was funny – How to avoid that… o We work really hard

Ok, that was funny – How to avoid that… o We work really hard to communicate with customers. o We try lots of ways to do that. n n n Like interacting personally Like observing in addition to asking Like understanding their culture Like use cases Like pictures Like prototypes o We write down what they said. n And send it to them to verify. n We find similarly good ways to translate it for our own team. o We keep checking back with them. 13

Junior Project Sequence – The real life cycle for your project Fall Winter Spring

Junior Project Sequence – The real life cycle for your project Fall Winter Spring 371 372 (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 system Partly 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! 14

Project o o Real clients with real needs Simulate the real world Each project

Project o o Real clients with real needs Simulate the real world Each project is intended for real use at Rose Teams n n n 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 o Project Managers (the TA’s for this course) – some of: n n n Jeremy Tramm trammjn@rose-hulman. edu Sec 01 Projects Alexander White whiteaj@rose-hulman. edu Sec 02 Projects Adam Westerman westeras@rose-hulman. edu Sec 01 -02 HW & Q Steven Moyes moyessa@rose-hulman. edu Sec 03 -04 Michael Mc. Donald mcdonamp@rose-hulman. edu Sec 03 -04 15

Project Deliverables Deliverable Content Due Date – see schedule Milestone 1 Individual Engineering Journal

Project Deliverables Deliverable Content Due Date – see schedule Milestone 1 Individual Engineering Journal Turn in your list of “team rules” Current System Analysis Client Stakeholder Analysis Feature Listing Problem Statement Sept 27 Milestone 2 Individual Engineering Journal Oct 11 Use Cases Data Flow Diagram Milestone 3 Individual Engineering Journal Oct 22 (a Tuesday) Supplementary Specification Initial Design/Paper Prototype 16

Project Deliverables Deliverable Content Milestone 4 Individual Engineering Journal Due Date Nov 1 Change

Project Deliverables Deliverable Content Milestone 4 Individual Engineering Journal Due Date Nov 1 Change Control Plan Coding Standards Test Cases Milestone 5 Initial Interface Design Usability Report Final Interface Design System Prototype Domain Model System Sequence Diagrams Nov 12 (a Tuesday) Final Individual Engineering Journal Nov 15 Final Updated Versions of all milestones Client Comments Lessons Learnt And – We’ll do Team Member Evaluations twice! 17

Project Presentation – Week 10 o Client Presentation n An in-class presentation n Final

Project Presentation – Week 10 o Client Presentation n An in-class presentation n Final client meeting 18

Project - Team Activities o o Meet with client in person about once a

Project - Team Activities o o 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 n n Meet with them as necessary – possibly every week We’ll also rely on shared repositories o Use your project manager and instructors expertise. Plan ahead 19

Project – Suggested Team Roles o Secretary – Writes notes that are available to

Project – Suggested Team Roles o Secretary – Writes notes that are available to other teams o Contacts n n Project Manager Instructor Client Other teams – see last point here! o Tasks n n Assigner Monitor o Vertical integration of technical work: n n 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! 20

Project Manager (a TA assigned to your team) o Assist the team with process

Project Manager (a TA assigned to your team) o Assist the team with process o Supervisory role, like a real PM o Review teams artifacts n Typically a week before I grade them o Evaluate team’s performance n n n 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! o What’s your team meeting attendance policy? o How do you agree to treat each other? o What if people don’t get things done that they promised? 21

Project - Weekly Assessment Report o Due weekly to the PM and Primary Instructor

Project - Weekly Assessment Report o Due weekly to the PM and Primary Instructor n n PM – 12 hours before Meeting Instructor – Friday at the start of class(Hard Copy) o It records n n Weekly Status Tasks to be completed next week o High Level Summary o Who is responsible for them? n n 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 22

Project – Document Writing o Professionally written n n No slang, chat lingo …

Project – Document Writing o Professionally written n n No slang, chat lingo … Free of grammatical and spelling errors Well organized Thorough and complete o Must be submitted to Project Manager before final submission o Each team member must approve the submission. o Use the learning center I will be happy to review any portion of the document before final submission 23

Project - Milestone 1 – 5 Document content, in general o o o o

Project - Milestone 1 – 5 Document content, in general o o o o o 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 24

Feedback – Let’s do it in person! Practice being influential… We will also have

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! 25

Attitude for this class o You already know a lot about CS stuff n

Attitude for this class o You already know a lot about CS stuff n n o Software development is a business that people also love to do as a hobby, like photography. n n o Like coding and testing algorithms The technical half of the battle 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: n n n 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. ” 26

Attitude – In the software business you’re preparing for o o The best technical

Attitude – In the software business you’re preparing for o o 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: n They don’t think exactly like us; not o 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. o n o o o Your users could be world-wide. Consider any app in the i. Phone 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. Lots more comments in the notes! o 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: n Most such change is abrupt, with unpredictable results. n You will spur new winners and losers. They’ll know that. n 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. 27

Attitude – What are your learning preferences? 28

Attitude – What are your learning preferences? 28

Attitude – What are my learning preferences? 29

Attitude – What are my learning preferences? 29

Attitude – Where I come from o o In software requirements elicitation, watching and

Attitude – Where I come from o o 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! n People don’t expose deeper interests to an expert. o Experts will cut them off with, well, expertise. n People tell familiar folks whatever fits the shared vibes. o Not good info for new system building! People will talk more openly when taken off guard. n n o o 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! Lots more comments in the notes! 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 worldwide 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. 30

Attitude – What kind of career to expect! o At Rose, you get much

Attitude – What kind of career to expect! o At Rose, you get much more of the things Lockheed Martin wants – and most other employers of software engineers! n n n o 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: n n 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”) o 14% of you will end up as pure managers n 4% of you will end up as CEO’s or senior managers Wes Winham, 2007 CS grad, who was involved in startups even before he graduated, is Policy. Stat’s VP of Product Development. See their company website http: //www. policystat. com/policystatmanagement/. 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 IE 8. He has led teams ranging in size from two to 30 or more people. 31

Starting Points - Today o “My Colorful Portrait” – Do today, turn-in at end

Starting Points - Today o “My Colorful Portrait” – Do today, turn-in at end of class or tomorrow when you walk into class o We will give yours back on Monday of week 10! o What is your class’s project? o Sec 01 – RHIT Registration System o Matt Boutell and David Mutchler, CSSE, clients o Sec 02 – RHIT Course Catalogue Semantic Wiki o Christina Selby, Math, client 32

Starting Points – Coming up o “CSSE 371 Student Entry Survey” – take by

Starting Points – Coming up o “CSSE 371 Student Entry Survey” – take by Fri 5 PM o It’s on Moodle o Forming teams – n n Partly this will be based on skills matching Team and role may change over the term o Tomorrow – “Meetings, bloody meetings!” n n n No pre-discussion for this case study It’s a video we’ll watch in class Post-discussion – see Notes, below. o Get ready for Monday n n n Chandan will be in class for me Read Ch 1 – 4 in the Requirements book! Do the “daily quiz” before class! 33

More Questions? ? ? 34

More Questions? ? ? 34