Home
Research profile
Teaching profile
Professional profile
Personal profile
Contact information

Course title

EECS812: Software Requirements Engineering (Fall 2023)
Tuesday and Thursdays, 11:00-12:15 AM, Learned 3151
Course web site: people.eecs.ku.edu/~saiedian/812

Prerequisites and expected audience Graduate standing in computer science or computer engineering, EECS348, EECS448, or a similar software engineering course (or industrial experience in software development).

Instructor

Professor Hossein Saiedian
Offices: Eaton 3012
Telephone: 785-864-8812
E-Mail: saiedian @ ku.edu
WWW: people.eecs.ku.edu/~saiedian
Office Hours: Tuesdays and Thursdays, 1:00-2:15 PM (and by appointment)

Course overview

The objectives of this course are to help students understand the importance of requirements engineering and its role in the software development process. Students will learn to identify and define the different types of software requirements, use a variety of techniques to elicit, analyze, and model requirements, and specify requirements in a clear, concise, and unambiguous manner. They will also learn to use formal and rigorous processes and tools to define, manage, and validate requirements, and apply modern and practical techniques for requirements engineering, such as use cases, user stories, and agile methods. The course will:

  • Explain the importance of requirements engineering and how it impacts the software development process.
  • Describe the different activities that take place during the software requirements engineering process, such as elicitation, definition, analysis, modeling, and specification.
  • Identify and explain the formal and rigorous processes and tools that can be used to capture, model, and document software requirements.
  • Discuss the core requirements engineering activities of elicitation, modeling, documenting, and validating, and explain how they are used to ensure that requirements are complete, consistent, and accurate.
  • Describe modern and practical (practitioner-based) techniques for requirements engineering, such as use cases, user stories, and agile methods.

Catalog course description Objectives, processes, and activities of requirements engineering and requirements management; characteristics of good requirements; types of requirements; managing changing requirements; languages, notations and methodologies for modeling and defining the requirements; formal and semi-formal methods of presenting and validating the requirements; requirements standards; requirements tracability issues

Suggested textbooks

Suggested textbook: Axel van Lamsweerde, Requirements Engineering: From System Goals to UML Models, Wiley, 2009

Suggested: Klaus Pohl, Requirements Engineering: Fundamentals, Principles, and Techniques, Springer, 2010

Suggested: Karl Wiegers and Joy Beatty, Software Requirements, Third Edition, Microsoft Press, 2014.

This book is written for industrial professionals.

Weakly suggested: Joy Beatty and Anthony Chen, Visual Models for Software Requirements, Microsoft Press, 2012.

This book covers many of the modern and legacy visual models for describing the software requirements.

Supplementary information for the course (e.g., PowerPoint slides, class announcements, the course syllabus, test dates, and other information) will be made available on Canvas. Students are responsible for lecture notes, reading assignments as well as items referenced during the classroom sessions. The students are also responsible for regularly visiting the class website for topics covered and any date changes.

Other resources

Most of the course lectures will be the instructor's notes. Appropriate resources will be added to the course website . In addition to the above, students should also develop a habit of regularly browsing such journals as IEEE Computer, IEEE Software, and Communications of the ACM.

Lecture notes

Project files

Evaluation criteria (Subject to revision)

Students will be evaluated as follows:

  • Grade distribution

    Quizzes and exams: 50%
    Assignments: 25%
    Research project: 25%

  • Grading scale

    A = 90%-100%
    B = 80%-89%
    C = 70%-79%
    D = 60%-69%

Late-work, makeup policy. No late work will be accepted. No makeup option (for a lab, quiz, or exam) will be provided. Certain exceptions will be made for excusable absences such as family emergencies, religious observance, illnesses, and such. Verification (documentation) of an excusable absence will be required. The request for absence approval (with verification documents) must be submitted and approved ahead of time.

All written work must be typeset including diagrams and submitted on Canvas. The writing quality as well as the quality of drawings must be on par with the quality expected of graduate students in School of Engineering at the University of Kansas.

