CSCE 121 Software Engineering

From Notes
Jump to navigation Jump to search

« previous | Monday, November 29, 2010 | next »


Software Lifecycle

  1. Analysis: identify problems
  2. Design: break into modules
  3. Implementation: write code
  4. Testing: test every line of each module in isolation and when they're together


Tools

Computer-aided software engineering (CASE) tools

  • Generate Code
  • Keep data in perspective


Modularity

Object-oriented code has noun requirements; Objects represent these nouns and how they relate to each other

Sharing of information is called Coupling:

Control coupling
transfers control to another module using a function call
Data coupling
sharing data

Make coupling explicit and obvious. That's why we pass parameters instead of using global variables

Top-Down

Start with high-level idea of solution and refine it

Bottom-Up

Identify small tasks and learn how to combine them.

Cons: How would you know what the required individual tasks are?

Middle-Out

Start with set of classes that model application concepts.

Work down to implement classes

Work up to combine the classes


Documentation

Explain to the user how to use the code.