|
Nov 22, 2024
|
|
|
|
SE 2030 - Software Engineering Tools and Practices2 lecture hours 2 lab hours 3 credits Course Description This course provides an introduction to the software engineering tools and practices - a look at typical approaches software engineers use to create applications in practice. Topics include requirements analysis, high-level design, detail-level design, UML modeling, code generation, basic unit testing, application building, continuous integration, and revision management. Laboratory assignments provide an opportunity for students to develop an understanding of these tools and how they are used in actual practice. (prereq: none) (coreq: CS 2852 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Create UML class, state, and sequence diagrams using a CASE tool
- Transform requirements documented as use cases into UML design models
- Generate source code from UML design models, and synchronize subsequent changes
- Create simple unit tests and execute them in a standard test framework
- Maintain source code and related design documents in a revision control system
- Create a deployable software package using an automated build tool
- Create an installable software package using an automated build tool
Prerequisites by Topic
- Proficiency in a high-level object-oriented programming language
- Knowledge of basic object-oriented programming concepts, data structures, and software design techniques
Course Topics
- Introduction to the course and software engineering practices
- Source code generation from UML models
- Synchronizing source code with UML models
- Use of a revision control system to archive source code and related documentation
- Writing and executing Unit Tests using a framework
- Use of an automated build tool for software package creation: meta-languages, scripts, rules, targets, actions
- Software requirements analysis: reading use case scenarios and use case textual analysis
- High-level design: requirements coverage, communication diagrams
- Detailed design: class, communication, activity, state, and sequence diagrams
Laboratory Topics
- Development of various small software projects to facilitate practice and with integrated tool usage
Coordinator Dr. Derek Riley
Add to Portfolio (opens a new window)
|
|