Exams and quizzes will be in-person, in classroom, closed book and notes and on Canvas. Always bring a device that allows you to connect to Canvas to take an exam or quiz. While taking an exam or quiz, no other devices is to be used other than the device used for connecting to Canvas. No other file or app other than Canvas should be open. If using a browser to connect to Canvas, only one tab for connecting to Canvas should be running.

  • On exams, quizzes, and assignments: Avoid a single paragraph response for a question that has multiple parts. If a question says "name three parts of ..." then give three paragraphs, one for each part to prevent ambiguous or intertwining responses. Better yet, start each paragraph as (1), (2), (3). If you provide more than three parts, only the first three will be graded.
  • On exams, quizzes, and assignments: Give responses that were discussed and presented in class and are in lecture notes. We are not interested in ChatGPT, Wikipedia or similar responses; we will be rewarding students who attend class, take notes, study their own notes, and provide responses that connect to the classroom discussion and contents.
  • On exams, quizzes, and assignments: Your response will have to be precise and complete and technical. Avoid vague and incomplete responses. We have to make sure you understood the concepts to give full credit. An answer that's basically correct but perhaps vague or incomplete or an answer that has something to do with a correct answer but is not precise or is somehow off the mark will not receive full credit.

Research project options

The research project provides an opportunity for each student to become expert in an area related to the topic of the course. It can include a term paper, or eight weekly journal article reading/evaluation, one of which will have to be presented in class. Details below.

Term paper. Those who would like to do a term paper may choose an applied research topic, e.g., an evaluation or comparison of certain methodologies for a real case study (or a reconstruction of a case study reported in literature). Another option is a comprehensive survey paper about the state of the art research/development of a particular topic. Yet another option is to make an objective evaluation of several research projects tackling the same problem. Other ideas are welcome. The guidelines for preparing a term paper proposal, guidelines for preparing an outline, and guidelines for writing a term paper have to be strictly followed. The term paper decision and the tentative topic should be made by the third week of the semester.

Useful tools. The ACM Digital Library (DL) and the IEEE Digital Library (DL) provide a wealth of research papers on IT and computing. KU offers iThenticate. This is a very handy tools to ensure one has properly cited research work used while writing a paper.

Weekly journal article evaluation. Those interested in weekly paper reading: you'll need to read eight (8) articles and prepare a two-page evaluation. The papers you choose should be from the recent issues of the following journals: IEEE Software, IEEE Computer, Communications of the ACM, as well as leading journals (published by the ACM, IEEE-CS, Springer, and Elsevier) related directly to the topic of the course. Read the guidelines for weekly paper reviews. One of these papers will have to be presented in class. Carefully follow the guidelines for making a presentation. The list of the papers should be provided by the third week of the semester. The ACM and IEEE digital libraries provide references to millions of IT and computing references.

Weekly schedule (re-visit for updates)

The following is the weekly semester schedule of lecture topics and related curricular activities.

Course review
Software development life cycle models
The role of software requirements
Examples of requirements

What is requirements engineering
What are requirements
The requirements engineering process
Types of requirements

Why model
Domain engineering and modeling
Elicitation techniques

Introduction to use case modeling
Mastering use case modeling
UML Class diagrams for domain/requirement modeling

Tuesday September 19: Exam 1
UML class diagrams for (structural) domain modeling

Use case modeling and scenarios

State and state transition (behavioral) modeling

Dynamic (behavioral) state modeling

Requirements evaluation, validation and verifications
Consistency checking

Tuesday October 17: No class (last day of fall break)

Dynamic (behavioral) state modeling

Tuesday October 24: Exam 2

Dynamic (behavioral) state modeling
Regular expressions

Some truth about the software requirements

Formal techniques for specifying and verifying the requirements (Z, Petri nets, ...)

Formal techniques for specifying and verifying the requirements

Formal language Z: more on funcitons; Z sequences

Formal language Z: more on funcitons; Z sequences

Thursday November 23: No class (Thanksgiving break)

Specifying data requirements
Risk reduction through prototyping
Setting requirement priorities
Requirements reuse
Beyond requirements development
Requirements engineering management

Transition to design: an architecture-centeric approach
    Architectural styles
    Architectural patterns
    Domain-specific architectures

Transition to design: an architecture-centeric approach (continued)
    Architectural styles
    Architectural patterns
    Domain-specific architectures

Course review; preparing for the final exam (review options)

Final exam Thursday December 14 10:30-1:00 pm



LLM and generative AI tools

