Software Engineering – SE361
Spring 2013
Revised: 3/4/2013
Notes on Project Deliverables
Your instructor will clarify the deadlines, format and manner in which project deliverables are submitted (e.g. noon day prior via Wiki, dropboxi or other)
Notes on Assigned Problems (unless otherwise directed by your instructor)
Assigned Problems are due at the start of the session indicated on the schedule.
Your instructor will clarify the format and manner in which problems are submitted.
Session |
Topics |
Readings |
Supporting Materials |
Assigned Problems (see note above) |
Class |
(see note above) |
Project Points |
1-1
|
Course Intro SE Intro Teams/Roles
|
|
|
|
|
Individual Preference Clipboard survey by end of day. |
|
1-2
|
Process Models |
Ch. 1 (all) |
|
|
Introduce POS Project How to use the Project Delivery Mechanism |
Smart Vending machine Customer Exchange
|
|
2-1
|
Modeling Requirements UML Use Cases |
Ch. 4 (4.1-4.4) Ch. 6 (6.1, 6.2) |
|
|
Project Delivery Mechanism or Wiki operational
|
5 pts |
|
2-2
|
Application Testing
|
Ch. 18 (18.0 - 18.6, except 18.6.4) |
1.5 4.1, 4.3 5.1, 5.9
|
Eclipse and SVN setup (subclipse)
|
|
|
|
3-1
|
Domain Analysis Design Concepts |
Ch. 6 ( 6.5.1, 6.5.2, 6.5.3) Ch. 8 (all) Fast Track UML 2.0
by Kendall Scott (Books 24x7) |
|
|
Initial
Plan
|
20 pts |
|
3-2
|
Design |
UML Demystified by Paul Kimmel (Books 24x7) - Ch. 4
|
|
6.1, 6.3 18.1, 18.3 8.1, 8.7, 8.8, 8.11
|
|
|
|
4-1
|
EXAM #1 (1 hour) JUnit Unit Testing
|
Ch. 17 (all)
|
|
5 pts |
|||
4-2
|
UML Sequence Diagrams
|
Ch. 19 (19.1-19.4) |
Sequence Diagrams (see myCourses) |
|
|
10 pts |
|
5-1
|
UI Design |
|
|
15 pts |
|||
5-2
|
UI Design UML State Diagrams |
Ch. 11 (11.0-11.4.1, but NOT 11.2.2, 11.3) |
State Diagrams (see myCourses) |
17.1, 17.4, 17.6, 17.8 11.1, 11.9 (for their project)
|
|
|
|
6-1 |
R1 PRESENTATIONS Planning, Refactoring |
|
|
|
|
|
45 pts |
6-2 |
Patterns |
Ch. 12 (12.1 – 12.1.3) |
|
|
|
Reflection (ask instructor for due date) |
5 pts |
7-1 |
Inspections |
Ch 15 (all except 15.3) |
|
|
15 pts |
||
7-2 |
OPEN |
|
|
12.1,
12.4
|
|
|
|
8-1 |
EXAM #2 (1 hour)
|
|
|
|
|
15 pts |
|
8-2 |
Acceptance Testing Product Release |
|
|
|
|
|
|
9-1 |
Quality Concepts |
Ch. 14 |
|
|
|
15 pts |
|
9-2 |
OPEN |
|
|
14.1, 14.3, 14.8 |
|
|
|
10-1 |
R2 PRESENTATIONS |
|
|
|
|
55 pts |
|
10-2 |
Postmortems |
|
|
|
|
|
5 pts |
11
|
5/14/2013 2:45-4:45pm Ask you instructor for specific Location The Final Exam may be taken at this time ONLY – please plan accordingly! |
Required: Software Engineering – A Practitioner’s Approach, 7th Edition, Roger Pressman
Student Resources: http://highered.mcgraw-hill.com/sites/0073375977/student_view0/ - has Chapter Overviews and Practice Quizzes
If you are an SE major or plan on taking additional SE classes, you will want to keep this text for subsequent courses.
If you don’t intend to keep the text past this quarter you may interested in a website called http://www.coursesmart.com/ which has a 180 day 'rental' of Pressman that may be more cost effective than buying the book and selling it back. This for your information only, RIT or the SE Department has no affiliation with this service. Of course you may be able to find it used via other outlets as it is a widely used SE text. Make sure you are getting the 7th Edition.
- One unexcused absence - 1 % off final
grade
- Two unexcused absences - 3 % off final
grade
- Three or more unexcused absences - 5 %
off final grade
* Additionally, you will also miss credit for activities that took place during
the classes you were absent. Bottom line come to class.
Closed book one hour exams are given during Weeks 4 & 8 on topics covered up to that point. A cumulative two hour final exam is given during Week 11. Note that exam topics may cover class activities, homework and assigned reading - whether discussed in class or not. As per department policy, exams may not be taken early or made up later with exceptions made only for substantiated medical or personal emergencies.
The focal point of the course is a term long project executed by a team of 4-5 students. The goal of the project is to introduce and practice the fundamental software development life-cycle activities of planning, tracking, implementing and delivering an actual software product. Teams will be formed during Week 1 and will remain together throughout the term. Your instructor will explain the process for forming teams during the first class session. Simulating a real world project development environment is challenging due to the short amount of time teams are able to meet in person. Time will be allocated during each class session for project teams to meet and work. It is critical that you are present for these sessions, as your absence from class adversely affects your team’s ability to make progress. It is also equally important for the team to take advantage of this time to interact with their instructor who will be available to offer guidance and provide clarification on product requirements. Time will also be required outside of the classroom (usually at least once a week) to meet and work as a team.
Each instructor will have a mechanism for teams to deliver non-source code artifacts of the project (Project Plan, Requirements Specification, Test Plan and Design Document). Your instructor will specify the mechanism used in his/her section and give you the necessary access and instructions to do so. For example, he/she might choose and have access to team Wiki in order to allow grading and commenting on the state of these artifacts as your team’s project progresses throughout the term. In such cases, artifacts would be accessible via the browser at a location similar to (http://wiki.rit.edu). Other instructors may choose a different mechanism. Make sure you clearly understand this and any deadlines at the beginning of your team project work. Regardless of the above mechanism, teams will also have a SE project account that will house their Subversion (SVN) code repository.
Each team will produce two project releases – “R1” during Week 6 and “R2” during Week 10. The level of functionality for each release is determined during the planning process in concert with your customer (instructor). A release includes the current state of project artifacts maintained on the project wiki or alternate mechanism; an executable and version controlled product and test source code. Each release is accompanied by an in-class team presentation and product demonstration.
Participating in the team project is perhaps the most valuable experience you will take from this course. Far more projects fail as a result of poor collaboration and communication within project teams than they do for any technical short-comings. Becoming an effective team member is a critical career skill and the goal of this project is to gain some experience with effective (and non-effective) teaming practices. The expectation is that all will make an honest effort in participating in team activities to the best of their ability. Should non-constructive conflict arise, your instructor will expect the team to first make an effort to resolve issues internally. Beyond that your instructor will intercede as needed to help in resolving team issues.
Your instructor will grade your project using the following point distribution. The course schedule will be specific on what deliverables are expected on a weekly basis. Project grades are assigned on a team basis with each member initially receiving the same grade. Your instructor will reserve the right to adjust individual grades up or down after each of the project releases (Week 6 & Week 10) based on team member peer evaluations and the instructor’s observations.
Total Points Available - 210
Assigned problems are based primarily on readings from the Pressman text. Problems will be completed within project teams, with the team receiving a single grade for each block of assigned problems. Your instructor reserves the right to adjust individual grades based on participation.
A number of in-class activities will be conducted throughout the term to reinforce a parallel development activity teams are currently performing on their own projects. Activities will also be run to support the introduction of tools and techniques used in the team’s product development.