Advanced

CS/SE 6361.001, Spring 2014

*

 

 

Instructor:        Lawrence Chung

 

Office:              ECSS 3.204, ECS, UTD

 

E-mail:             chung@utdallas.edu

 

Phone:             972-883-2178

 

Course web page:        http://www.utdallas.edu/~chung/RE/syllabus.htm

 

Office hours:    T 12:45-2:45pm; or by appointment

 

Lectures:          TR 11:30am-12:45pm, ECSN 2.110

 

TA:                   Mohammad Ali Ghaderi (mohghaderi@utdallas.edu ; Office hours: TR 2pm-3:15pm; Office: ECSS4.203)

 


Course description: The course will discuss concepts for systematically establishing, defining and managing the requirements for a large, complex, changing and software-intensive systems, from technical, organizational and management perspectives. The course will consider the past, present and future paradigms and methodologies in requirements engineering. The course will cover informal, semi-formal and formal approaches, while striking a balance between theory and practice. The course will involve building models of both requirements engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.

 

                        The course will be taught by Dr. Lawrence Chung (CS). The course will be conducted as a mix of lectures and seminar-style discussions. Lectures are expected to be highly dynamic and interactive. Besides active participation during class discussions, students are expected to participate in a team-oriented requirements engineering project.

 

Learning objectives:     Upon successful completion of this course, students will:

• Understand the need for requirements for large-scale systems.

• Understand the stakeholders involved in requirements engineering.

• Understand requirements engineering processes.

• Understand models of requirements.

• Understand functional requirements.

• Understand non-functional requirements.

• Understand scenario analysis

• Understand object-oriented and goal-oriented requirements engineering.

 

 


Textbook:         Lecture Notes (available on the course web page)

 

References:

“Requirements Engineering on Google Scholar”:

http://scholar.google.com/scholar?q=requirements+engineering&hl=en&btnG=Search&as_sdt=10000000000001&as_sdtp=on

 

§  Requirements Engineering: From System Goals to UML Models to Software Specifications, Axel van Lamsweerde, John Wiley Sons

      • Managing Software Requirements: A Use Case Approach, 2nd edition, Dean Leffingwell, Don Widrig, Addison Wesley: Boston
      • Non-Functional Requirements in Software Engineering, L. Chung, B. Nixon, E. Yu and J. Mylopoulos,

Kluwer Academic Publishing, 2000 (An earlier version of a framework book chapter)

      • Software Requirements: Objects, Functions, & States, A. M. Davis, Prentice Hall: Englewood Cliffs, 1993.
      • System and Software Requirements Engineering: Tutorial, R. H. Thayer and M. Dortman (Editors),

IEEE Computer Society Press

      • Problem Frames: Analyzing and Structuring Software Development Problems, M. Jackson, Addison-Wesley Professional; 1st edition (December 15, 2000)
      • Requirements Engineering: Processes and Techniques, G. Kotonya and I. Sommerville, John Wiley Sons
      • Requirements Engineering - A Good Practice Guide, I. Sommerville and P. Sawyer, Wiley
      • Scenarios, Stories, Use Cases Through the Systems Development Life-Cycle,  I. Alexander and N. Maiden (eds.), John Wiley & Sons, 2004.
      • Requirements Engineerng: Frameworks for Understanding, R. Wieringa, Wiley, 1997
      • Requirements Engineering: Social and Technical Issues, J. Goguen, and M. Jirotka (Eds.), Academic Press, 1994.
      • Requirements Engineering, L. Macaulay, Springer Verlag, 1996
      • User-Centered Requirements Analysis, C. F. Martin, Prentice-Hall, 1994
      • Information System Requirements: Determination and Analysis, D. Flynn, McGraw-Hill, 1992
      • Are Your Lights On?: How to Figure Out What the Problem Really Is, D. C. Gause and G. M. Weinberg, Dorset House, 1990.
      • Exploring Requirements, D. Gause and G. Weinberg, Dorset House, 1989
      • Managing Systems Requirements: Methods, Tools, and Cases, S. J. Andriole, McGraw-Hill, 1996.
      • System Requirements Analysis, J. O. Grady, McGraw Hill, 1993.
      • Systems Engineering: Coping with Complexity, R. Stevens, K. Jackson, P. Brook, and S. Arnold, Prentice Hall 1998.
      • Requirements Engineering and Rapid Development: A Rigorous, Object-Oriented Approach, I. S. Graham, Addison-Wesley, 1998.
      • Practical Software Requirements; A Manual Of Content And Style, B. L. Kovitz, Manning Publications, 1998
      • User-Centered Requirements: The Scenario-Based Engineering Process, K. L. McGraw and K. Harbison, Lawrence Erlbaum Associates, 1997.
      • The Complete Systems Analysis, J. Robertson and S. Robertson, Dorset House, 1998.
      • Applying Use Cases: A Practical Guide, G. Schneider and J. P. Winters, Addison-Wesley, 1998.
      • Object-Oriented Analysis and Design, with Applications, G. Booch, Benjamin-Cummings, 1994
      • Object-Oriented Methods: A Foundation, J. Martin and J. Odell, Prentice-Hall, 1995
      • The Unified Modeling Language Reference Manual, J. Rumbaugh, I. Jacobson and G. Booch, Addison-Wesley, 1998

