Page 1209 - The Mechatronics Handbook
P. 1209

0066_frame_C49.fm  Page 4  Thursday, January 10, 2002  5:05 PM









                          • Distributed. Any system in which a number of independent, interconnected processes can coop-
                            erate. The client/server model is one of the most popular forms of distribution in use today. In
                            this model, a client initiates a distributed activity and a server carries out that activity.
                          • Simulation. The representation of selected characteristics of the behavior of one physical or abstract
                            system by another system. For example, a software program can simulate an airplane or an orga-
                            nization or another software program.
                          • Documentation. It includes the description of requirements, specification, and design as well as
                            written or generated documentation, which describe how each program within the larger system
                            operates and can be used; and comments which describe the operation of the program that are
                            stored internally in the program.
                          • Tools. The software programs used to design, develop, test, analyze, or maintain system designs
                            or another software program and its documentation. They include code generators, compilers,
                            editors, database management systems (DBMS), GUI builders, debuggers, operating systems, and
                            software development and systems engineering tools referred to in the 1990s as computer-aided
                            software engineering (CASE) tools and now often referred to as life-cycle design or life-cycle
                            development environments, which combine a set of tools, including some of those listed above.
                       Although the reader should by now understand the dynamics of a line of source code, where that line
                       of source code fits into the superorganism of software is dependent upon many variables. This includes
                       the industry the reader hails from as well as the software development paradigm used by the organization.
                         As a base unit, a line of code can be joined with other lines of code to form many things. In a traditional
                       software environment many lines of code form a program, sometimes referred to as an application
                       program or just plain application. But lines of source code by themselves cannot be executed. First, source
                       code must be run through what is called a compiler to create an object code. Next, the object code is
                       run through a linker which is used to construct an executable code. Compilers are programs themselves.
                       Their function is twofold. The compiler first checks the source code for obvious syntax errors and then,
                       if it finds none, creates object code for a specific operating system. UNIX, Linux (a spinoff of UNIX),
                       and NT are all examples of operating systems. An operating system can be thought of as a supervising
                       program that controls the application programs that run under its control. Since operating systems (as
                       well as computer architectures) can be different from each other, the object code resulting from the source
                       code compiled for one operating system cannot be executed under a different kind of operating system—
                       without a recompilation.
                         Solving a complex business or engineering problem often requires more than one program. One or
                       more programs that run in tandem to solve a common problem is known collectively as a system. The
                       more modern technique of object-oriented development dispenses with the notion of the program alto-
                       gether and replaces it with a classification-oriented concept of an object.
                         Where a program can be considered a critical mass of code, which performs many functions in the
                       attempt to solve a problem with little consideration for object boundaries, an object is associated with
                       the code to solve a particular set of functions having to do with just that type of object. By combining
                       objects, like molecules, it is possible to create more organized systems than those created by traditional
                       means. Software development becomes a speedier and less error-prone process as well. Since objects can
                       be reused, once tested and implemented, they can be placed in a library for other developers to reuse.
                       The more objects in the library, the easier and quicker it is to develop new systems. And since the objects
                       being reused have, in theory, already been warranted (i.e., they’ve been tested and made error-free), there
                       is less possibility that object-oriented systems will have major defects.
                         The process of writing programs and/or objects is known as software development, or software engi-
                       neering. It is composed of a series of steps or phases, collectively referred to as a development life cycle.
                       The phases include (at a bare minimum) the following: an analysis or requirements phase, where the
                       business problem is dissected and understood; a specification phase, where decisions are made as to how
                       the requirements will be fulfilled (e.g., deciding what functions are allocated to software and what
                       functions are allocated to hardware); a design phase, where everything from the GUI to the database to

                        ©2002 CRC Press LLC
   1204   1205   1206   1207   1208   1209   1210   1211   1212   1213   1214