CSEN 603 Software Engineering

Course Information


  •  The course is an introduction to the discipline of Software Engineering. Students will explore the major phases of the Software Lifecycle, including analysis, specification, design, implementation, and testing. Techniques for creating documentation and using software development tools will be presented. Students will develop a software system, working in a team.

    Students will gain experience in software project management, requirements, analysis, and design, procedural maturity, social, ethical, cultural, and safety issues in deployment, interpersonal skills for management and team membership, and the software engineering tact of systems architecture.


  •  Topics covered:

    • The software system life cycle
    • Ethical and Social Issues
    • Computer-based System Engineering
    • Software Processes
    • Project Management
    • Software Requirements
    • Requirements Engineering
    • CASE Technology
    • Specification
    • Architectural Design
    • System Models
    • Verification and Validation
    • Software Testing


  •  The main objective of this course is to introduce the most essential concepts of software engineering and the software development life cycle. The course covers methodological techniques for software specification, design, implementation, testing, verification and documentation. The course also introduces the use of state-of-the-art tools for computer-aided software engineering.


  •  Software Engineering - 7th Edition - By Ian Sommerville