TAILIEUCHUNG - Software Engineering For Students: A Programming Approach Part 7

Software Engineering For Students: A Programming Approach Part 7. This fully revised version of Doug Bell's Software Engineering: A Programming Approach continues to use the successful formula of the previous editions. The author's approach is to present the main principles, techniques and tools used in software engineering, one by one, chapter by chapter. This book is a unique introduction to software engineering for all students of computer science and its related disciplines. It is also ideal for practitioners wishing to remain current with new developments in the area | 38 Chapter 4 Requirements engineering On the other hand some people argue that it is impossible to divorce specification and implementation. Indeed in several major approaches to specification they are intermixed. In such a method the first task is to understand and to document the workings of an existing system. This might be a manual or a computer-based system or some combination. This investigation serves as the prelude to the development of a new computer system. Thus the implementation of one system the old acts as a major ingredient in the specification for the new system. For example suppose we wished to develop a computer system for a library that currently does not use computers. One approach would be to investigate and document all the current manual procedures for buying books cataloging shelving loaning etc. Having accomplished this task the next step is to decide which areas of activity are to be computerized for example the loans system . Finally the specification of the new system is derived from the design implementation of the old system. This approach to development seems very appealing and logical. However it does mean that implementation and specification are intertwined. There are several additional and powerful reasons why the analyst must think about implementation during specification. First they must check that a requirement is technically possible. For example is it possible to achieve a response time of second Second it is vital to consider implementation in order to estimate the cost and delivery date of the software. In order to estimate figures for performance and cost it will almost certainly be necessary to carry out some outline development at least as far as architectural design. So an ideal specification stipulates what not how. But this is not always practical. The qualities of a specification We have seen that ideally a specification should confine itself to what is needed. We now present a list of desirable qualities .