June 14, 2015
June 14, 2015
June 17, 2015
Software Engineering Constituent Committee
26.1026.1 - 26.1026.10
Introducing Software Specifications to an Undergraduate Software Engineering ProgramThe complexities of developing clear and well-defined specifications and their important role inthe success of a software project are widely recognized, which recently led to increased attentionin corresponding courses in the Software Engineering curriculum. One of the challenges for suchcourses is that related topics are typically perceived by students as uninteresting and irrelevant,while it is difficult to bring the “real-world” experience to the classroom.This paper summarizes the author’s experiences in introducing a Software Specifications courseto the newly established Software Engineering (SE) degree program at _____________________in Spring 2014. This required course is taught in the second semester of the junior year, after anSE fundamentals course in the previous semester. The Specifications course included topics suchas Stakeholders, Eliciting, Writing, and Testing Requirements, and Requirement EngineeringTools, as well as UML, Agile Methodologies, and SE Ethics.An important part of the course is that it incorporates a collaborative learning component, in theform of a semester-long team project. In particular, student teams interacted with a client todevelop software according to the client’s specifications. During the semester, teams reported onclient meetings and presented their progress, including prototypes, to the class. Additionally,each student submitted their individual meeting preparation, including text, mockups, etc. Finalteam deliverables included fully developed application code plus documentation, such as SRS(Software Requirement Specifications) and user manual, followed by a team presentation of thefinal product. This is in contrast to many similar courses found in the literature where studentprojects include only SRS or similar deliverables.The course was developed to include an online (off-classroom) component that replaced some ofin-class lecture-based meetings. On one hand, the motivation behind this was to increaseflexibility for project-related activities including client meetings. At the same time, the courseemployed an inverted classroom model: in lieu of traditional lecture-based class meetings,students had tasks to complete before class meetings, such as readings and exercise activities;face-to-face class meetings incorporated discussion and hands-on application of the materialstudied off-class, in order to promote student engagement and active learning, as well as project-related activities. Assessment included online quizzes, homework, and an in-class exam.The first implementation of this course achieved positive student feedback and performance inthe class. Results, lessons learned, challenges, and future directions are also discussed in thepaper.
Koufakou, A. (2015, June), Introducing Software Specifications to an Undergraduate Software Engineering Program Paper presented at 2015 ASEE Annual Conference & Exposition, Seattle, Washington. 10.18260/p.24363
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: © 2015 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