Chapter 1
- 2) Four important attributes are maintainability, dependability,
performance and usability. Other attributes that may be significant could
be reusability (can it be reused in other applications), distributability
(can it be distributed over a network of processors), portability (can it
operate on multiple platforms) and inter-operability (can it work with a
wide range of other software systems). Decompositions of the 4 key
attributes e.g. dependability decomposes to security, safety,
availability, etc. are also possible answers.
- 3) A software process is what actually goes on when software is
developed. A software process model is an abstraction and simplification
of a process. Process models can be used to help understand real
processes and to identify which aspects of these processes could be
supported by CASE tools.
- 4) Method support provided by CASE tools:
- Editors for specific graphical notations used
- Checking of the 'rules' and guidelines of the method
- Advice to tool users on what to do next
- Maintenance of a data dictionary - all names used in a system
- Automatic generation of skeleton code from the system models
- Generation of reports on the design
- 5) Problems and challenges for software engineering
- Developing systems that are trusted by their users
- Developing systems that are resistant to attack
- Developing systems that can be adapted and configured by end-users
- Finding ways of testing, validating and maintaining end-user
developed systems
There are obviously lots of other problems that could be mentioned here.