Generative AI tools—such as ChatGPT, GitHub Copilot, Gemini , and others—can be valuable resources for learning. When used appropriately, they may assist in brainstorming, exploring ideas, and refining drafts. However, they must never replace your own intellectual work.

These tools are akin to the writing center consultants, the EECS programming tutors, and lab assistants: they can guide and support but must not generate final submissions. Submitting content primarily generated by AI is a violation of academic integrity, comparable to submitting work completed by someone else.

Unless explicitly permitted, all coursework must reflect your original understanding, reasoning, and expression. If you use AI tools at any stage of an assignment, you are required to disclose that use via a brief reflection, which must include:

  • A description of how and why AI was used
  • The specific prompts you entered
  • How you validated and revised the AI output
  • The challenges or limitations you faced while using AI

Failure to disclose use of AI tools or submitting AI-generated work as your own will be treated as academic misconduct. Minimum consequences include a zero on the assignment. Depending on severity, further penalties may include failure in the course and formal referral to the School of Engineering disciplinary committee.

This course is designed to build your skills—not evaluate the performance of generative tools. Authentic engagement with course challenges leads to meaningful growth. Overreliance on AI undermines both your learning and the integrity of our academic community.

Intellectual honesty is not optional—it defines your identity as an engineer, a scholar, and a professional.
.

Academic integrity policy

The University of Kansas, the School of Engineering, and the Department of Electrical Engineering & Computer Science (EECS) maintain a zero-tolerance policy toward academic dishonesty and misconduct. All students enrolled in this course are expected to uphold the highest standards of integrity and professionalism in their academic work.

Academic dishonesty includes, but is not limited to:

  • Plagiarism: Representing another person’s work, writing, or ideas—whether published, unpublished, or submitted by another student—as one’s own, without proper attribution.
  • Unauthorized collaboration: Giving or receiving unapproved help on assignments, projects, quizzes, or exams.
  • Misrepresentation: Knowingly presenting false information or misattributing the source of academic work.
  • Cheating: Using unauthorized resources during assessments or submitting work completed by someone else.
  • Falsification of research or data: Fabricating results, manipulating data, or misreporting findings.

The minimum consequence for an academic integrity violation is a zero on the item in question (e.g., lab, assignment, quiz, or exam). Depending on severity, penalties may include a grade reduction, a failing grade for the course, and formal referral to the School of Engineering's disciplinary committee for further review and sanctions.

All definitions and procedures follow institutional policy and guidance outlined by the University of Kansas Office of Student Affairs and the EECS Department. Students are expected to be familiar with and adhere to these standards at all times.

Please also see KU's academic misconduct policy

LMS features. During exams or quizzes, only one device should be used, with solely the Canvas app or a single browser tab for Canvas open. Having any other app or file open will be considered a violation of academic integrity. To further facilitate academic integrity, the following features of Canvas will be utilized:

  • Each exam and quiz will be conducted synchronously in classroom, will be scheduled on a regular weekly session.
  • Each exam or quiz will have a limited and narrow time (set via a timer) to be completed and each person will get only one chance to do it.
  • Exam and quiz questions will be randomly numbered for each person. Furthermore, the multiple choice, matching and similar questions will have randomized choice selections. As a result, a choice like "All of the above" or "None of the above" may not be the last choice and refers to the other choices.
  • Exam and quiz questions will be displayed one-at-a time, with no backtracking.
  • The "originality checking" mechanisms of LMS will be utilized for exams but also assignments. LMS is able to check written responses against online databases of previously published works and trace sentences or clauses to other sources.
  • LMS features to prohibit printing, copying/pasting of exams will be turned on.
  • LMS lockdown feature will be employed.

Code of student rights and responsibility: Code of Student Rights and Responsibilities

The School of Engineering statement on EdTech

"[P]rofessors and instructors at the KU School of Engineering are aware that some students are actively posting assignments, laboratory, and exam questions and responses to EdTech services (e.g., Chegg) even during exam time frames.

Keep in mind that when a person signs up to participate by either uploading, and/or downloading, and/or using posted material from these sites, the “terms of service” that are agreed to do not protect the person when KU and/or the School of Engineering decide to conduct investigations related to academic misconduct (e.g., plagiarism and/or cheating).

