1 University of Ontario Institute of Technology Faculty of Engineering and Applied Science ENGR2720U: Software Design II COURSE OUTLINE Dr. Shahryar Rahnamayan Office: U5-27 Email: via WebCT Office Hours: Fridays 10:00AM - 1:00PM Teaching Assistants 1) Mr. John Khalil 2) Mr. Snahungshu Sikder TAs location: 4th floor of the Library Email: via WebCT Office Hours: TBA Course Objectives Overview of software development models: waterfall, incremental/iterative, structured vs. object-oriented, extreme programming. Product Design and Analysis phase of software development: product planning, project mission statement, and software requirements specification. Models, notations, and processes for software requirements identification, representation, analysis, and validation will be studied with an emphasis on Use Case Modeling. Introduction to Software Architectural Design emphasizing the Unified Modeling Language (UML). Course Outcomes At the end of the course the students should be familiar with … Formalizing user requirements and specifications Document software (for internal and external purposes) Have mastered UML as a notation to support software design Have undertaken a reasonably sized OO design in UML as part of a teamwork exercise Demonstrate an ability to apply verification and validation techniques. Communicate effectively with a (role played) customer in written and verbal form Prerequisites ENGR2710U: Software Design I Course Organization Three lecture hours per week, bi-weekly labs and tutorials for one semester. Required Course Texts Introduction to Software Engineering Design: Processes, Principles and Patterns with UML2 2 Christopher Fox Publisher: Addison-Wesley, Copyright: 2007 ISBN-10: 0321410130 ISBN-13: 9780321410139 Information Sources Supplementary Textbook for Labs: Visual Modeling with IBM® Rational® Software Architect and UML™ Terry Quatrani and Jim Palistrant Publisher: IBM Press, Copyright: 2006 ISBN-10: 0321238087 ISBN-13: 9780321238085 Software Tools IBM Rational Software Architect v7.0 Eclipse Integrated Software Development Environment Policies and Expectations for the Learning Environment ● Course content will be delivered through a combination of lectures, in-class, in-Lab activities and assignments. Assigned activities will include Web-Centric e-Learning components. Some of these will be performed in class, whereas others are to be performed outside of class. ● Some in- and outside activities might be graded, others serve to self assess your acquired knowledge. ● It is expected that to be successful, students will attend and participate in class, tutorial & Lab and perform all required online and homework assignments and projects. ● There is a WebCT-based web page for the course, which include a constantly updating calendar of course milestones, assignment, Lab, project, test dates and further information. Students are expected to inform themselves regularly about course requirements. ● Communication with the professor through electronic means will be through WebCT only. EMail to other accounts to the professor might not be answered in a timely fashion. ● The professor will attempt to answer to E-Mails/Discussion Postings through WebCT in a timely fashion (<= 2 week days). ● Provocative or demeaning contributions to electronic media might be removed or ignored. ● Contributions to discussion forums/chat rooms and e-mails that indicate academic misconduct might be used to prove such cases. ● Data communication on the UOIT computer network during exam/quiz/assignment times might be monitored to detect and prevent inappropriate communication. 3 ● Suitable computerized means might be used to restrict the functionality of the student laptop in in-class situations to the required software tools of the course. Assignments/Lab reports: ● Assignments/Lab reports will be available on WebCT. Paper copies of outlines and assignments/Lab reports will not be handed out. Changes to assignments/Lab reports will be announced either in class or via WebCT, but will not be posted on any newsgroup (including WebCT's). ● We will be using electronic submission of assignments/Lab reports via the WebCT submission system; no other means of submission (e.g., email, hard copies, etc.) will be accepted. Assignment/Lab report criteria are specified in the detailed assignment/Lab report descriptions. Read them carefully to be sure that you have fulfilled all aspects of the requirements. Assignments/Lab reports are DUE ON THE DAY AND TIME indicated. Late assignments/Lab reports will be handled as follows: Design Project: Due dates for submitting different components of the assigned group project will be announced in WebCT. Non-negotiated Late Assignment/Lab report: An assignment/Lab report that has been handed in late without prior agreement between the student and the professor to extend the time for the assignment/Lab report to be handed in will be considered a non-negotiated late assignment/Lab report and will be assigned a penalty of 20%, if it is submitted within 24h of the original due date, otherwise a grade of zero will be assigned. Negotiated Late Assignment/Lab report: An assignment/Lab report that has been handed in late in accordance with a mutually agreed deadline and penalty (if applicable) will be considered a negotiated late assignment/Lab report and will be marked in accordance with the mutually agreed terms. Extenuating Circumstances: The professor will consider individually, rare extenuating circumstances, which may cause an assignment/Lab report to be late. Examples of extenuating circumstances include hospitalization, death of a loved one, traffic accidents, etc. The student must provide documentation to validate the extenuating circumstance. It will be at the professor’s discretion to work out the extension in this situation. 4 Course Evaluation Course Component Percent of Final Mark Group Assignments 20% Quizzes 10% Lab Reports 20% Group Class Presentation 5% Midterm Exam Final Exam Total 20% 30% 105% Remarks There are a total of 5 assignments. The TA will discuss the grading policies for any assignments. 3-4 students would be in each group. There are a total of 10 quizzes. There are a total of 5 Labs. 3-4 students would be in each group. On chapter presentation for each group, the regulations will be announced later. Note: you MUST get at least 50% of the total mark to pass the course. Assignments, Labs, and sample projects are posted on the WebCT course page. Refer for more details such as due dates and times. Missed Tests and Final Exam ● Should a student fail to write a test or the final exam, the instructor must be informed ASAP (via WebCT) and a medical certificate must be sent directly from the Doctor’s Office or Hospital within 5 days by mail or preferably by fax (905-721-3370) to the Academic Advisor of FEAS (and not to the instructor). A medical certificate, obtained from the university Website or WebCT or from the Academic Advisor must clearly state the date, and the names of the student and the doctor/hospital, and the doctor’s/hospital’s phone number and address. ● In case of absence from the test, there will be no make-up test. Should the absence (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), pending instructor’s approval, the weight of the missed test is shifted to the final exam, otherwise the student will get a zero on his or her missed test. ● Should the absence from the final exam (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), the student will write a deferred exam which may be written or oral at the discretion of the instructor. The students who write a deferred exam have additional time to study and a less crowded exam schedule compared to their colleagues who write the final exam during the tight exam period. As such, it is only fair to expect better performance from these students on the deferred exam than on the final exam. 5 Sequence of Instructions This is a planning guide. Your professor may alter the sequence of instructions, the depth of coverage of material, as well as the precise test dates. Students will be given advanced notice, via the WebCT course web sites announcement tool and the WebCT calendar of specific assignment and test dates that apply. In-class labs and tests may be assigned without notice during any scheduled class time. Assigned tasks and tests will have to be completed during the period. Lectures (It is highly recommended that all students attend all classes.) Week Topic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Extra Class (subject to possibility) The Discipline of Software Engineering Design Software Design Process and Management Context of Software Product Design Product Design Analysis Product Design Resolution Reading Week Review + Midterm Exam Designing with Use Cases Engineering Design Analysis Engineering Design Resolution Architectural Design Architectural Design Resolution Class Presentations Class Presentations Overall Review Textbook Chapter(s) 1 2 3 4 5 6 7 8 9 10 - Laboratories Five laboratories are planned for the course. These lab exercises consist of 1. Introduction to UML, Requirement Documents and UML Use Case Diagrams 2. An exercise in requirements gathering using scenarios 3. UML Class and Sequence Diagrams 4. Transforming UML into Java code and Reverse Engineering 5. Other UML Diagrams a. Activity Diagrams b. Component Diagrams 6 Tutorials The tutorials in the course will be used to re-enforce the concepts presented in class through activities. ● There are bi-weekly tutorials. ● Tutorial attendance is not mandatory, but highly recommended. ● A variety of examples will be solved and students’ questions are answered by your TA. Computer Experience and Usage This course has a significant number of class activities due to the non-technical nature of the course. The Rational Software Architect Design Tool and Eclipse IDE will be extensively used by students. Students will also leverage a Wiki server to help them collaborate and capture requirements for their project. Course Content Breakdown (following categories defined by the Canadian Engineering Accreditation Board’s Accreditation Criteria and Procedures report, available at http://ccpe.ca/e/files/report_ceab.pdf) Mathematics: Basic Science: Engineering Science: Engineering Design: Complementary Studies: Total: 0% 0% ~30% ~70% 0% 100% Notes to Remember ● If you must send an e-mail to the instructor, then send it via WebCT. It is highly recommended that if the students have any questions or concerns whatsoever, they should discuss them with the instructor during his office hours, rather than sending him e-mails. Understanding a situation or solving problem or providing advice can always be more effective in person. Should you have a general question about the course or need to discuss a problem via WebCT, students must send emails to the TAs. ● It is advised that students print the lecture notes from WebCT before they come to the class, and then add their own understanding to the notes during the lectures. ● Keep all your marked assignments as well as lab reports for one year, so if requested in case of discrepancy, you would be able to present them. ● All assignments and lab reports must be written very legibly, if something cannot be read, then that cannot be marked. ● Any student who gets 90%+ (A+) in this course can ask for and expect a very good letter of recommendation/reference when he or she is looking for a job or applying to a graduate program or applying for a scholarship. 7 Other Information SOME IMPORTANT GENERAL INFORMATION OF RELEVANCE TO THE COURSE Academic Integrity and Conduct UOIT is committed to the fundamental values of preserving academic integrity as defined in UOIT policies and contained in the UOIT Calendar. Students should familiarize themselves with UOIT’s policies and statements in this area. Acts of academic dishonesty, including plagiarism, cheating, aiding others in cheating, and examination impersonation, will be dealt with severely as they threaten the integrity of the academic system and are not acceptable. UOIT and faculty members reserve the right to use electronic means to detect and help prevent plagiarism. Students agree that by taking this course all assignments are subject to submission for textual similarity review to Turnitin.com. Assignments submitted to Turnitin.com will be included as source documents in Turnitin.com's restricted access database solely for the purpose of detecting plagiarism in such documents for five academic years. The faculty member may require students to submit their assignments electronically to Turnitin.com or the faculty member may submit questionable text on behalf of a student. The terms that apply to UOIT's use of the Turnitin.com service are described on the Turnitin.com website. (To read the entire policy, please go to: http://www.uoit.ca/EN/main2/11246/13525/14057/14152/turnitin_policy.html.) Accessibility To insure that disability-related concerns are properly addressed during this course, students with documented disabilities and who may require assistance to participate in this class are encouraged to speak with their instructor as soon as possible. Students who suspect they may have a disability that may affect their participation in this course are advised to go to the Centre for Students with Disabilities (room B297) as soon as possible. Approved by (indicating approval of Faculty’s Curriculum Committee): Program Director’s Name Date: