CIS 350 Spring 2013

Final Exam Study Guide

This document lists some important questions that you should be able to answer about the assigned readings, as well as some other questions brought up in lecture.

Chapter numbers refer to Braude & Bernstein, unless otherwise noted.

Note that there is no implication to be made here regarding the types of questions you will see on the exam, or the level of difficulty. This is purely to give you an overview of the important concepts that were covered in the first half of the course.

Part 1: Building Software

Software Engineering and Process Models Agile Development Software Configuration Management Continuous Integration Requirements

Part 2: Testing Software

Software Testing Concepts Unit Testing

Part 3: Designing Software

Software Quality Design Concepts Object-oriented Design Design Complexity Metrics Implementation and Analyzability Testability

Part 4: Refactoring

Refactoring Basics Code Smells and Refactoring Patterns

You should be familiar with the following "code smells":

You should be familiar with the following refactoring patterns/techniques:

Part 5: External Quality

Concurrency and Synchronization Measuring and improving code performance Reliability

Part 6: Software Engineering in the Real World

Legal issues ACM Code of Ethics

Last updated: Tue 23 Apr 2013, 10:22pm