6 hours lab per week(0-6-2)
Designation: Required Course
Course Level: Undergraduate
Prerequisite(s) by Topic:
- Software tools and environments
- Software processes
- Software requirements and specifications
- Software design
- Using APIs
- Software Validation
- Software project management
- Communication skills
- Writing skills
This is the second part of a two-semester, senior-year capstone project. Student teams employ knowledge gained from courses throughout the program such as the development of requirements, design, implementation, and quality assurance to develop a software solution to a real-world problem from conception to completion. In this part, students implement the design they produced in SWE 417, test their code, and evaluate their final product.
Pressman, R.S. Software Engineering: A Practitioner’s Approach, 6th Ed., McGraw-Hill Companies, Inc., 2005.
Somerville, Ian. Software Engineering, 7th Ed., Addison-Wesley, 2004.
Upon completion of this course, students will have the ability to:
- Develop implementation and testing project plans for a software development project.
- Review and inspect software requirements specification (SRS) and software design document (SDD).
- Design and implement test plans and apply appropriate testing techniques.
- Implement a software system given requirements and design documents using sound development practices.
- Work as a responsible member, and possibly a leader, of a team in developing software solutions.
- Express technical ideas, strategies and methodologies in written form.
- Prepare and conduct oral presentations.
- Self-learn and use the available software tools, technologies and techniques.
- Understand the impact of computing solutions in a global and societal context.
- Realize ethical and professional responsibilities.
- Rapid software development
- Software reuse
- Component-based SWE
- Critical systems development
- Software evolution
- Configuration management
- Web engineering
- Analysis of web applications
- Design for web applications
- Testing web applications