§  The Unified Modeling Language User Manual, G. Booch, J. Rumbaugh and I. Jacobson, Addison-Wesley, 1998.

 

A number of important articles are cited in lecture notes.

 


Prerequisites:  CS 5354 (SE 5354) Software Engineering, or CS 3353 (SE 3354).

 

Computer usage:

 

*A tool you might want to consider using.

 

 

Project:           There will be a 2-phase project. 

 

Each project phase should be submitted by the expected due date in the beginning of the class that day – one hardcopy per team and all the softcopies should be available on the team web site.  Project phases should be submitted with project phase #, class/section, team name; team URL; (rotating) team leader(s); and for each member of the team: student name, student ID, student email address, percentage of contribution and signature, written on the first page. There should also be a description of all the meeting conducted, and for each meeting: date, location, agenda, participants, and summary.

 

The project will be done by teams of approximately 8 students (The team size will depend on the number of students in the course, and more on this will be discussed in class). All students in a team will get the same mark for the work they do unless they unanimously agree (in writing) to an unequal division. You are to choose your own team members. An orphan will be assigned to a team by the instructor.

 

For each deliverable, there should be at least one team leader, who coordinates communication and deliverable submission.

 

Project I under development should be presented approximately 2 weeks before the final submission due date; Project II under development should be presented approximately 2 weeks before the submission due date.

 

The first or second page of your deliverable should describe all the meetings your team had, while indicating the participants in each of the meetings. This page should be signed by all members of the team.

 

The last page of your deliverable should describe why you believe your deliverable is at least as good as, or better than, any other team’s work, based on your observation on other teams’ presentations.

 

 

Tests:               There will be two tests, one in the middle (test 1) and the other at the end (test 2)  of  the course..

 

Late work:        Any assigned work will have 10 points deducted for each week passed, if without pre-approval. 

 

Grading:

Project (2 x 15)

30 %

Test 1

25 %

Test 2

40 %

Class Participation

5 %

 

 


Important Dates: The following dates are “agile”, and can be adjusted to reflect the progress and interest of the class.

 

1.     January 14 (Tuesday)  - First day of class for this course

 

2.     January 23 (Thursday)   - Preliminary Project  Plan (Team organization, Team leaders/deliverable, Team web site URL, Tools, etc.)

Template;  some samples

 

3.     February 27 (Thursday)/March 4 (Tuesday)  – Interim Project I (Preliminary definition [PDF]; A scenario [PDF]) submission & presentation

 

4.     March 6 (Thursday)  – Test 1

 

March 10 -- March 15, Spring Break

 

5.     March 20 (Thursday)  – Final Project I submission (and also possibly presentation)

 

*Devise your own template, but you could consider this as a reference

reqs-creeping-rates.docx

 

6.     April 15 (Tuesday)  – Interim project II  ([PDF]) submission (and also possibly presentation)

*A tool you might want to consider using.

 

7.     April 22 (Tuesday)  – Test 2

 

8.     April 24/29 (Thursday/Tuesday)  – Final Project II submission, presentation and demo

(Each team should set up a time with the TA to do a demo). At the time of the demo, a hardcopy should be submitted, which should include;

 

§  Final project plan

§  Project I

§  Project II

§  Any dependency/traceability between Project I and Project II

all in one document.

·         Presentation slides 1 & 2

 

! Please email the url to the instructor where all the files can be found as a single zip file !

 

10.   January 14 (Tuesday) – April 24/29 (Thursday/Tuesday):  communications and revisions of the project plan

 

 

