This course will survey techniques and tools used in the application of engineering principles to the development of software systems. From those surveyed, a software lifecycle model will be utilized in developing a modern software product. Upon completion of this course students will have gained the knowledge and skills necessary to apply engineering principles, techniques, and tools in the development of software. Prerequisite: IST 146 or permission. Offered alternate spring terms.