• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint

Lab 2.4 Exercises

2.4.1. Compare Traditional and Modern Software Development Life Cycle Methodologies

a) Discuss the major flaw in the traditional waterfall model for the software development life cycle (SDLC).

________________________________________________________________________

________________________________________________________________________

A1:

Answer: The major flaw in the traditional waterfall model is its lack of user involvement in the design and implementation stages of the software development life cycle.

These stages of the waterfall model make up the bulk of the SDLC and are usually the most costly. Developers are always faced with many choices when deciding on the detailed implementation, particularly when faced with the fine details of the user interface layout and the ordering of interactions with the users.

Finding a problem with the user interface during testing normally requires the developers to backtrack to the specification stage with redesign and a new implementation to follow. Thus, backtracking is a time-consuming and costly exercise.

b) Discuss the key aspects of the participatory design method of software development.

________________________________________________________________________

________________________________________________________________________

A2:

Answer: Users (or their representatives) are involved in all stages of the SDLC. Developers observe users' working environments, use models of users, and typically include some users on the design team. Knowledge from all HCI-related disciplines is applied and integrated with the software development. Highly iterative testing is done with user feedback after each iteration.

c) Why is it important to include iteration in the SDLC?

________________________________________________________________________

________________________________________________________________________

A3:

Answer: Each stage introduces errors into the SDLC. It is important to proceed in small stages followed by evaluation. This process is iterated many times to determine progress toward the ultimate goal.

One aspect I see that a lot of developers miss is that corrections sometimes introduce new errors that are not related to the original problem. This even happens to major software developers like Microsoft, where one Service Pack broke the keyboard hardware driver for several non-English keyboards. By doing the development iteratively, you repeat all of the same steps (and therefore the same tests). This helps catch any new bugs introduced to the code by the “fixes.”
d) How does prototyping help produce a better user interface?

________________________________________________________________________

________________________________________________________________________

A4:

Answer: Prototypes allow the user to visualize the user interface and comment upon the layout and interaction sequences. This feedback forms valuable input into the design and implementation stages.

One thing you need to watch is exactly what you are prototyping. As we mentioned in the lab, users will not likely understand the notations and methodologies employed during the design and coding stages. In addition, they are not likely to understand the technical aspects of the code. Therefore, it is not generally necessary to involve them in the development stages of the functional aspects of the application (such as database access, network connectivity, and so forth). On the other hand, since it is the interface that the user will be in contact with, they obviously need to be involved in its development.

Note also that a prototype for the functional aspects of the application does not necessarily need a user interface—the user interface prototype needs some functionality. Simply having the input screen to look at is not enough; the user must be able to have the system react to input and have the user react to output provided by the application.

e) Distinguish between feature analysis and task analysis.

________________________________________________________________________

________________________________________________________________________

A5:

Answer: Task analysis records the actual sequence of work undertaken by users and the data involved. From this task record, a list of features to enable the work to be carried out can be drawn up. The tasks should dictate which software features to include in the final product. Feature analysis involves turning a list of features into related groups, in order to aid the layout design of user interfaces.

f) How does RAD support the software development process?

________________________________________________________________________

________________________________________________________________________

A6:

Answer: Rapid application development (RAD) provides not only for rapid prototyping development but also rapid development of the actual code.

Such products are based upon palette-driven front-end tools, which allow user interface designs to be built rapidly. Behind the user interface, interpretive code or scripts are generated to introduce standard responses to user actions. This gives the users the impression of a working interactive system on which to base their feedback.

Indeed, the provision of rapid prototyping development software has become a lucrative niche market for software development tools. More and more products are available that are based on palette-driven front-end tools, which allow user interface designs to be built rapidly.

g) Discuss the star life cycle.

________________________________________________________________________

________________________________________________________________________

A7:

Answer: The star life cycle has no one particular starting stage. This allows for both top-down and bottom-up development, or a combination, to suit the type of software being developed. It may be that an initial prototype is needed to gain user support for a broad idea. On the other hand, a feature analysis might be the ideal starting point where the users' needs are better known. The star cycle even allows for the case where an existing implementation is available (already owned software) and needs to be matched with a requirements specification.

Lab 2.4 Self-Review Questions

In order to test your progress, you should be able to answer the following questions.


PREVIEW

                                                                          

Not a subscriber?

Start A Free Trial


  
  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint