Advanced Software Development Methodologies
Recommended for students with more than 5 years of experience in the software engineering field.
This course is designed as a continuation of RSEG 120 Software Development Methodologies. This course will continue to explore software engineering through the remaining project processes – Architecture, Design, Testing, and Maintenance. This course will provide both theoretical discussion of the need for the various process components, but will also provide information useful in deciding when a particular is necessary or when it is excessive for a particular project. The course will cover the processes in the context of both waterfall and iterative development models.
RSEG-0120 Software Development Methodologies or equivalent experience
After taking this course, the student will be able to:
Select and apply the necessary level of process to a project and tailor the process as needed.
Use the principles of software project management as they relate to planning, scheduling and determining risk.
Apply revision control on documents and code.
Control project progress and ensure product quality through the use of Change Control Board.
Conduct design and code reviews.
Apply knowledge of system development to the selection of rapid development techniques including agile methods, extreme programming RAD and prototyping.
Apply knowledge of various manual and automated techniques to verify and validate both the software and the process.
Apply the basic principles and challenges of effectively managing software development projects.
Identify and manage project and product risk.