Software Engineering
An introduction to the practical problems of specifying, designing, and building large, reliable software systems. Students work in teams on projects for real clients. This work includes a feasibility study, requirements analysis, object-oriented design, implementation, testing, and delivery to the client. Additional topics covered in lectures include professionalism, project management, and the legal framework for software development
Learning Outcomes After completing this course the students will be able
to: a. Understand the principles of software engineering
outlined above. b. Understand and be fluent in the use of software
engineering terminology and nomenclature c. Be capable of intelligently communicating with most
members in a software development organization (management, analysts,
architects, developers, ...) d. Be able to create and use planning, requirements
analysis, domain analysis and design artifacts and carry them into code. e. Be capable of taking on the role of systems analyst in
a software development organization f. Be able to document all phases of the software
development processes g. Have the necessary tools to become a software
development project manager