Guest Lecture: TBA

 


Course Outline (subject to evolution, hence it is recommended that you download 1-2 modules at a time on a bi-weekly basis; Some modules won’t be covered, due to lack of time)                                                           

 Introduction to Requirements Engineering: Why, What and How [small-pdf]

-          Requirements Engineering Journal 

-          Examples of requirements defects

-          The Standish Report; About the CHAOS report; The “Chaos Report” Myth busters

-          Getting requirements right avoiding the top 10 traps

-          Also see cases 2 and 3 below (patriot missile; TCAS –transponder)

 

 Requirements Engineering Processes [small-pdf] {RE evolutionary process, RE basic process, RE in software lifecycle, Process vs. product specifications }          

 

 Requirements Models

 

 Requirements Analysis, Modeling and Specification [small-pdf] {Problem analysis, Solution space, Requirements prioritization}                                       

 

 Requirements Elicitation: Essential Concepts [small-pdf]{Critical issues, Desirable properties of requirements, Some elicitation techniques}

 

 Scenario Analysis   {Use cases, episodes, scripts, completeness of scenarios, mis-use cases, anti-goals}  

 

Enterprise Requirements: Modeling Techniques [small-pdf] {Business modeling with UML, Some conventional enterprise modeling techniques}

            A vision document template

            A sample vision document 1

A sample vision document 2

A sample stakeholder requests

 AS-IS or TO-BE?

 

                                                                                                                                               

Structured Analysis  

 

 Goal-Oriented Requirements Engineering 

            Classical problem solving technique                       

Non-Functional Requirements: {Why, What – definitions and classifications, How – product- and process-oriented approaches}  [4-on-1] [white-background] 

 KAOS, Agent-oriented enterprise modeling

                                               


The Principles and Practice of Engineering (PE) Software Engineering Exam


 

 

Other Possible Topics

 

Functional Requirements: Formal Structural Models                                                                                                                                             

 A Formal OO-RML/Telos  {Deficiencies of SA, RML/Telos Essentials, A Formalization}

 Metamodeling {Models, Metaclasse, Metamodels, Metamodels for UML and other notations}

Functional Requirements: Behavioral Models   {Decision-oriented, State-oriented, Function-oriented behavioral models}                                         

 

 Another possible topic: Requirements Verification

 Model Checking

 Model Finder

 


Some sample case studies:

·         Case 1: http://techdirt.com/articles/20060818/1613226.shtml

·         case 2: patriot missile: clock drift - 28 killed, over 90 injured   real cost of software failure   Patriot in the Persian Gulf War/Operation Desert Storm (January-February 1991)

·         case 3: TCAS - transponder

·         case 4: NY subway collision

·         case 5: U.S. Census Bureau collision

·         case 6: Reengineering work: don't automate, obliterate http://www3.uma.pt/filipejmsousa/ge/Hammer,%201990.pdf

·         case 7: Requirements Engineering - The root cause behind the failure of ERP Systems http://www.hemantjha.in/content/3/requirements-engineering-the-root-cause-behind-the-failure-of-erp-systems.html
http://www.lsi.upc.edu/events/recots/papers/Daneva.pdf

·         other cases: http://lessons-from-history.com/node/89

http://www.isixsigma.com/industries/software-it/software-defect-prevention-nutshell/

http://www.itu.dk/~slauesen/Papers/PrevDefectsProceedings.pdf

 

Priorities: Class Discussions !!, Lecture Notes !, Primary Reading and References!!!

 


Reusable course project material

Please do not reuse bad software; please do not repeat someone else’s mistake.

 

Presentations – Fall 2005

 

Presentations – Summer 2006

 

Presentations – Fall 2006

 

Presentations – Spring 2007

 

Presentations – Fall 2007

 

Presentations – Fall 2008

 

Presentations – Spring 2009

 

Presentations – Summer 2009

 

Presentations – Fall 2009

 

Presentations – Spring 2010

*

Presentations – Fall 2010

 

Presentations – Spring 2011

 


           

Frequently Asked Questions

 

errorPropagation

 

IEEE standard (IEEE standard – temporarily broken)

Document Templates – general IEEE

SRS sample

http://www.utdallas.edu/~chung/SP/RequirementsAnalysisDocumentTemplate.htm

 

Other samples and templates

 

A Tutorial on Temporal Logic

Case Studies on Temporal Logic

 

