|
Apr 18, 2024
|
|
|
|
SE 2890 - Software Engineering Practices2 lecture hours 2 lab hours 3 credits Course Description This course provides an introduction to the discipline of software engineering for Non-majors. Students will be exposed to the practices employed in determining requirements for the software which is to be developed. From the requirements specification, problem domain analysis will lead to a high level design. After review, the high level design will be used to create detailed designs and implement the software on a desktop machine. These activities will be reinforced through a team project and culminating with group oral presentations. (prereq: CS 2852 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Recognize the risks of software failure and appreciate the importance of a disciplined software development approach.
- Compare and contrast distinct models for software development.
- Employ rudimentary configuration management tools and processes across a software development project
- Verify through the practice of review that specified requirements are accurate, unambiguous, complete and consistent
- Apply UML modeling tools to represent all phases of a software engineering project
- Conduct efficient and effective software reviews, and measure the effectiveness of those reviews
- Perform rudimentary software testing using both manual and automated mechanisms
- Demonstrate independent learning to accomplish tasks for which all of the details may not have been taught in previous courses.
- Work effectively in a team environment on a short-term software development project
- Communicate design and implementation judgment to others through a team-based oral presentation
- Demonstrate effective written and oral communications skills
Prerequisites by Topic Course Topics
- Introduction to Software Failure (1 class)
- Overview of Software Development Processes (1 class)
- Requirements and Use Cases (3 classes)
- Software Reviews (3 classes)
- Object Domain Analysis and Object Behavioral Analysis (4 classes)
- Design Patterns/ Detailed Design (2 classes)
- Code implementation (2 classes)
- Review and/or exam (1 class)
- Java Threading (1 class)
- Testing/Verification of Software (2 classes)
Laboratory Topics
- Individual Software Development Processes and Individual Project Management (2 sessions)
- Requirements Review and Requirements Capture (1 session)
- Object Domain Analysis (1 session)
- Object Behavioral Analysis (1 session)
- High Level Design/ High Level Partitioning (1 session)
- Detailed Design/ Implementation (2 sessions)
- Testing (1 session)
- Oral Presentations (1 session)
Coordinator Walter Schilling
Add to Portfolio (opens a new window)
|
|