In fact, EdTech services, like Chegg, retain contact information of students who use their services and will release that information, which is traceable, upon request. Using these services constitutes academic misconduct, which is not tolerated in the School of Engineering. It violates Article 3r, Section 6 of its Rules & Regulations, and may lead to grades of F in compromised course(s), transcript citations of academic misconduct, and expulsion from the University of Kansas.

If unsure about assignments, it is important that students use the allowable available resources, such as instructor office hours, graduate teaching assistants, and/or tutoring. The School of Engineering wants students to be successful; cheating is not the way to attain that success."

Attendance, late work, and makeup policies

Attendance expectation. Regular attendance is essential for success in this course and its lab components. Attendance will be be recorded throughout the semester via iClicker. More than three unexcused absences will result in a one-letter reduction in the final course grade, which will be reflected when grades are posted at the end of the term.

Excused absence requests. Requests for excused absences must be submitted in advance and approved by the instructor, except in cases of emergency. Supporting documentation must be included with all requests. For emergencies, notify the instructor as soon as possible following the absence. Examples of excusable absences are listed below.

Examples of excusable absences.

Responsibility for missed work. Students who miss class without a valid excuse are responsible for obtaining missed materials. The instructor or the TAs will not provide individual makeup lectures or one-on-one instruction. It is the student's responsibility to stay informed about course content and course updates.

Late-work, makeup policy. Late work will not be accepted under any circumstances. Make-up options for labs, quizzes, and exams are unavailable except in cases of excused and verified absences.

Timing of make-up assessments. Make-up quizzes and exams for excused absences must be completed before the class session in which the quiz or exam content will be reviewed or its answer key released. Make-up labs must be completed within one week of the excused absence.

Make-up assessment integrity statement. If granted permission to take a quiz or exam at a later time due to an excused absence, the student must affirm the following: “I acknowledge that I have been granted the opportunity to complete this assessment as a result of an officially excused absence from its original administration. I hereby affirm—without reservation—that I have not sought, received, or accessed any information regarding the content, structure, or subject matter of this quiz or exam from any individual who previously completed it. This includes, but is not limited to, verbal conversations, written notes, online discussions, messaging apps, shared files, or any other form of communication. I understand that violating this pledge constitutes academic misconduct and will result in immediate disciplinary action, including a failing grade on the assessment and referral to the School of Engineering disciplinary committees.”

Common policies

Technical problems. If you experience technical problems with your EECS account or the EECS servers or the lab equipment, please submit a support request help at: https://tsc.ku.edu/request-support-engineering-tsc.

Inside classroom policy. Students are expected to come to the class on time, be attentive and engaged, conduct themselves professionally, and avoid anything that could cause a distraction or detrimental either for other students learning or for the instructor's presentations. Profanity and swearing is not allowed.

Students are expected to actively participate in all classroom presentations and discussions, ask questions, and regularly make contributions such as offering comments, responding with good answers, and providing feedback.

Canvas announcements. Announcements is a Canvas tool to post important information and updates to all members of a course. It is your responsibility to regularly check your Canvas account for such announcements (students may also receive an email notification when a new announcement is posted).

Email communications E-mail communication is fast, flexible, and effective. You have an @ku.edu email account and you are expected to regularly check it. Important information may also be communicated via email.

You are a student registered in a course offered by the School of Engineering at the University of Kansas, a top regional and a nationally ranked institution. Your communications, especially written communications (composition, grammar, spelling, punctuation, etc), should reflect that status. Please include a descriptive subject in all emails, and for course-related communications, begin the subject line with EECS###. Please follow these email guidelines and etiquettes.

Send text-only emails in text-only format. All classroom assignments, labs, or projects should be typeset and submitted on Canvas. Other documents (e.g., documents for an excusable absence) shoud be emailed in PDF or a well-known image format (e.g., JPG or PNG). See the Guidelines for submitting electronic documents.

Grade and absence clarification or correction. If you believe your grades on an assignment, lab, quiz, or exam are incorrect, you should formally submit a grade appeal via email to the instructor within one week of receiving the graded work. Similarly, if you have an excusable absence, and you did not provide documentation prior to the absence, submit relevant documentation within one week of the absence. Failure to address concerns within these timeframes will result in the decision becoming final. This timeline ensures timely resolution and fairness for all parties involved.

