CMPS 115 SYLLABUS

CMPS 115
Software Methodology
Winter 2009 Syllabus

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.

Instructor Information:

Instructor: Linda Werner
Office: Engineering 2 building room 249
Office Hours: Tuesday 2-2:30pm, Thursday noon-1pm. Other days and time by appointment.
Class location, hours: Physical Sciences, room 140, Tuesday and Thursday 8am-9:45am
Preparation for first class: read course description in online description and read all of textbook chapter 1.
Labs: REQUIRED J Baskin Engr 105 Fridays noon-1pm or Wednesdays noon-1pm
Email: linda at cse dot ucsc dot edu
Final: March 20, 8-11am. Special review session for final will be held on TBA. The review will be held in my office in E2 249.

TA's and labs:

There is no TA assigned
Labs: REQUIRED J Baskin Engr 105 Fridays noon-1pm or Wednesdays noon-1pm

Each student is required to enroll in and attend a weekly lab (the same one of these scheduled labs each week).

Team Project:

Students are required to collaborate in teams of 4-5 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. 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. Here are links to information that will help you with your team project:

End-of-chapter homework problems:

Look in the syllabus for the list of problems and due dates.

Evaluation:

Work in CMPS115 is divided into two main components, each contributing 50% to the student's grade.

  • Individual work and
  • Team work: the deliverables for the team project.

    The individual work component consists of the following parts:

  • Class participation: 10%
  • Exams: 24%
  • Project milestone reflection essay: 6%
  • End-of-chapter problems: 10%

    A minimum of 50% on the two 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 end-of-chapter problems, however, copying other students' answers 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 on paper at the beginning of class. Documents are to be neat and clear, with proper English spelling and syntax throughout. 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.

    Each project deliverable must be accompanied by a group time recording log and group meeting notes. Include in these notes: agenda of meeting, members present, discussion summary, time of meeting, location of meeting, members' roles (moderator, notetaker, time keeper) during meeting, action items to be worked on for next time and people responsible for them. This is worth 10% of each deliverable.

    Late items receive no credit, however, one project deadline can be missed without penalty (one "get out of jail free" possibility) if it is turned in at the next class with a note at the beginning stating that you are using your "get out of jail free" card.

    Resubmission: To facilitate the project learning experience, any project deliverable can be re-submitted to recover up to half of the points lost on the original submission. The re-submission must be made within a week from when the original submission was returned, and must include (1) the original, graded submission, (2) the new submission, and (3) a detailed description of the differences between the two versions.

    Homework:

    All homework (project milestones, end-of-chapter problem sets, and textbook reading assignments) is listed in the syllabus. The due dates are given. Be prepared for pop quizes based on the homework. See the syllabus for details.

    Exams:

  • quiz 1 Jan 20
  • quiz 2 Feb 12
  • quiz 3 Mar 5
  • final exam Friday, Mar 20, 8am-11am. The final exam is to be taken by all students who do not achieve a good class performance. 'Good' class performance requires an average of 80% or better on in-class quizzes. The final exam grade constitutes half of your course exam score.

    FAQ's (Frequently Asked Questions): See if your question is here!

    Syllabus - dates and contents are under revision because of progress we make in class. Please check for updates regarding deliverables, reading, and end-of-chapter problem sets.

    Date Topic/Class Task Reading/Homework DUE
    1: Jan 6
  • Scope of Object-Oriented Software Engineering and Class Project
  • ad-hoc team meeting
  • class exercise
  • read in preparation for class:
  • online description
  • textbook chapter 1
  • 2: Jan 8
  • Software Life-Cycle Models
  • prepare presentation for next class
  • textbook chapter 1 problems: 1, 2, 3, 6, 7, 8,9, 11, 13, 15, 16
  • read textbook chapter 2 (read 2.1-2.9.4, skim 2.9.5-2.9.7, and read 2.10) (and chapter 1 if not read before first class)
  • textbook chapter 2 problems: 2,3,5,6,7,8,10,11,12,13,14,15,16
  • 3: Jan 13
  • The Software Process
  • The Requirements Workflow
  • 10 minute initial presentations
  • read textbook chapter 3.1-3.11, skim 3.12-3.15, read 10.1-10.18 paying particular attention to 10.12-10.15
  • textbook chapter 3 problems: 1,2,5,6
  • Deliverable: IMPORTANT - NEW VERSION 1/12/09 - PLEASE READ project selection
  • Deliverable information: project selection template
  • Deliverable: initial presentation
  • Grading: grading guidelines
  • 4: Jan 15
  • Teams
  • work on requirements
  • read textbook chapter 4.1-4.3, skim 4.4-4-9, read chapter 11 paying particular attention to section 11.23
  • textbook chapter 4 problems: 1,2,3,4
  • Deliverable: Scenarios
  • 5: Jan 20
  • questions and answers
  • Quiz
  • Requirements workflow again
  • Review for quiz; topics include:
  • scope of software engineering
  • life-cycle models
  • software process
  • teams
  • requirements workflow
  • pop quiz and homework questions
  • points stated as important in class
  • 6: Jan 22
  • Analysis workflow - NOTICE CHANGE FROM INITIAL SYLLABUS
  • verify scenarios
  • reread textbook chapter 11 paying particular attention to sections 11.22, 11.23 and the sections that initially describe the steps outlined in Box 11.1
  • bring scenario deliverable to class: Scenarios
  • 7: Jan 27
  • Testing
  • read textbook chapter 6.1-6.7, skimming section 6.5
  • Deliverable: Requirements
  • 8: Jan 29
  • The design workflow: from modules to objects
  • UML practice
  • review textbook chapter 11, focusing on pp. 362-379 (interaction diagrams - realizations of use cases)
  • read textbook chapter 12.1-12.11
  • pop quizzes focus on bold faced terms
  • 9: Feb 3
  • The design workflow continued
  • Deliverable: Design
  • read textbook chapter 7.1-7.9 with particular attention to section 7.7
  • 10: Feb 5
  • Design presentations
  • The implementation workflow
  • read textbook chapter 13
  • textbook chapter 13 problems: 1,2,3,4,5,6,7,8,10,11,12,13,16,19,20,21,22,23,24,26,27
  • Deliverable: Design presentation
  • 11: Feb 10
  • Tools of the Trade
  • Design issues
  • Implementation workflow
  • continue work on implementation workflow
  • Read chapter 5
  • Review: chapters 12 and 13
  • Important topic: tools of the trade
  • Important topic: test workflow for design
  • Important topics: code readability, integration
  • Important topic: test workflow for implementation
  • 12: Feb 12
  • In class review
  • Quiz
  • Review for quiz; topics include:
  • tools of the trade
  • analysis workflow
  • design workflow
  • from modules to objects
  • implementation
  • previous pop quiz, quiz, homework, and worksheet questions
  • project work
  • 13: Feb 17
  • Inspection video
  • reread textbook section 6.2
  • 14: Feb 19
  • Postdelivery maintenance
  • Tools of the trade
  • verify user manuals, design, and implementation using inspections
  • read textbook chapter 14
  • chapter 5.1, skim 5.2-5.3, read 5.4-5.10
  • textbook chapter 5 problems: 1,2,3,4,5,6,8,9,10,11
  • Deliverable: User manual Software inspections - OSRIC group
  • 15: Feb 24
  • Reusability and portability
  • verify user manuals, design, and implementation using inspections
  • read textbook chapter 8
  • Deliverable: Software inspections - Mongooses group
  • 16: Feb 26
  • More on UML
  • work on reuse
  • work on final deliverables
  • read textbook chapter 15
  • Deliverable: Software inspections - Sluggles group
  • Deliverable: Software inspections - Hamster group
  • Feb 27
  • More on inspections
  • Deliverables:
  • Software inspections - SlugQuest group at 11:30
  • Software inspections - Blackjack group at noon
  • 17: Mar 3
  • review
  • Deliverable: Unit test
  • Deliverable: Traceability matrix - search for details about traceability matrix
  • 18: Mar 5
  • In class review
  • Quiz
  • Review for quiz; topics include:
  • test workflow
  • inspections
  • implementation workflow (including integration)
  • UML
  • post delivery maintenance
  • reusability
  • any questions from previous quizzes
  • project deliverables
  • 19: Mar 10
  • Acceptance tests in BE105 8-9am
  • Ethics in computing
  • optional presentations regarding ethics
  • TPOO project acceptance test
  • TPSOsric project acceptance test
  • Deliverable: Acceptance test
  • Read and comment on one paper from this site
  • 20: Mar 12
  • Acceptance tests in BE105 8-9:45am
  • Ninja project acceptance test
  • Blackjack project acceptance test
  • Mongooses project acceptance test
  • Sluggles project acceptance test
  • Deliverable: Acceptance test
  • Deliverable: Final notebook
  • Deliverable: Project reflection
  • Mar 20, 8am-11am
  • Final
  • prepare for final exam

    Other Instructional Materials:

  • humorous IEEE Computer article. It is 3 pages long; start reading on 3rd page, then 1st, then second.
  • First class movie about subversion
  • First class movie about Dforge
  • journal paper reference for prototype test - "Prototyping for Tiny Fingers" by Marc Rettig, Communications of the ACM, April 1994, Vol. 37, number 4. - search on Marc Rettig's writings' web page available from campus IPs
  • Borland's UML tutorial
  • Teamwork Guide written by Ed Parrish (former UCSC student/cmps115 TA/current professor at Cabrillo)
  • Groups That Work More on groups, with tips for how to identify and resolve group problems.
  • Project-Based Software Engineering: An Object-Oriented Approach, 1/e by Evelyn Stiller and Cathie LeBlanc , Addison Wesley, 2002
  • Introduction to the Personal Software Process. Watts S. Humphrey, Addison-Wesley, 1997.
  • UML Distilled -Applying the Standard Object Modeling Language. Martin Fowler with Kendall Scott, Addison-Wesley, 1997.
  • The Mythical Man-Month . Frederick P. Brooks, Jr., Addison-Wesley, 1995.
  • Java by Dissection . Ira Pohl and Charlie McDowell, 2000.
  • Association for Computing Machinery ACM Technews
  • Cetus' UML tutorials
  • Software Engineering Code of Ethics
  • Ethics in Computing site map
  • ACM Code of Ethics
  • Using the Code of Ethics
  • Computer Professionals for Social Responsibility
  • Walkthrough instructions from textbook instructor manual
  • Test Plan instructions from textbook instructor manual
  • Decision Tables
  • PERT Practice
  • Software Risk Management:Principles and Practices (1991). Boehm,B.W., volume 8, issue 1, pp. 32-41. Accessible from points within UCSC.
  • Risk Exposure Example
  • Software Cost Estimation including table of software activity variations containing percentages of staff effort by activity on page 4.
  • Software Configuration Management


    Material for this website and lectures has been taken from cmps115 websites of Cormac Flanagan, Alex Aiken, George Necula, Eri Brewer, and Jim Whitehead. Thanks!!