A UML Tutorial by Bruegge 

A UML Tutorial by Bruegge (A copy) 

 

 


Sample Project Descriptions

Course Project - Part I  [PostScript]  [PDF]

Sample Deliverable

Course Project - Part II –   [PostScript]  [PDF]

Sample Deliverable

Course Project - Part III – old, to be updated   [PostScript]  [PDF]


Sample Tests

Sample Test 1   [PostScript]  [PDF]

Sample Test 2   [PostScript]  [PDF]

Sample Test 3 and Answer   [PostScript]  [PDF]

Sample Test 4   [PostScript]  [PDF]

Sample Test 5   [PostScript]  [PDF]

 


*

 

 

Cheating/Dishonesty:

 

The University of Texas System Policy on Academic Honesty (The Regents and Regulations, Part One, Chapter VI, Section 3, Paragraph 3.22):

 

Any student who commits an act of scholastic dishonesty is subject to discipline. Scholastic dishonesty includes but is not limited to cheating, plagiarism, collusion, the submission for credit of any work or materials that are attributable in whole or in part to another person, taking an examination for another, any act designed to give unfair advantage to a student or the attempt to commit such acts.

 

UNIVERSITY POLICIES

 

Off-campus Instruction and Course Activities- Off-campus, out-of-state, and foreign instruction and activities are subject to state law and

University policies and procedures regarding travel and risk-related activities. Information regarding these rules and regulations may be found at

the website address http://www.utdallas.edu/BusinessAffairs/Travel_Risk_Activities.htm. Additional information is available from the office of

the school dean. Below is a description of any travel and/or risk-related activity associated with this course.

 

Student Conduct & Discipline- The University of Texas System and The University of Texas at Dallas have rules and regulations for the orderly

and efficient conduct of their business. It is the responsibility of each student and each student organization to be knowledgeable about the rules

and regulations which govern student conduct and activities. General information on student conduct and discipline is contained in the UTD

publication, A to Z Guide, which is provided to all registered students each academic year.

 

The University of Texas at Dallas administers student discipline within the procedures of recognized and established due process. Procedures are

defined and described in the Rules and Regulations, Board of Regents, The University of Texas System, Part 1, Chapter VI, Section 3, and in Title

V, Rules on Student Services and Activities of the university’s Handbook of Operating Procedures. Copies of these rules and regulations are

available to students in the Office of the Dean of Students, where staff members are available to assist students in interpreting the rules and

regulations (SU 1.602, 972/883-6391).

 

A student at the university neither loses the rights nor escapes the responsibilities of citizenship. He or she is expected to obey federal, state, and

local laws as well as the Regents’ Rules, university regulations, and administrative rules. Students are subject to discipline for violating the

standards of conduct whether such conduct takes place on or off campus, or whether civil or criminal penalties are also imposed for such conduct.

 

Academic Integrity- The faculty expects from its students a high level of responsibility and academic honesty. Because the value of an academic

degree depends upon the absolute integrity of the work done by the student for that degree, it is imperative that a student demonstrate a high

standard of individual honor in his or her scholastic work.

 

Scholastic dishonesty includes, but is not limited to, statements, acts or omissions related to applications for enrollment or the award of a degree,

and/or the submission as one’s own work or material that is not one’s own. As a general rule, scholastic dishonesty involves one of the following

acts: cheating, plagiarism, collusion and/or falsifying academic records. Students suspected of academic dishonesty are subject to disciplinary

proceedings.

 

Plagiarism, especially from the web, from portions of papers for other classes, and from any other source is unacceptable and will be dealt with

under the university’s policy on plagiarism (see general catalog for details). This course will use the resources of turnitin.com, which searches

the web for possible plagiarism and is over 90% effective.

 

Email Use- The University of Texas at Dallas recognizes the value and efficiency of communication between faculty/staff and students through

electronic mail. At the same time, email raises some issues concerning security and the identity of each individual in an email exchange. The

university encourages all official student email correspondence be sent only to a student’s U.T. Dallas email address and that faculty and staff

consider email from students official only if it originates from a UTD student account. This allows the university to maintain a high degree of

confidence in the identity of all individual corresponding and the security of the transmitted information. UTD furnishes each student with a free

email account that is to be used in all communication with university personnel. The Department of Information Resources at U.T. Dallas

provides a method for students to have their U.T. Dallas mail forwarded to other accounts.

 

