12.2. GUI Components

 
[Page 372 ( continued )]

11.2. The Software Development Process

Developing a software project is an engineering process. Software products, no matter how large or how small, have the same developmental phases: requirements specification, analysis, design, implementation, testing, deployment, and maintenance, as shown in Figure 11.1.

Figure 11.1. Developing a project involves requirements specification, system analysis, system design, implementation, testing, deployment, and maintenance.

Requirements specification is a formal process that seeks to understand the problem and document in detail what the software system needs to do. This phase involves close interaction between users and developers. Most of the examples in this book are simple, and their requirements are clearly stated. In the real world, however, problems are not well defined. You need to work closely with your customer and study a problem carefully to identify its requirements.

System analysis seeks to analyze the business process in terms of data flow, and to identify the system's input and output. Part of the analysis entails modeling the system's behavior. The model is intended to capture the essential elements of the system and to define services to the system.

System design is the process of designing the system's components. This phase involves the use of many levels of abstraction to decompose the problem into manageable components , identify classes and interfaces, and establish relationships among the classes and interfaces.

Implementation is translating the system design into programs. Separate programs are written for each component and put to work together. This phase requires the use of a programming language like Java. The implementation involves coding, testing, and debugging.

Testing ensures that the code meets the requirements specification and weeds out bugs . An independent team of software engineers not involved in the design and implementation of the project usually conducts such testing.


[Page 373]

Deployment makes the project available for use. For a Java applet, this means installing it on a Web server; for a Java application, installing it on the client's computer. A project usually consists of many classes. An effective approach for deployment is to package all the classes into a Java archive file, as will be introduced in §16.12, "Packaging and Deploying Java Projects."

Maintenance is concerned with changing and improving the product. A software product must continue to perform and improve in a changing environment. This requires periodic upgrades of the product to fix newly discovered bugs and incorporate changes.

This chapter is mainly concerned with object-oriented design. While there are many object-oriented methodologies, UML has become the industry-standard notation for object-oriented modeling, and itself leads to a methodology. The process of designing classes calls for identifying the classes and discovering the relationships among them.

 


Introduction to Java Programming-Comprehensive Version
Introduction to Java Programming-Comprehensive Version (6th Edition)
ISBN: B000ONFLUM
EAN: N/A
Year: 2004
Pages: 503

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net