Software Engineering
Entries
This collection contains 34 items
Collector(s)
Doug Troy, Mark Hoffman
Description
Course assignments and resources for Software Engineering and related courses.
Bug Enhancement Report
This is my abstract; there are many like it, but this one is mine
Software Development Methodology Recommendation Memo
Describe software development life-cycle and need for associated processes: the life-cycle phases, engineering and management processes, and relationships between the phases and processes. Describe and compare alternative software process standards and presses (e.g. waterfall, incremental, spiral,…
Risks in Estimating and Managing Software Development Projects Technical Memo
Issues and challenges in estimating project effort. Examine the characteristics of software projects that make them a challenge to partition. Examine roles and responsibilities in a software team, and management issues of teams.
Program Review Report
The Program Review Report assignment directs student teams to install, run, and evaluate software from a previous iteration of the course. The Program Review Report is first of five assignments that prepare students to develop the software they evaluate in this assignment over four two-week scrum…
Our Software Development Methodology Technical Memo
Describe software development life-cycle and need for associated processes: the life-cycle phases, engineering and management processes, and relationships between the phases and processes. Introduce UML as a design tool.
Customer Requirements Report
The Customer Requirements Report assignment directs student teams to gather and evaluate data from novice and expert users to synthesize a software development plan. The Customer Requirements Report is second of five assignments that prepare students to develop the software they evaluated in the…
Eliciting Requirements: Preparation for Requirements Workshop with Client
Analyze and create a requirements specifications using scenarios. Prepare to interview a client.
Prioritized Bug/Enhancement Report
The Prioritized Bug/Enhancement Report assignment directs student teams to development criteria to rank bugs and enhancements, create a prioritized list of bugs and enhancements, and to estimate time and resources for each item. The Prioritized Bug/Enhancement Report is third of five assignments…
Eliciting Requirements: Use Case Modeling Memo
Analyze and create a requirements specifications using scenarios or use cases.
Creating the Team Product Backlog Memo
Work with a team to analyze requirements using use cases or scenarios.
Project Management Tools Report
The Project Management Tools Report assignment directs student teams to evaluate and select tools for process and configuration management. The Project Management Tools Report is fourth of five assignments that prepare students to develop the software they evaluated in Program Review Report…
Planning for Elaboration Memo
Apply a contemporary software development process to a case study.
Preliminary Test Plan Report
The Preliminary Test Plan Report assignment directs student teams to develop a test plan for items on the Prioritized Bug/Enhancement Report. The Preliminary Test Plan Report is fifth of five assignments that prepare students to develop the software they evaluated in the Program Review Report…
Domain Model Diagram
Create UML Class diagrams that represent a problem domain from a requirement
System Sequence Diagram
Create UML sequence diagrams to express class behavior
Scrum Process Management
The Scrum Process Management assignment directs student teams to develop software using the Scrum process management strategy. The Scrum Process Management assignment follows five assignments that prepare students to develop the software they evaluate in this assignment over four two-week scrum…
Test-Driven Development and Refactoring Memo
Describe refactoring. Describe test-driven design. Describe an example of application of refactoring.
Revision Control and Introduction to Subversion Memo
Explain the purpose of version control and apply it to manage software design or code artifacts.
Static and Dynamic Object Modeling Memo
Apply a contemporary analysis and design approach, such as object-oriented to a case study. Compare UML class and sequence diagrams.
Software Architecture Document – Architectural Decisions Memo
Document a project's software architecture and implementation using multiple views.
GRASP Patterns and Principles Memo
Describe the purpose of design principles and patterns. Describe some principles and patterns.
GRASP Patterns and Principles Memo II
Describe seveal design patterns.
Logical Architecture and Layer Pattern Memo
Describe logical architecture and the layers pattern.
Physical Architecture and Deployment Diagrams
Sketch a deployment diagram describing the implementation of a system.
The Basics of Software Testing Memo
Describe general principles that guide software testing.
Testing Techniques Memo
Compare static and dynamic testing approaches.
Lab - Introduction to UML and Use Case Context Diagrams
Use UML class diagrams to create a context diagram for a case study.
Lab - Domain Model using UML Class Diagram
Create UML class diagrams that represent a problem domain from a requirement specification.
Lab - System Sequence Diagram
Create UML sequence diagrams to express class behavior.
Lab - Product Test Plan
Develop a system test plan.
Lab - Product Test Results
Execute a system test for another team's product.
Project Closure Report
Post-mortem report for the semester-long team project. Students reflect on the software development process and recommend improvements to the process.
Project
This is a semester-long class project using iterative development for a sophomore-level course. Students are assumed to have had an introduction to object-oriented programming. The attached zip file has assignments for five iterations covering the inception, elaboration, and contruction phases.
Project presentations
This is a set of presentation assignments for the semester-long class project. For each iteration of the project teams present their understanding of the project and demo the implementation to the client. Teams are also expected to elicit feedback from the client.
Comments