|
Apr 29, 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 • No prerequisites by topic appended. 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)
|
|