Wednesday
you are in: HOME :: CURRICULUM :: SW REQUIRMENTS ENGINEERING : :
The principal problem area in software development and production are the requirements specification and the management of customer requirements. Improving the processes of discovering, documenting, and managing system requirements is critical for future business success.
Requirements Engineering is the term used to cover all of the activities involved in discovering, documenting, and maintaining a set of requirements for a computer-based system. The use of the term engineering implies that systematic and repeatable techniques should be used to ensure that system requirements are complete, consistent, relevant, etc.
The following material will be given to each student in the class;
Textbooks:
The course is intended for people who are becoming requirements engineers, for people working as requirements engineers and interested in learning new techniques, for people who want to develop a greater appreciation of the importance of requirements engineering, and for people who will be working closely with requirements engineers and need to understand how they do their jobs.
Rob Oshana is an adjunct professor at Southern Methodist University. He has designed and taught numerous courses in the School of Engineering and Applied Science. He also has over 23 years of industry software engineering experience managing multiple projects in the defense, commercial, and IT fields. He is a professional engineer, a Senior Member of IEEE and speaks regularly at industry conferences on a wide range of topics.
This course attempts to be self-contained. We will deal with some mathematical notation and formulas, but no math beyond elementary algebra will be used. Basic familiarity with computer systems is expected. Some programming experience will make some of the techniques we will discuss more meaningful.
The goal of this class is to provide you with techniques which can help you improve your requirements engineering process. By improving these processes, you will create descriptions of system requirements which are easier to understand and contain fewer errors and inconsistencies. You will also have more effective procedures for managing changes to these requirements and assessing the impact and cost of these changes