Software Engineering For Students: A Programming Approach
Format: PDF / Kindle (mobi) / ePub
Software Engineering for Students presents a range of current techniques and tools for people who have experienced the pleasures of writing programs and who want to see how things change in the scale up to large programs and software systems. The students' familiarity with programming gives them relevant background and the confidence to grasp the fundamentals of this subject. The book starts by explaining the challenges that large software projects present, moving on to cover the current principles, techniques and tools that are used in software development throughout the industrialised world.
therefore it is very difficult to carry out a feasibility study. This may explain why it is common to ignore it. There is, however, another common reason for avoiding a feasibility study: once an idea for a system has been suggested, the project generates its own momentum, people become committed to it and it cannot be stopped. Instead people talk about a business case for the system, which tends to emphasize the positive aspects while minimizing the negative. Bear in mind that sometimes the
early part of any software development project. The process of user interface design, described above, is similar to the requirements analysis phase. In interface design, the user of a system plays a central role and thus user evaluation of prototypes is probably essential. SELF-TEST QUESTION 5.2 What problems can you see with this approach to design? Once a user interface prototype has been created, it is evaluated to determine whether it meets the needs of the user. Evaluation can range from
Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1966. BELL_C07.QXD 1/30/05 4:19 PM Page 87 CHAPTER 7 Structured programming This chapter explains: ■ the principles of structured programming ■ the arguments surrounding the goto statement. 7.1 ● Introduction Structured programming is now part and parcel of most approaches to programming. It is widely accepted that it is not only the best, but the only way to carry out programming. This was not
achieved if the control flow constructs are used in a disciplined way, so that part of structured programming is the avoidance of gotos. For example, consider the program in Figure 7.3. We can draw boxes around components as shown. Because it is built from limited control structures, we can view the program at all levels of detail as consisting of abstract components that have only one entry and one exit. If we examine any subsystem of the program, it is totally contained – the boxes do not
actions) that software must take. The flexibility of functional decomposition means that it can be used in the design of software for any type of application; it is generally applicable. But because it concentrates on the actions that the software has to take, it is perhaps most useful for problems in which the procedural steps are clearly evident. One such area is numerical computation, like a program to calculate a square root. Another is the control of a sequential process, like a washing