Sie sind auf Seite 1von 4

Concordia University

SOEN 390 Software Engr. Team Design Project


Course Outline Winter 2016
Section
S

Instructor
Dr. Nikolaos Tsantalis

Section
Tut SA
Tut SB
Lab SI
Lab SK

Tutor
Jean Amirian
Davood Mazinanian

Email
tsantalis@cse.concordia.ca

Office
EV 3.187

Responsibility
Tutorials on Project documentation,
Prototyping, JIRA, Unity, Android

Email

Mentoring, Marking, Feedback

d_mazina@cse.concordia.ca

wwwaaarrr101@hotmail.com

Calendar Description
SOEN 390 Software Engineering Team Design Project (3.5 credits) Prerequisite: SOEN 344 and 357
previously or concurrently. Students work in teams to design and implement a software project from
requirements provided by the coordinator. Each team will demonstrate the software and prepare adequate
documentation for it. In addition, each student will write an individual report.
Lectures: two hours per week. Tutorial: one hour per week. Laboratory: three hours per week.

Course Content
In this course you will be involved in the development of a software project for a real client. This project
will help you improve your technical skills, as well as experience the key lessons of software engineering
first-hand. In addition to all the other skills and lessons that are to be conveyed, you will also be learning
how to cooperate and communicate effectively. In this project, you and your teammates will participate in
every stage of software development. We will follow the Agile development approach and use supporting
project management tools for tracking progress against the plan, communicating about estimates, plans
and progress, and then refining the plan based on the observations. Because of the short span of this class,
you are not expected to deliver a marketable product, but the result should be at least a compelling and
working prototype that could serve as the basis for defining a real product.

Course Structure
Each team will consist of 5-6 members and will have a different project to deliver. You can have a look at
the available projects on Moodle. The students will form their teams on their own, but the projects will be
assigned according to the skillset of each teams members.
All teams will follow the Scrum development process with fixed 2-week iterations (sprints). At the end of
each iteration, the teams will present their progress and their plan for the next iteration.

SOEN 390 / Winter 2016

Course Outline page 1

Iterations

Sprint 0
Jan.11 Jan.25

Sprint 1
Jan.26 Feb.8

Sprint 2
Feb.9 Feb.22

Team Evaluation criteria

Weight

Evaluation scheme:
User Stories Backlog: 2 points (completeness, meaningfulness, respect to format/conventions)
Software Architecture: 2 points (high-level architecture correctness)
Release Plan for Sprint #1: 2 points (breakdown to sub-user stories, over/under-estimation of the
number and difficulty (USP) of user stories, acceptance tests passed at the end of the next sprint)
Risk Assessment and Management Plan: 2 points
UI Prototypes: 5 points (variety of prototypes, complexity of the UI, user story coverage)
Presentation/Demo: 2 points (punctuality, communication skills, addressing comments/questions)
Sprint 0 Deliverables:
1. User Stories Backlog (USB)
2. Release Plan (Sprint 1 planning)
3. Software Architecture Document (SAD)
4. Risk Assessment & Risk Management Plan (RMP)
5. UI modeling of Sprint 1 user stories
Sprint 0 Objectives
Jan 11 - Lecture 1: Introduction to the projects, Team formation, Project assignment (bidding)
process, project management tools
Jan 18 - Lecture 2: Visit to Muse des Ondes Emile Berliner
Jan 25 - Lecture 3: Team presentations on architectural design, UI modeling, Sprint 1 planning
Tutorials:
January 13 Tutorial on Prototyping
January 20 Tutorial on Jira

15%

Evaluation scheme:
Updated/Changed User Stories + Risks: 1 point
Updated Software Architecture: 1 point (Domain Model, Component diagram, Class diagram)
Release Plan for Sprint #2: 1 point
Test Plan: 2 points
Updates on the UI Prototypes based on project owner feedback + New UI prototypes: 3 points
Software Implementation of Sprint #0 user stories + Bug reports: 5 points
(Quality of source code peer-reviews, correct use of design patterns, respect to code conventions,
design quality as measured by number of classes/packages, module size, coupling, cohesion,
quality of source code documentation, refactoring activity documented in commit messages,
quality/detail of commit messages, use of feature branches, atomic commits, linking of commits to
JIRA bug reports/features)
Presentation/Demo: 2 points
Sprint 1 deliverables:
New Deliverables:
1. Testing plan
2. Defects tracking report
3. Release Plan (Sprint 2 planning)
4. UI modeling of Sprint 2 user stories
Updated deliverables: SAD, USB, RMP
Feb 1 - Lecture 4: Tutorial on Unity 3D + Android Studio
Feb 8 - Lecture 5: Team presentations of the delivered functionality (UIs, test reports).
Evaluation of customer satisfaction. Sprint 2 planning

15%

Evaluation scheme:
Release Plan for Sprint #3: 2 points
Quality Report: 2 points
Testing Report: 2 points
Updates on the UI Prototypes based on project owner feedback + New UI prototypes: 2 points
Software Implementation of user stories: 5 points
Presentation/Demo: 2 points
Sprint 2 deliverables:
New Deliverables:
1. Quality reports (code quality measurement trends, quality management report)
2. Release Plan (Sprint 3 planning)
3. UI modeling of Sprint 3 user stories
Updated deliverables: SAD, USB, Testing plan and Test Summary Report, defects tracking

15%

SOEN 390 / Winter 2016

Course Outline page 2

report, RMP
Feb 15 - Lecture 6: Demo + Acceptance tests
Feb 17 Tutorial on Quality Assurance (SonarQube, NDepend),
Automated unit testing, Generation of Test coverage reports.
Feb 22 - Lecture 7: Team presentations on project progress Mid-term break

Sprint 3
Feb.23 Mar.7

Sprint 4
Mar.8
Mar.21

Sprint 5
Mar.22 Apr.4

Evaluation scheme:
Release Plan for Sprint #4: 2 points
Quality Report: 3 points
Testing Report: 3 points
Software Implementation of user stories + bug fixing: 5 points
Presentation/Demo: 2 points
New Deliverables: Release Plan (Sprint 4 planning)
Updated deliverables: Quality reports, SAD, USB, Testing plan and Test Summary Report,
defects tracking report, RMP
Feb. 29 - Lecture 8: Demo + Acceptance tests + Team presentations on project progress
Mar 7 - Lecture 9: Team presentations on project progress

15%

Evaluation scheme:
Release Plan for Sprint #5: 2 points
Quality Report: 2 points
Testing Report: 2 points
Investigation Report: 2 points
Software Implementation of user stories + bug fixing: 5 points
Presentation/Demo: 2 points
New Deliverables: Release Plan (Sprint 5 planning)
Updated deliverables: Quality reports, SAD, USB, Testing plan and Test Summary Report,
defects tracking report, RMP
Mar. 14 - Lecture 10: Demo + Acceptance tests
Mar. 21 - Lecture 11: Team presentations on project progress

15%

Evaluation scheme, deliverables:


Quality Report: 3 points
Testing Report: 3 points
Software Implementation of user stories + bug fixing: 7 points
Presentation/Demo: 2 points
Completion rate of project owners requirements: 10 points
Mar. 28 - Easter Monday
April 4 - Pre-demos + Acceptance tests
April 14 - Deadline for submitting Sprint 5 deliverables & Final demos @ MOEB

25%

SOEN 390 / Winter 2016

Course Outline page 3

Graduate attributes
As part of either the Computer Science or Software Engineering program curriculum, the content of this
course includes material and exercises related to the teaching and evaluation of graduate attributes.
Graduate attributes are skills that have been identified by the Canadian Engineering Accreditation Board
(CEAB) and the Canadian Information Processing Society (CIPS) as being central to the formation of
Engineers, computer scientists and information technology professionals. As such, the accreditation
criteria for the Software Engineering and Computer Science programs dictate that graduate attributes are
taught and evaluated as part of the courses. This particular course aims at teaching and evaluating 3
graduate attributes. The following is the list of graduate attributes covered in this course, along with a
description of how these attributes are incorporated in the course.
Knowledge-base for Engineering: Demonstration of application of most of the knowledge and skills
learned in all courses in the program in a project specified by the instructor, developing, modelling and
documenting analysis and design, implementation and testing.
This attribute will be evaluated based on the quality of the final software product and the delivered report
(essentially, this graduate attribute is assessed from the final grade for the course).
Problem analysis: Analyze and document the provided project requirements.
This attribute will be evaluated based on your final Requirements Document and the quality of the User
Story Backlog.
Design: Develop and document architectural and detailed design for the adopted solution for the project.
This attribute will be evaluated based on your final Software Architecture Document.
Use of Engineering tools: Use appropriate tools to manage, analyze, design and implement the project.
This attribute will be evaluated based on the degree of utilization of software engineering tools (e.g.,
GitHub, JIRA, Prototyping tools, SonarQube).
Team/individual work: Work in teams to design and implement a software project from requirements
provided by the coordinator.
This attribute will be evaluated based on your Sprint Planning reports and Sprint Retrospectives.
Communication: Demonstrate the software and prepare adequate documentation for it.
This attribute will be evaluated from the quality of your project presentations in all iterations.
Economics/management: Project cost/effort estimation and tracking.
This attribute will be evaluated based on your Risk Management Plan and Test/Quality Reports.
Professionalism: The project requires professional interactions with the stakeholders and within the team.
This attribute will be evaluated based on the peer-evaluation forms.
Ethics and equity: Analyze the possible ethical aspects of the problem or its solution.
This attribute is not always applicable and its applicability depends on the nature of the project.
If your project deals with ethical concerns, you should discuss them in the Requirements document.
Investigation: Investigate on different proposed solutions for the project. Design elaborated testing using
elaborated tools and techniques to prove important system qualities.
This attribute will be assessed based on the Feasibility Analysis performed for the new feature requested
by the project owner close to the end of the project.

SOEN 390 / Winter 2016

Course Outline page 4

Das könnte Ihnen auch gefallen