Gannon University Course Syllabus Department of Computer & Information Science

Instructor: Frank Xu, Ph.D.

Office: Z312

Contact Info:

Class Location: Z329

Website: http://www.angel.gannon.edu

Time: T, TH; 01:30PM-02:50PM

Course Title: GCIS_504_0A Requirement Engineering

Semester: Spring 2014

GCIS 504/GENG 580 Requirements Engineering

Course Description:

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; 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 / Chapters
Introduction to Software Engineering / Ch 1: The Requirements Problem
Ch 2: Introduction to Requirements Management
Ch 3: Requirements and the Software Lifecycle
6 Team Skills / Ch 4:The Software Team
Team Skill 1 : Analyzing the Problem / Ch 5: The Five Steps in Problem Analysis
Ch 8: The Challenge of Requirements Elicitation
Ch 9 :The Features of a Product or System
Team Skill 2: Understanding User and Stakeholder Needs
/ Ch 10: Interviewing: A Requirements Gathering Technique
Ch 11: Requirements Workshops
Ch 12: Brainstorming and Idea Reduction
Ch 13: Storyboarding
Team Skill 3: Defining the System
/ Ch 14: A Use Case Primer
Ch 15: Organizing Requirements Information
Ch 16: The Vision Document
Ch 17: Product Management (skipped)
Team Skill 4: Managing scope / Ch 18: Establishing project scope
Ch 19: Managing your customer
Team skill 5: Refining the system definition
/ 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
Team skill 6: Build system
/ 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
Agile Requirements / Ch30: Agile Requirements Methods
Ch31: Your Prescription for Requirements Management
Introduction to UML / From use case to classes
UML class diagram
Sequence diagram
Introduction to Software Engineering / Ch 1: The Requirements Problem
Ch 2: Introduction to Requirements Management
Ch 3: Requirements and the Software Lifecycle

Grading Polices:

Item / Points
Projects/Homework / 100
Quiz / 100
Midterm / 100
Final / 100
Total / 400
Grade / Grade Scale / Points
A / 90% / 360+
A- / 355+
B+ / 330+
B / 80% / 320+
B- / 315+
C+ / 290+
C / 70% / 280+
C- / 275+
F / 59% and below / 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.


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.