Gannon University Course Syllabus Instructor: Office: Contact Info: Class Location: Website: Time: Course Title: Semester: Department of Computer & Information Science Frank Xu, Ph.D. Z312 XU001@gannon.edu Z329 http://www.angel.gannon.edu T, TH; 01:30PM-02:50PM GCIS_504_0A Requirement Engineering Spring 2014 GCIS 504/GENG 580 Requirements Engineering Course Description: Define and apply techniques for minimizing ambiguity in natural language specifications for functional and nonfunctional requirements; Select and successfully apply techniques for analyzing and validating requirements; Construct and assess effective object models for requirements; Apply review techniques to ensure the quality of requirements engineering products; Apply requirements management techniques to trace requirements from elicitation through analysis and into specifications. Prerequisite: C/C++/Java or instructor permission. Textbook: Managing Software Requirements: A Use Case Approach, 2nd Edition, by Dean Leffingwell and Don Widrig, Addison-Wesley, 2003, ISBN 0-321-12477-X More About Software Requirements: Thorny Issues and Practical Advice, by Karl E. Wiegers (1 edition), Microsoft Press, ISBN 0735622671 Use Case Driven Object Modeling with UML: Theory and Practice, by Doug Rosenberg and Matt Stephens, Apress, 2007, ISBN 1-59059-774-5. (Optional) Objectives: After taking the class, students should be able to: Define and apply techniques for minimizing ambiguity in natural language specifications for functional and non-functional requirements Select and successfully apply techniques for analyzing and validating requirements Apply requirements management techniques to trace requirements from elicitation through analysis and into specifications Construct and assess effective object models for requirements Apply review techniques to ensure the quality of requirements engineering products Tentative Schedule: Topic Introduction to Software Engineering 6 Team Skills Team Skill 1 : Analyzing the Problem Team Skill 2: Understanding User and Stakeholder Needs Team Skill 3: Defining the System Chapters Ch 1: The Requirements Problem Ch 2: Introduction to Requirements Management Ch 3: Requirements and the Software Lifecycle Ch 4:The Software Team Ch 5: The Five Steps in Problem Analysis Ch 8: The Challenge of Requirements Elicitation Ch 9 :The Features of a Product or System Ch 10: Interviewing: A Requirements Gathering Technique Ch 11: Requirements Workshops Ch 12: Brainstorming and Idea Reduction Ch 13: Storyboarding Ch 14: A Use Case Primer Gannon University Course Syllabus Team Skill 4: Managing scope Team skill 5: Refining the system definition Team skill 6: Build system Agile Requirements Introduction to UML Introduction to Software Engineering Department of Computer & Information Science Ch 15: Organizing Requirements Information Ch 16: The Vision Document Ch 17: Product Management (skipped) Ch 18: Establishing project scope Ch 19: Managing your customer Ch 20. Software Requirements: a more rigorous look Ch 21: Refining the Use Cases Ch 22: Developing the Supplementary Specification Ch 23: On Ambiguity and Specificity Ch 24: Technical Methods for Specifying Requirements Ch 25. From Use Cases to Implementation Ch 26. From Use Cases to Test Cases Ch 27. Tracing Requirements Ch 28. Managing Change Ch 29. Assessing Requirements Quality in Iterative Development Ch30: Agile Requirements Methods Ch31: Your Prescription for Requirements Management From use case to classes UML class diagram Sequence diagram Ch 1: The Requirements Problem Ch 2: Introduction to Requirements Management Ch 3: Requirements and the Software Lifecycle Grading Polices: Item Projects/Homework Quiz Midterm Final Total Grade A AB+ B BC+ C CF Points 100 100 100 100 400 Grade Scale 90% 80% 70% 59% and below Points 360+ 355+ 330+ 320+ 315+ 290+ 280+ 275+ below 275 Topic presentation: You are required to present (with your partner) a peer-reviewed article from a renowned requirements engineering journal or conference proceedings. Sample topics include, but are not limited to: software security requirements, requirements modeling, and aspect-oriented requirements. Selection of article is subject to approval by the instructor. Contents of each presentation should include problem definition/motivation, what are the challenges, literature surveyed by the authors, specific theory/technique developed in the paper, weakness in the paper. To get the credit, you should well understand and present the selected article. Be prepared for questions from the instructor and other attendees. Gannon University Course Syllabus Department of Computer & Information Science Course Policies: Homework is due by the beginning of the next class. Late homework will be given zero. You cannot start a new assignment until the previous assignment has been received by the instructor. No make-up quizzes/exams will be allowed without prior arrangements being made. Do not ask questions such as "How do you solve Problem X?" Explain what you have done and ask a specific question in that context. Be seated, quiet, and ready to learn when the class time begins. Do not speak when someone else is speaking. Do not eat or drink in class because the sights, smells, and noises can be distracting to others. Be considerate and respectful of everyone. To appeal a grade, send an e-mail to your instructor's e-mail address within two weeks of the grade having been received. Overdue appeals will not be considered. All noise-make devices, such as cellular phones, pagers, CD players, radios, and similar devices are prohibited in the classroom and laboratory facilities. Calculators and computers are prohibited during examinations and quizzes, unless specified. Reasonable laptop-size computers may be used in lecture for the purpose of taking notes. Academic Integrity: All work should be the result of each individual’s effort, unless a team effort is authorized by the instructor. According to the Gannon University Undergraduate Catalog: 2010-2011, page 48: “Absolute integrity is expected of every Gannon student in all academic undertakings; the student must in no way misrepresent his/her work, fraudulently or unfairly advance his/her academic status, or be a party to another student’s failure to maintain integrity.” Please review pages 48-51 in the same catalog for additional details of the Gannon policy. Cheating on any assignment or exam will result in, at minimum, a zero grade on the document for the first occurrence. In most cases of a first occurrence the total points for the document will be subtracted from your semester score (e.g. cheating on a 60 point programming assignment will result in 60 points being subtracted from your total point accumulation). I reserve the right to assign a failing grade for the course for a first occurrence depending on the severity of the action and previous circumstances. If there is a second occurrence, at minimum a failing grade for the course will be given. Depending on the severity of and circumstances surrounding the cheating, further action may be pursued. In all cases, I will also apply the Computer and Information Science Department Procedures for Academic Integrity. This policy applies to both the individual(s) receiving the information and to the individual(s) supplying the information. If in doubt as to how I will view the assistance you may wish to give to a classmate, the best approach is to ask me before you provide the assistance.