Course outline

64 downloads 153805 Views 48KB Size Report
Wesley. ISBN 0-13-111155-8, 2003. Textbook: Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented. Analysis and Design and Iterative ...
Concordia University Department of Computer Science and Software Engineering SOEN 6011 — Software Engineering Processes Course Outline — Fall 2007 — Section SS Instructor: Tutor:

Greg Butler (gregb@cse) Steve Barrett (ste barr@cse)

Web page: http://www.cse.concordia.ca/~gregb/home/soen6011-f2007.html

Introduction This course is intended for students in the Masters of Software Engineering programme who have not completed a Bachelor’s of Software Engineering. Hence, they need to take SOEN 6011 to make up the missing material. The purpose of SOEN 6011 is to ensure that you have similar expertise in the use of tools as students graduating from the Bachelor of Software Engineering programme. That is, Java development using the Eclipse environment, using JUnit for unit tests, and the Eclipse Web Tool Platform (WTP) to develop Java applications and Java-based web applications using Apache, Tomcat, Javascript, mySQL. The course is designed to ensure that you have expertise in software process, software design, software architecture, can model software using UML, and can deal with threads, concurrency, and data integrity.

Prerequisite Knowledge The course assumes that students have significant programming experience in industry, preferably object-oriented programming using C++ or Java. The course will proceed at a very quick pace. Textbook: Craig Larman. Agile and Iterative Development: A Manager’s Guide. AddisonWesley. ISBN 0-13-111155-8, 2003. Textbook: Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edition, Prentice-Hall, 2005. Textbook: Martin Fowler. Patterns of Enterprise Application Architecture, Addison-Wesley. 2003. Recommended book: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design patterns : elements of reusable object-oriented software, Addison-Wesley, c1995.

Course Outline Software process, software design, software architecture, including test-driven development; agile development; unified process; change management; project management tracking use cases and tests; responsibility-driven design; GRASP principles for responsibility-driven design; use cases; domain modeling; system operations; use case realization; design patterns, pattern languages; architectures for web applications: 3-tier client-server, Model-View-Control, Fowler’s EAA patterns; issues of concurrent distributed systems.

Project The major practical component of the course will be the development of an object-oriented Java program designed and implemented individually. The project for this semester is based on the simple game of Tic-Tac-Toe. There are three programs required for the project: (1) A stand-alone Java application for the game. (2) A web-based single user game where the player statistics are stored in a database. (3) A web-based multi-user game where the game and player statistics are stored in a database. There will be three assignments (that is, documents) required as well: (i) A test report for the unit tests done in version 1. (ii) A use case document and domain model for version 2. (iii) A design document for version 3.

Evaluation You will be evaluated as follows: Midterm Examination Project Deliverable 1 (version 1 + test doc) Project Deliverable 2 (version 2 + reqs doc) Project Deliverable 3 (version 3 + design) Final Examination

(code: 5%) + (document: 5%) (code: 5%) + (document: 5%) (code: 5%) + (document: 5%)

= = =

20% 10% 10% 10% 50%

Late project deliverables will be assessed a 50% penalty for each late working day. The exact schedule for project due dates and examinations will be available on the web page.