SE 491/591 Software Engineering Studio I-II
School of Computer Science, Telecommunications,
and Information Systems
Autumn 2006/2007 (2006/09/06 -- 2006/11/22)
Winter 2006/2007 (2006/01/03 -- 2006/03/18)
Meeting time: Monday 5:45 -- 9:00pm (CDT), Loop campus
Synchorous Distance Learning (SDL)
Office: Room 843, CST Building
Tel: (312) 362-6251, Fax: (312)362-6116
Office hours: Monday
4:15 -- 5:45pm (Loop campus)
Contacting the Instructor
The best way to contact me is via email at
however advising appointments can be set up through the CTI web.
If you need to meet with me please
either come to regular office hours or email me to set up an
alternate meeting time. I do not guarantee that I will check my
voice-mail on a regular basis - so please use email.
SE 450, and
Completion of at least 4 of the foundation (required) courses in SE.
In this course, students will be working
on a large-scale and real project in one of several teams. Each team will be responsible for
a sub-project within the large project.
The sub-projects will be carried out
from conceptualization to completion using the current technologies.
The SE 491-591 two course sequence must be completed in consecutive quarters.
Design and develop a set of state-of-the-art software engineering tools
that support the most current and emerging technologies in software engineering.
- Technical goals
Apply object-oriented development methodologies.
Use design patterns in architectural and detail designs.
Use UML throughout the development process.
Practice project management and
software process improvement techniques.
Topics and Key Practices
- Requirements analysis and specifications
- Object-oriented modeling and design techniques
- Distributed and collaborative software development
- Tools for software development
- Iterative development processes, agile processes
- Construction and unit testing techniques
- Design and code reviews, and quality assurance
Regular weekly class session: every Monday 5:45pm to 9:00pm.
Each session will consist of the following activities:
- short lectures and discussions on technical and project management issues
related to the project (whole class)
- project status reviews (whole class)
- presentations and discussions on global issues
related to the project, e.g., requirements, architecture, design, etc. (whole class)
- discussions of issues of sub-projects. (in groups)
- presentations on technologies and tools that are potentially
applicable to the project. (whole class)
Weekly project managers meetings.
The teams managers will have weekly meetings
with the instructor to discuss the project status and project management related issues.
Weekly team meetings.
In additional to the meetings during the regular class session,
each team is expected to hold weekly meetings among themselves outside the class to discuss and work on their
The instructor will be available during the office hours to have one-on-one mentoring sessions with the students
on non-technical issues related to the project.
The mentoring sessions for SDL students can be done via video conferencing.
(Technical issues are preferably to be discussed openly in
class or team meetings.)
Each student is expect to sign up for at least one mentoring session each quarter.
Time permitting, students may sign up for mentoring sessions as often as they wish.
Each student should:
Attend all regular class sessions and actively participate in discussions.
Starting from the second week, you will have to sign the
attendance sheet each week.
Actively participate and and make contribution to the project.
Have well defined responsibilities and roles in the
You must discuss your role and responsibilities each
week in your weekly report.
You may assume different roles and responsibilities
at different time.
Make presentations on project architecture/design, and technologies.
Each team should have one student as their representative to present each week.
Each student should be given roughly equal opportunities to present.
Each presentation should be 10 to 15 minutes in length.
The presentations should be in PowerPoint
or PDF format. The slides must be posted in advance on the project web site.
Presentations will be evaluated based on the following criteria:
contents, organization, and clarity.
Submit weekly reports.
Weekly reports must use the template
Weekly reports and weekly deliverables are due each
All reports and documents must be in HTML (images/diagrams
in PNG/GIF/JPEG), unless otherwise indicated.
Deliver a final report at the end of each quarter.
A summary of contributions.
A synopsis of all deliverables.
Make sure you understand DePaul
University's policy on plagiarism. Plagiarism will not be tolerated. Penalties
range from failing an assignment to failing the course. Repeat offenses
could lead to expulsion from the university.
Here is the
Academic Integrity Policy.
Project and Schedule
Roles and Responsibilities
Each student is
responsible for contributing to the overall success of the
Each student must have well defined roles and responsibilities at any given time.
However, the goal of the project is not to
``pigeon-hole'' an individual into only a single area of
expertise. Instead, the goal of the project is to ensure that each
students is exposed to a broad range of software project roles and
activities. Thus each student is expected to contribute to
three or more of the activities in the project.
- Team manager (one per team)
- Develop schedules and plans for the team.
- Communicate with team members and coordinate tasks and activities
- Allocate tasks and assign responsibilities
- Execute plans
- Initiate and implement process improvements
- Provide leadership
- Evaluate team members
- One person shall assume the role of the team manager for each team for the whole quarter.
- Architect (one per team)
- Technical lead of the team
- Develop system models, architectures, and designs
- Lead discussions, debates, and research on architectural issues.
- Resolve conflicts and make decisions on technical issues.
- Provide guidance and assistance to the rest of the teams on technical issues.
- Develop system models and designs
- Design interfaces, specifications, and unit tests
- Implement and test components
- Write documentation
- Improve software qualities
- Tester and integrator
- Design and implement system and acceptance tests
- System integration
- System-wide quality assurance
- Configuration and release management
- DB admin
- System admin
- Web master
- UI design
- Development tools
Deliverables by Teams
There are specific deliverables due at
various times throughout the course of the project.
The quality of these
deliverables will impact the grades of the teams responsible for their
delivery. The deliverables include:
The deliverables will evaluated based on the following criteria:
completeness, consistency, organization,
understandability, conformance to standards/guidelines, and timeliness.
- The project plan.
- The architecture & design documents, including UML diagrams and supporting documents.
- The completed software system and components, including source code, and unit tests
- The acceptance tests.
- The software installation & configuration guide.
- The user manual.
Final Report and Individual Deliverables
Each student must submit a final report and a set of final deliverables for this quarter.
Final report: (hard-copy, 2-3 pages, single-spaced)
Discuss your overall accomplishments and contributions.
Discuss the deficiencies of your design or components, and
your plan for improvements.
Discuss the key lessons you have learned.
Discuss and prioritize the tasks for the next phase
of the project (consider both the sub-project you are involved in and the project as a whole)
Discuss your plan and suggestions for the next phase
of the project.
All code and documents must be checked into CVS.
of all the code and documents that
your team is responsible for. (One per team)
An detailed itemized summary of all your deliverables and
all of your contributions to the project
in all aspects, including requirements, design, implementation, documentation.
Include the URL or file name of each item. Clearly indicate your contribution and role, e.g.,
whether you are the sole author of a document or code, or you are a co-author and which portion
or to what extent is your contribution.
of all documents that you are responsible for but are not included in the team deliverables.
A list of unfinished features/tasks in your area
- Template for evaluating your teammates.
- Template for evaluating your team manager.
Hard-copy of final report, peer evaluations, and deliverables due on
No electronic submission will be accepted. No late
submission will be accepted.
Because software engineering is rarely a
single-person activity, you will be working in many different groups. At the
end of each term you will be evaluated by your peers (your team manager and your teammates) with
respect to the following criteria:
Each team manager will be evaluated by your team members with
respect to the following additional criteria:
||The individual participated in all aspects of the project.
||The individual attended and participated in all meetings and discussions outside the classroom.
||The individual completed all assigned tasks in a timely manner.
||The individual actively collaborated with teammates and demonstrated strong teamwork.
||The individual contributed his/her fair share in terms of deliverables and
and other activities.
Each review will be done on a scale of 1 (lowest) to 5 (highest).
The median of the scores will be used to determine the final score
of the peer evaluation.
|Communication and coordination
||The team manager effectively and clearly communicates with the team members and coordinates all the
tasks and activities to ensure timely completions of all tasks.
|Scheduling and planing
||The team manager does a good job in developing schedules and plans for the team.
|Execution and follow-up
||The team manager does a good job in executing the plan and following up on-going and unfinished tasks
to ensure proper closure of all tasks.
||The team manager is fair to all the team members in areas such as allocating tasks to ensure
equitable work loads, and giving opportunities to every team members to contribute.
||The team manager provides overall strong and effective leadership for the team.
Because this is a group project, evaluations and grading are necessarily
subjective and cannot be captured through exams or homeworks.
Grades will depend on the following criteria:
Attendance and active participation -- 10%
Weekly status reports -- 10%
Presentations -- 10%
Project deliverables (team) -- 50%
Final report (individual) -- 10%
Performance evaluation by the instructor -- 5%
Performance evaluation by your peers and team manager -- 5%
||total >= 93
||80 > total >= 77
||93 > total >= 90
||77 > total >= 73
||90 > total >= 87
||73 > total >= 70
||87 > total >= 83
||70 > total >= 67
||83 > total >= 80
||67 > total >= 63
||63 > total >= 60
||60 > total
Last modified: Sun Dec 24 11:09:55 CST 2006