Software Engineering - Old Questions

1. Define software. Discuss system modeling with suitable example.

6 marks | Asked in 2072

Software is an organized collection of computer programs and associated documentation. A software system consist of a number of several programs, configuration files which are used to set of these programs and system documentations which describe the structure of system and user documentation which explain how to use the software.

System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system. It is about representing a system using some kind of graphical notation, such as Unified Modeling Language (UML). Models help the analyst to understand the functionality of the system; they are used to communicate with customers.

Models can explain the system from different perspectives:

  • An external perspective, where we model the context or environment of the system.
  • An interaction perspective, where we model the interactions between a system and its environment, or between the components of a system.
  • structural perspective, where we model the organization of a system or the structure of the data that is processed by the system.
  • behavioral perspective, where we model the dynamic behavior of the system and how it responds to events.

Five types of UML diagrams that are the most useful for system modeling:

  • Activity diagrams, which show the activities involved in a process or in data processing.
  • Use case diagrams, which show the interactions between a system and its environment.
  • Sequence diagrams, which show interactions between actors and the system and between system components.
  • Class diagrams, which show the object classes in the system and the associations between these classes.
  • State diagrams, which show how the system reacts to internal and external events.