Apr 29, 2024  
2014-2015 Undergraduate Academic Catalog 
    
2014-2015 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

SE 2890 - Software Engineering Practices

2 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)