Software Engineering Principles

David Lorge Parnas · INFOR Information Systems and Operational Research · 1984

Software engineering, the construction of useful programs, usually involves seve;ral people and programs that will be maintained in several versions. This paper discusses the technical problems that arise from the need to co-ordinate many people in the construction of families of similar, but not identical, programs. The problems that we discuss include using documentation as a software design medium; writing software requirements documents that are complete and precise; the meaning of "structure" in software design; the decomposition of programming projects into work assignments (modules); precise specification of the work assignments (modules); designing systems so that they are easily contracted or extended; designing abstract interfaces for modules; applying the concept of co-operating sequential processes; specifying and summarizing the behaviour of programs. This paper is intended to provide an introductory overview. The bibliography includes more thorough discussions of each topic.

Read the paper · More papers on PaperTik