SCHOOL OF INFORMATION TECHNOLOGY
AND MATHEMATICAL SCIENCES
CP 851 Principles of Software Engineering
Semester 2007/1
Tutorial Exercise Week 1:
Answer the * ones in groups during your Tutorial Class. Rest to be completed by next week. All answers need to be typed in and showed to your tutor during the next week’s tutorial class (Group submission) for getting ticked off and for discussion.
1. Explain how software engineering and system engineering relate to each other. Is this a containment or intersection relationship? Is it possible that the two concepts may not relate at all? Start by providing definitions of the terms “software”, “system”, “software engineering”, and “system engineering”.
Ans. Software can be defined as “sets of instructions that tell the computer how to take data in, how to process it, how to display information, and how to store data and information” (Oz, 2004, p.17). System can be defined as “a coherent set of interdependent components which exists for some purpose, has some stability, and can be usefully viewed as a whole” (Beynon-Davies, p.593).
Software engineering is an engineering discipline of developing quality software systems in the cost- and time-effective manner by team(s) of engineers. System engineering is the discipline of managing all aspects of development and evolution of complex systems.
Based on these definitions, the relationship between software and system engineering depends on whether or not we should assume that the notion of system relates to the notion of software. Well, in general terms, a system does not even have to be human-made. The solar or respiratory systems are natural, not human-made. There is no software in natural systems. The natural systems have not been engineered.
Clearly, system engineering does not apply to natural systems.
The question arises what “systems” are the subject of system engineering and software engineering? As far as software