Withdrawal from Class- The administration of this institution has set deadlines for withdrawal of any college-level courses. These dates and

times are published in that semester's course catalog. Administration procedures must be followed. It is the student's responsibility to handle

withdrawal requirements from any class. In other words, I cannot drop or withdraw any student. You must do the proper paperwork to ensure that

you will not receive a final grade of "F" in a course if you choose not to attend the class once you are enrolled.

 

Student Grievance Procedures- Procedures for student grievances are found in Title V, Rules on Student Services and Activities, of the

university’s Handbook of Operating Procedures.

 

In attempting to resolve any student grievance regarding grades, evaluations, or other fulfillments of academic responsibility, it is the obligation

of the student first to make a serious effort to resolve the matter with the instructor, supervisor, administrator, or committee with whom the

grievance originates (hereafter called “the respondent”). Individual faculty members retain primary responsibility for assigning grades and

evaluations. If the matter cannot be resolved at that level, the grievance must be submitted in writing to the respondent with a copy of the

respondent’s School Dean. If the matter is not resolved by the written response provided by the respondent, the student may submit a written

appeal to the School Dean. If the grievance is not resolved by the School Dean’s decision, the student may make a written appeal to the Dean of

Graduate or Undergraduate Education, and the deal will appoint and convene an Academic Appeals Panel. The decision of the Academic

Appeals Panel is final. The results of the academic appeals process will be distributed to all involved parties.

 

Copies of these rules and regulations are available to students in the Office of the Dean of Students, where staff members are available to assist

students in interpreting the rules and regulations.

 

Incomplete Grade Policy- As per university policy, incomplete grades will be granted only for work unavoidably missed at the semester’s end

and only if 70% of the course work has been completed. An incomplete grade must be resolved within eight (8) weeks from the first day of the

subsequent long semester. If the required work to complete the course and to remove the incomplete grade is not submitted by the specified

deadline, the incomplete grade is changed automatically to a grade of F.

 

Disability Services- The goal of Disability Services is to provide students with disabilities educational opportunities equal to those of their nondisabled

peers. Disability Services is located in room 1.610 in the Student Union. Office hours are Monday and Thursday, 8:30 a.m. to 6:30

p.m.; Tuesday and Wednesday, 8:30 a.m. to 7:30 p.m.; and Friday, 8:30 a.m. to 5:30 p.m.

 

The contact information for the Office of Disability Services is: The University of Texas at Dallas, SU 22, PO Box 830688, Richardson, Texas

75083-0688, (972) 883-2098 (voice or TTY)

 

Essentially, the law requires that colleges and universities make those reasonable adjustments necessary to eliminate discrimination on the basis

of disability. For example, it may be necessary to remove classroom prohibitions against tape recorders or animals (in the case of dog guides) for

students who are blind. Occasionally an assignment requirement may be substituted (for example, a research paper versus an oral presentation

for a student who is hearing impaired). Classes enrolled students with mobility impairments may have to be rescheduled in accessible facilities.

The college or university may need to provide special services such as registration, note-taking, or mobility assistance.

 

It is the student’s responsibility to notify his or her professors of the need for such an accommodation. Disability Services provides students with

letters to present to faculty members to verify that the student has a disability and needs accommodations. Individuals requiring special

accommodation should contact the professor after class or during office hours.

 

Religious Holy Days- The University of Texas at Dallas will excuse a student from class or other required activities for the travel to and

observance of a religious holy day for a religion whose places of worship are exempt from property tax under Section 11.20, Tax Code, and

Texas Code Annotated.

 

The student is encouraged to notify the instructor or activity sponsor as soon as possible regarding the absence, preferably in advance of the

assignment. The student, so excused, will be allowed to take the exam or complete the assignment within a reasonable time after the absence: a

period equal to the length of the absence, up to a maximum of one week. A student who notifies the instructor and completes any missed exam or

assignment may not be penalized for the absence. A student who fails to complete the exam or assignment within the prescribed period may

receive a failing grade for that exam or assignment.

 

If a student or an instructor disagrees about the nature of the absence [i.e., for the purpose of observing a religious holy day] or if there is similar

disagreement about whether the student has been given a reasonable time to complete any missed assignments or examinations, either the student

or the instructor may request a ruling from the chief executive officer of the institution, or his or her designee. The chief executive officer or

designee must take into account the legislative intent of TEC 51.911(b), and the student and instructor will abide by the decision of the chief

executive officer or designee.