SW3460 Software Methodology

The course is designed to teach students the basic concepts of software engineering and methods for requirements definition, design and testing of software. Specific topics include introduction to the software life cycle, basic concepts and principles of software engineering, object-oriented methods for requirements analysis, software design and development.


Object Orientated programming experience (CS2020) or consent of instructor

Lecture Hours


Lab Hours


Statement Of Course Objectives


Course Learning Outcomes

After completing this course, students will be able to do the following:

·       Plan the development of large software projects.

·       Describe the development processes best suited for different types of software systems.

·       Specify and evaluate software requirements.

·       Be familiar with the principles of architectural design.

·       Evaluate strong and weak points of alternative designs.

·       Develop conceptual data models for system interfaces using the abstract data types.

·       Apply risk analysis techniques to assess development risks and operational risks of software systems.

·       Describe quality assurance techniques for detecting faults in requirements, architectures, and implementations.

·       Apply heuristics for choosing test cases.

·       Be familiar with standard coverage criteria for test cases.

·       Be familiar with modern software engineering tools that support large scale software development, including configuration management.