Cell phone policy. Cell phones should be turned off before coming to the classroom. Cell phone use for the purposes of texting, email or other social media should be avoided. Earphones for music are OK during lab work or individualized problem solving, as long as the volume allows you to hear announcements. Also cell phone or other cameras may be used to photograph projects and the whiteboard but avoid shots that include the presenter or other students.

Laptop/electronic device policy. The use of laptops, tablets or similar devices is common for taking notes but turn off audio and avoid any possible uses that could cause distraction for others (e.g., Web surfing or social media visits).

Incomplete grade policy. "Incomplete (I) grades are used to note, temporarily, that students have been unable to complete a portion of the required course work during that semester due to circumstances beyond their control. Incomplete work must be completed and assigned an A-F or S/U grade within the time period prescribed by the course instructor. After one calendar year from the original grade due date, an Incomplete (I) grade will automatically convert to a grade of F or U, or the lapsed grade assigned by the course instructor."

Also please review change of grade policy here and here.

Accommodations for students with disabilities. The University of Kansas is committed to providing equal opportunity for participation in all programs, services and activities. Requests for special accommodations may be made thru the KU Student Access Services.

The Provost's freedom of expression statement . "Our IRISE values will guide us and our students as we all engage with each other in respectful freedom of expression.

In a setting as diverse as KU, we will inevitably encounter ideas, opinions and philosophies that are different than our own and which some personally find uncomfortable or offensive. To be clear, threats, incitement of violence and targeted harassment are not protected speech under the First Amendment. Offensive speech, although it can be painful, is generally considered protected speech. We need to strongly encourage and facilitate civil and respectful discussion and interaction. We simply must not inhibit or penalize expression protected by the First Amendment."

Please also see: The Provost's academic year welcome memo

KU's nondiscrimination, equal opportunity. "The University of Kansas prohibits discrimination on the basis of race, color, ethnicity, religion, sex, national origin, age, ancestry, disability, status as a veteran, sexual orientation, marital status, parental status, gender identity, gender expression, and genetic information in the University's programs and activities."

Please also see: KU's statement on nondiscrimination and on racial and ethnic harassment policy.

KU's sexual harassment policy. "The University of Kansas prohibits sexual harassment and is committed to preventing, correcting, and disciplining incidents of unlawful harassment, including sexual harassment and sexual assault."

Please also see KU's statement on sexual harassment.

KU's mandatory reporter statement. "The University of Kansas has decided that all employees, with few exceptions, are responsible employees or mandatory reporters who must report incidents of discrimination, harassment, and sexual violence that they learn of in their employment at KU to the Office of Civil Rights and Title IX. This includes faculty members. As such, if you share information about discrimination, harassment, or sexual violence with me, I will have to relay that information to the Office of Civil Rights and Title IX. I truly value your trust in me to share that information and I want to be upfront about my requirement as a mandatory reporter. If you are interested in contacting KU’s confidential resources (those who do not have to make disclosures to OCRTIX), there are: the Care Coordinator, Melissa Foree; CAPS therapists; Watkins Health Care Providers; and the Ombuds Office."

Please see KU's statement on mandatory reporting.

KU's commercial note-taking ventures. "Pursuant to the University of Kansas’ Policy on Commercial Note-Taking Ventures, commercial note-taking is not permitted in this course. Lecture notes and course materials may be taken for personal use, for the purpose of mastering the course material, and may not be sold to any person or entity in any form. Any student engaged in or contributing to the commercial exchange of notes or course materials will be subject to discipline, including academic misconduct charges, in accordance with University policy. Please note: note-taking provided by a student volunteer for a student with a disability, as a reasonable accommodation under the ADA, is not the same as commercial note-taking and is not covered under this policy."

Please see KU's statement on commercial note-taking.

Concealed handguns. "Individuals who choose to carry concealed handguns are solely responsible to do so in a safe and secure manner in strict conformity with state and federal laws and KU weapons policy. Safety measures outlined in the KU weapons policy specify that a concealed handgun:

  • Must be under the constant control of the carrier.
  • Must be out of view, concealed either on the body of the carrier, or backpack, purse, or bag that remains under the carriers custody and control.
  • Must be in a holster that covers the trigger area and secures any external hammer in an un-cocked position.
  • Must have the safety on, and have no round in the chamber."