Software Engineering and the Processes Involved: A Case Study on ACI Development and their Techniques of Software Testing
Abstract
In working at ACI Development, I found an interest in the development of
computer software. Looking into this topic further, I realized that development is just
one of the important subjects within software engineering. These topics include software
design, documentation, development, quality assurance, testing, maintenance, and finally
the role of the software engineer itself. Each of these processes are equally important,
and they fit together like pieces of a puzzle. If one isn't done properly, the rest will also
be skewed.
Before anything else, computer software must be thought up and designed. The
software design is comparable to the blueprint of a house. There are many possible ways
to do the same thing, but how can something be built if there are no documented plans to
follow. This leads to the importance of documentation. It is necessary to let all persons
involved in a project know exactly where the project came from, what changes have been
made, and where it is heading.
After the software has been designed, the next phase is that of development. In
this phase, it is necessary to decide how we will handle the different things we want a
project to do (e.g. what type of data structures will we use in different functions). These
decisions are not set in stone, but it is once again important to document any that are
made.
The next major phase is quality assurance and software testing. These may be the
most important and time consuming steps throughout the software engineering process.
In these phases, the software is checked to see if the implementation is consistent with the
design. Numerous steps are taken to test the software, and in most cases this causes a
series of regressive tests. After bugs are found, the application is fixed and re-tested. It is
not until after this phase that a product is ready to be put on the market.
The final phase of software engineering, maintenance, is a continuous one.
During the software maintenance phase many tasks can be completed. These tasks
include: the bugs found by the user being documented, tested, and addressed, updates of
the product being made and shipped.
Throughout the rest of this project I will address all of these processes in some
depth, and give examples of some good techniques for producing a software product. I
will then relate these examples to examples of how ACI Development addressed and
dealt with each phase. Each process has many different options, or ways of doing things,
and I intend to show a variety of these options and techniques.
Collections
Related items
Showing items related by title, author, creator and subject.
-
Software Engineering vs. Software Programming and the Profiler Administrator Console
Gardner, Matt (2003)There is a difference between engineering and programming software. These differences are explored in the context of a summer internship at FactSet Research Systems. During this exploration, C++, Java, Perl, PHP, and ... -
Software Project Design: A Common Sense Approach to Software Development
Hedlich, Kirk (1990)The paper consists of three main sections. The first section presents background material from my internship project that I worked on during my SIP. The internship project will serve as the case study. The second ... -
The Software Engineering Process From the Software Testing Viewpoint
Larsen, Bradley M.; Segal, Michael Z. (1993)For our senior project, we worked as interns at a Kalamazoo software development company, I/Net, Inc. Owned in part by IBM, I/Net was developing a product which had been in the development stages for over a year. At the ...