Software Engineering: Why me?

Tom Kelliher, CS 245

Sept. 3, 2004

Administrivia

Announcements

ACM Programming contest: 11/16. Two teams, 2--3/team. Practices on fall Saturdays.

Assignment

Carefully read 1.7--1.10.

From Last Time

Introduction.

Outline

  1. Discussion of Chapter 1.

Coming Up

Project discussion, project teams

Discussion

  1. Compare the process of building a large structure, such as a skyscraper, to the process of creating a complex piece of software, such as a spreadsheet or DBMS. It is conventionally understood that significant time and effort go into architecture and design for a skyscraper, but for many, it is not clear how important these efforts are to producing equally reliable software. Why do you suppose this point is not understood?

  2. You want someone to write a program to automate your household finances. Write a narrative description of this problem, so that a second party can use this description to write a useful program.

    Exchange your narrative with a classmate's and critique the description for ambiguities and omissions.

  3. Why engineer software?

  4. What are the dangers of not following a software engineering paradigm?

  5. Where can software engineering projects go wrong?

  6. Describe the conceptualization, representation, and implementation phases of a software engineering project.



Thomas P. Kelliher
Thu Sep 2 13:56:09 EDT 2004
Tom Kelliher