Previous | Table of Contents | Next

Page 19

Week 1

Day 2

Guidelines for
Developing an Oracle
Application

The effort to develop a new Oracle application depends on many factors. Many excellent books have been written on the general topic of application development. In this lesson, you examine some of the considerations that come into play during the development of an Oracle database application.

Page 20

NOTE
In this lesson, the term users is meant to include all the stakeholders in the application—end users, managers, suppliers, customers, operations staff, and other developers.

Lessons Learned

The sad reality of applications development is that the failure rate is surprisingly high; the majority of new applications do not go into production. As an applications developer, it is important for you to understand why this is the case and what its implications are on the development process. If you religiously follow the suggestions in this lesson—or any other source—there is no guarantee that you will be successful in implementing the new application. If you haven't already discovered it, there is no silver bullet when it comes to software development!

In an ideal world, the steps for developing a new application consist of:

In reality, these steps are rarely followed in a serial fashion. Instead, a more common approach is for the sequence to be repeated several times, with the application getting closer and closer to implementing the "true requirements" (see Figure 2.1).

Let's delve into each of these steps a bit further.

NOTE
Every project has a set of roles that include: project manager, business process analyst, database designer, application designer, programmer, technical writer, database administrator, system administrator, and trainer. On a very small project, all of these roles may fall on your shoulders. On a large project, an entire team of people may be responsible for a particular area, such as training. The important thing to remember is that someone has to be responsible for each of these areas for the project to be successful.

Page 21

Figure 2.1.
Application develop-
ment cycle.


Gathering Requirements

The starting point for developing a new application is the task of gathering requirements. The task of defining the requirements of a new application is assumed to be necessary, straightforward, and obvious by everyone who has an influence on the new application. Gathering requirements is an art, not a science, and there are pitfalls every step of the way:

Page 22

Figure 2.2.
Risk and its relation-
ship to organizational
complexity.

You'll want to gather several types of requirements for your application:

There are many ways to keep track of requirements. Of course, you can take detailed notes. You also can build a requirements database and generate documentation from that. Or you could use components in Designer/2000 or other Computer Aided Software Engineering (CASE) tools. However, the method that you use to gather and document requirements is a function of several items:

Page 23

The answers to these questions will determine how structured you should be in gathering requirements and reviewing your understanding of the requirements with the stakeholders—end users, managers, and other developers. If your project has straightforward requirements, a modest budget, and a small staff, you may want to adapt an informal methodology for gathering and reviewing requirements: you still will want to document everything but without a formal review and signoff process. However, if your project has complex requirements, a significant budget, and a large staff, you should anticipate a formal process for requirements gathering, analysis, review, and signoff; if you don't see such a process in place, you may be witnessing a failure it its initial stage.

Designing and Building the Application

Someone once said that when designing a system, ten thousand decisions are made and rarely recorded. There are many major aspects to designing an application:

Previous | Table of Contents | Next

Используются технологии uCoz