This is the ever-changing slide page.
This page provides pointers to the overhead slides.
The class slides are currently in PostScript
format only: your browser should be able to use
GhostView, or something similar, as a helper.
-
The Software Crisis
-
From a Scientific American article of this title comes
a number of background issues, observations, and case studies for
consideration.
-
C++ Overview
-
These slides provide an overview of the main features of
C++, beginning with a comparison of struct and
class and ending with templates.
-
GP Overview
-
The GP environment is summarized, and its main features
are outlined.
-
Issues in Software Development
-
Large-scale software development is characterized, and the main issues
encountered in dealing with such development are reviewed.
-
Software Development Process
-
Classical textbook models of the software development
life cycle are surveyed.
-
Overview of Project Management Issues
-
Various aspects of project management responsibility and
management activity are surveyed. This is material
from Chapter 3 of Sommerville with a few additions
to include the management issues that arise in
managing the contract purchase of software rather
than its development. As an example that contracting
for software to be developed can also be done badly,
here is a
link to an article
on what can go wrong if the purchaser does not
keep a sharp eye on the developer.
-
Overview of Personnel Management Issues
-
Material from Chapter 28 of Sommerville dealing with
the structure of teams, group dynamics, and human learning.
-
Establishing Software Requirements
-
Material from Chapters 4 and 7 of Sommerville is presented
on the various levels of requirements that may be found
in a development project, their formulation and use by
various people in the client and developer side, and
the need for orderly revision and change.
-
Some Diagrammatic Design Tools
-
Material from Chapters 6, 12, 14, and 15 of Sommerville is presented
on various analysis and design approaches and some sketching
methods that can be used to capture aspects of the analysis and design.
-
Aspects of Software Quality
-
Software quality is a great big fuzzy area.
Material from Chapter 12 of Sommerville is presented
along with some material from several other authors.
These slides are still in their formative stages.
-
ISO 9000
-
Software quality is a great big fuzzy area.
However, the ISO wants to change all that.
-
Major Aspects of the Testing Process
-
Testing covers a large range of activities, confronts
various categories of information, and the information is
assessed in a variety of ways to govern and manage
software development.
-
White Box Testing and Cyclomatic Complexity
-
Real program development teams will often have
to guarantee that critical software is absolutely correct.
This material presents a method for determining all possible
paths through code as a prelude to determining data that will
exercise these paths. A byproduct of this approach is a measure
of the complexity of the code.
-
Metrics and Estimation
-
How do you measure the size of a software product
(particularly before it is built)? How do you estimate
its cost? What are the products of a software development
project? How can you compare quality of products?
Some of these issues are addressed directly in the
slides of this topic, and others of these issues are hinted at.