Introduction to Software Engineering

Software Methodology

Please go to eCommons CS115 2012 Fall SW Meth for complete details.

CMPS 115

Software Methodology

Fall 2012 

Emphasizes the characteristics of well-engineered software systems. Topics include requirements analysis and specification, design, programming, verification and validation, maintenance, and project management. Practical and research methods are studied. Imparts an understanding of the steps used to effectively develop computer software.

 

 

Students with Disabilities
"If you qualify for classroom accommodations because of a disability, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me as soon as possible, preferably within the first week of the fall quarter. Contact DRC by phone at 831-459-2089 or by email at drc@ucsc.edu for more information."

Instructor: Linda Werner
Office:
Eng 2, 249
Office Hours:
Tues and Thurs 4-5pm and other days and time by appointment.
Class location, hours:
Nat Sci Annex rm103 10-11:45am
Preparation for first class:
read chap 1 of textbook
Textbook:
Object-Oriented Software Engineering by Stephen R. Schach, McGraw Hill, 8th edition, or McGraw Hill Create book - see Baytree bookstore for details.
Labs:
JBE 105 Each student is required to enroll in and attend a weekly lab (the same one of these scheduled labs each week). Also, we have the use of JBE 316 with dedicated persistent space for SCRUM boards and Burn Down Charts (yeah!) Please see Al McGuire in JBE 399C 1-3pm M-F for key card access info to JBE 316.
A:  Wednesdays, 11:00-noon
B:  Thursdays, 8-9:00pm
Email: linda@soe.ucsc.edu
Final:
Wednesday, Dec 12, 4:00-7:00pm. 

  TA's and office hours:

Tutors/Graders: Dominic Arcamone, Shashwat Kandadai, and David Laone
Email: darcamon@ucsc.edu
Email: skandada@ucsc.edu
Email: dlaone@ucsc.edu
office hours:  JBE 316
A:  Wednesdays, 11:00-noon
B:  Thursdays, 8-9:00pm
C: TBA

Writing tutor program: for drop-in help see http://www2.ucsc.edu/lss/tutorial_services.shtml

Team Project:

Students are required to collaborate in teams of 5-6 people to undertake a significant software engineering project. The software project is structured as a collection of documentation and code deliverables. This project requires a substantial amount of work, and demands good teamwork. See information in the course tools (titled Resources: FiringTeamMember.pdf) for appropriate team member behavior and consequences. You are required to complete one of the projects from the following list. The project system is required to run on the machines located in the class lab or on hardware approved by the instructor.

  • The textbook's term project - Chocoholics Anonymous - textbook page 627
  • A game or other system of your choice and approved by instructor
  • software system to assist in Alice research project
  • IDEASS project prototype
  • Psych system modification- see resources PsychExp.pdf for details
  • SCORE 2013 project (see http://score-contest.org/2013/CFP.php)

Here are links to information that will help you with the team aspect of your project:

  • Teamwork Guide written by Ed Parrish (former cmps115 student and TA. Currently he is a professor at Cabrillo College.
  • Groups That Work More on groups, with tips for how to identify and resolve group problems.

End-of-chapter suggested problems:
Look in the table that follows under the column heading "Reading/Homework DUE" for lists of problems.

Evaluation: Work in CMPS115 is divided into two main components.

  • Individual work (50%)
  • Team work (50%): the group deliverables for the team project.

The individual work component consists of the following parts:

  • Research paper assignments including class attendance,  participation, team status reports: 20%
  • Exams (based on end-of-chapter problems, project work, lectures): 24%
  • project reflection essay(6%).


A minimum of 50% on the two main components is necessary but not sufficient to pass this class. This means, if you receive less than 50% on any one of the two components, you will not pass. Just because you receive at least 50% on each part does not imply that you will necessarily pass. You cannot pass this class if you do not do the project. The project is designed to be done by people working together. The in-class quizzes and final exam are to be done by each student, working alone. Students may work together to complete the work required with the research papers, however, copying other students' work is not permitted. Any confirmed academic dishonesty including but not limited to copying another's homework, cheating on exams, and copying project work without giving credit to the author of the work products, will constitute a failure in that portion of this class and result in a no-pass or failing grade. Students are encouraged to read the campus policies regarding academic integrity.

Project Deliverables Project deliverables are due at stated date and time as indicated in syllabus. If written documents are required (ie. user manual) they are to be neat and clear, with proper English spelling and syntax throughout. All project program online instructions are required to be clearly written with proper English spelling and syntax.  All code and other documents (ie. user manual, weekly team status reports) need to be under control of a version control system (such as subversion). Additionally, a record of changes to these documents is required. This part of each deliverable is worth 10% and is called presentation in each grading sheet. Each of the grading sheets itemizes the points given for each part of that deliverable.

Homework: All homework (project milestones, research paper assignments (read-and-comment), suggested end-of-chapter problem sets, and textbook reading assignments) is listed in the syllabus. The due dates are given. To prepare a 'read-and-comment' assignment, you are required to read the listed paper. You are also required to submit approximately one half page of comments about what you have read. This needs to be a well-written document using correct English. Please see the writing tutors for help. These comments can be:

1. ideas you had about the topic before you read the paper and your impressions about this after finishing the paper, or

2. a question you had about the paper before you finished reading and the answer you found from the paper, or

3. a lingering question you have about the topic and explain why the paper doesn't address it.


You are NOT required to bring a copy of your 'read-and-comment' submission to class. Be prepared for pop quizzes based on the homework including the 'read-and-comment' papers. See the syllabus for details.

 

 

CMPS115 Syllabus

Date

Topic/Class Activity

Reading/HW DUE on this date

1: Sept 27

1. Lec1.ppt (45 min)

  • Scope of SW Eng
  • Scope of course and project
  • Iterative process management template: Scrum

2. communication- class exercise 1 (30 min)
5. IDEASS presentation James Barsimantov (15 min)

READ: Text chapter 1 (Scope) pop quizzes focus on bold faced terms in the textbook chapters and on scrum videos
WATCH: Agile in Practice: Frequent Small Releases 4 min
WATCH: Agile in Practice: Story Cards/User Stories 4 min
WATCH: Agile in Practice: Prioritisation using MoSCoW 4 min
BUY: pack of index cards for Planning Poker
OPTIONAL: textbook Scope chapter problems: 1, 2, 3, 6, 7, 8, 9, 11, 13, 15, 16
REGISTER: NOW for account with UCSC SOE GForge (for Subversion access). Critical that it is UCSC SOE version.

2: Oct 2

1. determine cross-function team members 10 min
2. finish Lec1.ppt
3. prepare presentation for next class 15 min
4. SW life-cycle models Ch1.ppt 1 hour
5. more scrum:
MoSCow
planning poker 4 min
6. start Lec2.ppt
7. discuss SCRUM paper 15 min

WATCH: Agile in Practice: Prioritisation using MoSCoW
READ: Text chapter 2 (Software life-cycle models - focus on iterate and increment)
OPTIONAL: textbook life-cycle models chapter problems: 2,3,5,6,7,8,9,10,11,12,13,14,15,16
READ-and-comment: Takeuchi, H., Nonaka, I. 1986. The New Product Development Game, Harvard Business Review, pp. 137-146, January-February. See 'Assignments' for details to access a copy of the paper. Submit to assignments.
DELIVERABLE: determine team members - one team member adds the project and other team members' names to project within GForge. Make sure to add tutors and Linda Werner to your projects.

Oct 3

 

DELIVERABLE: Team status report - email due 11:59pm

3: Oct 4


1. 10 minute initial team/project  see template for presentations for all groups using peer review for presentations 1 hour
2. more scrum:
burnup and burndown charts 15 min
3. discuss version control papers 15 min
4. team meeting

READ: Text chapter 3.1-3.11, skim 3.12-3.15 (The Software Process)
READ: text chapter 10/11 (Requirements) 10.1-10.18 paying particular attention to 10.12-10.18
OPTIONAL: textbook Software Process chapter problems: 1,2,3,4,5,6,7,8,10,11
OPTIONAL: textbook Requirements chapter problems: 1,2,5,8,10 (expand on material in box titled 'How to Perform the Requirements Workflow') , 11,12,17,19
READ-and-comment: one or both (for extra credit) of the following papers:

DELIVERABLE: Release plan - due 11:59pm - subversion
DELIVERABLE: initial presentation containing introduction to team members, release goal, user stories - due in class today (and at designated time with instructor in following week)
BEGIN: Sprint 1

4: Oct 9

1. Lec2.ppt
2. discuss revision control system papers
3. Quiz
4. UML


QUIZ 1 (scrum terminology)
FAMILIARIZE: UML 2.0 in a Nutshell, Dan Pilone, Neil Pitman, O'Reilly, 2005 (read online free via Safari Digital Library via UCSC library) Alternatively read text chapter 17 UML

Oct 10

 

DELIVERABLE: Sprint 1 plan - due 11:59pm
DELIVERABLE: Team status report - due 11:59pm
DELIVERABLE: updated sprint burndown chart and scrum board - due 11:59pm

5: Oct 11

1. more scrum
2. UML worksheet
3. Discuss Extreme Programming/CMM paper
4. Netflix project visit

REVIEW: UML text chapter 17, UML class diagrams and sequence diagrams used during analysis workflow - see handout in hanging box on wall outside my office (from pages 362-379 of version 2008 of textbook)
READ-and-comment: Extreme Programming from a CMM Perspective by M.C. Paulk

6: Oct 16


1.Discussion of eXtreme, scrum, CMM
2. UML
3. Design presentations

REREAD: Extreme Programming from a CMM Perspective by M.C. Paulk
READ: sections of textbook chapter 2 (Software life-cycle models) and 3 (The Software Process) (pay special attention to 2.5 (iteration and incrementation), 2.7(risks and other aspects of I/I), 2.8 (Managing I/I), 2.9.5 (Agile Processes), 2.10 (Comparison), 3.12 (Improving the Software Process), 3.13 (Capability Maturity Models)
REREAD: chapter 11 of 2008 edition of textbook - copy is in hanging box on wall outside my office (analysis workflow) pages 363-379
PRESENTATIONS: TBD

Oct 17

 

DELIVERABLE: team status report - due 11:59pm
NOTE CHANGE

7: Oct 18

1. more scrum
2. more design presentations
3. Teams and team exercise

READ: text Testing chapter 6.2 (non-execution based testing)
OPTIONAL: Testing text chapter 6 problems 1,4,5,6,15
PRESENTATIONS: TBD
DELIVERABLE: Sprint 1 Technical design document -due 11:59pm
READ: textbook chapter 4 (Teams)
OPTIONAL: Team chapter 4 problems: 1,2,3,4,5,6,7,8,9,10,11

Oct 19

 

DELIVERABLE: Sprint 1 report
DELIVERABLE: updated sprint burndown chart and scrum board - due 11:59pm
BEGIN: Sprint 2 - don't wait until 10/24

8: Oct 23

1.Software Inspections video

READ: text Testing chapter 6.2 (Non-Execution-Based Testing)
OPTIONAL: text Testing chapter 6 problems 1,4,5,6,15
 

Oct 24

 

DELIVERABLE: Sprint 2 plan - due 11:59pm
DELIVERABLE: updated release plan - due 11:59pm
DELIVERABLE: team status report - due 11:59pm
DELIVERABLE: updated sprint burndown chart and scrum board - due 11:59pm

9: Oct 25

1. test workflow
2. Loral Space Systems project visit
 

READ: text Testing chapter 6.1-6.7, skimming section 6.5 (Testing versus Correctness Proofs)
OPTIONAL: text Testing chapter 6 problems: 1,4,5,6,13,15,17 (17 for  your project)

10: Oct 30

1. implementation and test workflow cont. with testing worksheet for Implementation chapter 15.15
2. more SCRUM
burn-down and burn-up charts and
definition of done

READ: text chapter 15 (Implementation)
read: The goto considered harmful by Dijkstra
OPTIONAL: text Implementation chapter 15 problems: 1,6,7,8,11,12,13,15,16,21,22,23,24,25,26,27,28,31

 Oct 31

 

DELIVERABLE: team status report
DELIVERABLE: updated sprint burndown chart and scrum board

11: Nov 1

1. QUIZ
2. test workflow cont.

STUDY: for quiz 2 (software engineering process models, CMM,  testing, inspections, team structures, integration, and UML)
 

12: Nov 6

1. test workflow cont
2.  in-class inspection team - TBD

reREAD: text chapter 15 (Implementation)
OPTIONAL: text Implementation chapter 15 problems: 1,6,7,8,11,12,13,15,16,21,22,23,24,25,26,27,28,31

Nov 7

 

DELIVERABLE: Sprint 2 report
DELIVERABLE: team status report
BEGIN: Sprint 3

13: Nov 8

1. more test workflow

READ-and-comment: What is Software Testing? And Why is it So Hard? by J. Whittaker

Nov

 

DELIVERABLE: Sprint 3 plan - consider user documentation!!
DELIVERABLE: updated release plan

14: Nov 13

1. From modules to objects

READ: text  From Modules to Objects chapter 7.1-7.9 paying particular attention to 7.7 (Objects)
OPTIONAL: text  From Modules to Objects chapter 7 problems: 1,2,3,4,5,6,12,11,12

 Nov 14

 

DELIVERABLE: team status report
DELIVERABLE: updated sprint burndown chart and scrum board

15: Nov 15


1. more scrum:
2. Pair Programming

 
READ-and-comment: How Pair Programming Really Works by Stuart Wray
 

16: Nov 20

1. tools of the trade

READ: text chapter 5 (Tools of the trade)
OPTIONAL: text The Tools of the Trade chapter 5 problems: 7,8,9,10,12,13,14,15

 17:
Nov 27

 

DELIVERABLE: team status report
DELIVERABLE: updated sprint burndown chart and scrum board

 Nov 28

1. QUIZ
2. more scrum:
definition of done

STUDY: for quiz 3 (testing (from paper assignment reading), modules and objects (chapter 7 - coupling and cohesion),  implementation (chapter 15), integration (understand figure 15.8 - strengths and weaknesses of approaches), tools of the trade - chapter 5 - worksheet), pair programming in industry - from paper assignment reading))

18: Nov 29

1. peer review

PEER REVIEW: bring all user documentation to class. Please make it in hard copy format even if user documentation is only available online for your system. Each group brings TWO complete copies.

 19:
Dec 4

 NOTE DATE CHANGE
presentations and demonstration of projects
BE 105 or JBE 316

DELIVERABLE: team status report
DELIVERABLE: updated sprint burndown chart and scrum board
DELIVERABLE: Final project submission (acceptance test)
PRESENTATIONS: 10am, 10:30am, 11am, 11:30am

20: Dec 6

presentations and demonstration of projects
BE 105 or JBE 316

DELIVERABLE:  Final project submission (acceptance test)

PRESENTATIONS: 10am, 10:30am, 11am, 11:30am

Dec 7

 NOTE DATE CHANGE

DELIVERABLE: team status report

20: Dec 1

presentation and demonstration of projects
BE 105 or JBE 316

DELIVERABLE:  Final project submission (acceptance test)
PRESENTATIONS: TBD

Dec 10

 11pm email deadline

DELIVERABLE: project reflection essay

Dec 12

FINAL 4-7pm

 

 

 

 

 

 

 

 

 

Instructors and Assistants