June 16, 2002
June 16, 2002
June 19, 2002
7.748.1 - 7.748.9
Introducing Requirements Engineering in an Undergraduate Engineering Curriculum: Lessons Learnt
Dr. Deepti Suri
Assistant Professor Department of EECS Milwaukee School of Engineering Milwaukee, WI 53202 firstname.lastname@example.org
Abstract Requirements Engineering (RE) is the process of determining, analyzing, documenting, validating and maintaining the services and constraints of the systems that needs to be designed. Research indicates that on a typical software project, the percentage of time spent on RE and Design, Implementation, and Testing are 40%, 20% and 40% respectively, whereas for successful projects these numbers are 60, 15 and 25%. Because of the high importance of RE in the design of software systems, the need to introduce RE as a required course in the undergraduate Software Engineering (SE) and Computer Science (CS) curricula is getting more attention. This paper summarizes the author’s experiences in developing and teaching a RE course to juniors in the new Software Engineering degree program offered at Milwaukee School of Engineering (MSOE).
One of the major issues holding back broad acceptance of RE in the software industry today is the widespread belief that major effort in software development lies in programming and testing. Our students have similar perceptions and beliefs and like some seasoned practitioners, are more interested in “how” to solve problems instead of discovering “what” to solve, i.e. gathering the requirements. This paper details how working on “real” industrial projects with external clients for the first time in unfamiliar domains, spending an entire term writing documents (instead of programming), being cognizant of ethical issues, and having to deal with ambiguous and conflicting customer requirements made this course very different and challenging for students. The challenges faced by the instructor in developing and teaching this course are also summarized.
1. Introduction The chances of a product being developed on time and within budget are dependant on thorough and precise analysis of the client's current situation and needs. Informally, the client’s needs are also called “requirements.” A “requirement” is a specification of what should be implemented by a product. The IEEE standard defines requirement as “A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or
Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition Copyright © 2002, American Society of Engineering Education.
Suri, D. (2002, June), Introducing Requirements Engineering In An Undergraduate Software Engineering Curriculum: Lessons Learned Paper presented at 2002 Annual Conference, Montreal, Canada. 10.18260/1-2--11092
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2002 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015