Techniques used in large scale scientific or technical software development, including requirements analysis, specification, systems design, implementation, testing, validation, verification, and maintenance.
Upon completion, students will be able to:
- Analyze complex software requirements and translate them into clear and concise specifications.
- Demonstrate proficiency in designing software systems, considering factors such as modularity, scalability, and maintainability.
- Implement software solutions using appropriate tools and frameworks
- Demonstrate the skills of testing, validation, and verification of software components and systems to ensure correctness and reliability.
- Express the importance of maintenance and evolution in software engineering, including techniques for enhancing and adapting existing systems.
Grade Basis: L
Credit hours: 3.0
Lecture hours: 3.0