Ingenieria De Software



Stage 1: Information Strategy Planning. Concerned with top management goal and critical success factors. Concerned with how technology can be used to create new opportunities or competitive advantages. A high-level overview is created of the enterprise, its functions, data, and information needs.


Stage 2: Business Area Analysis. Concerned with what processes are needed to run a selected business area, how these processes interrelate, and what data is needed.


Stage 3: System Design. Concerned with how selected processes in the business area are implemented in procedures and how these procedures work. Direct end-user involvement is needed in the design of procedures.


Stage 4: Construction. Implementation of the procedures using, where practical, code generators, fourth-generation languages, and end-user tools. Design is linked to construction by means of prototyping.


Stage 1, information strategy planning, has taken from three to nine months in most enterprises. It is accomplished by a small team who study the enterprise and interview its management. Information strategy planning requires commitment from top management. A primary concern is that of strategic uses of technology: How can computing be used to make the enterprise more competitive? The results are interesting and stimulating to top management because they are concerned with how technology can be used as a weapon against competition. Diagrammed representations of the enterprise are created which challenge management to think about its structure, its goals, the information needed, and the factors critical for success. The information strategy planning process often results in identification of organizational and operational problems and solutions.


Stage 2, business area analysis, is done separately for each business area. A typical business area analysis takes about six months, depending on the breadth of the area selected. Several such studies for different business areas may be done by different teams simultaneously. Business area analysis does not attempt to design systems; it merely attempts to understand and model the processes and data required to run the business area.


Stage 3, system design, changes dramatically when design automation tools are used. with these tools, design work is accelerated because the design is created on a computer screen rather than at a drawing board with pencils and plastic templates. The designer can constantly edit the design, adding and changing blocks and links, cutting and pasting, and enhancing details. The computer provides details about data and processes, guides the designer, and verifies the design through integrity checks. The designer must create a well-structured design; the tools enforce this. The tools should require designs that provide a basis for code generation.


Stage 4, construction, follows when the computer constructs systems by employing a code generator and sometimes fourth-generation languages or decision-support tools.


It is important to note that the four-stage information engineering process described here requires that much more time be spent on planning and design than on execution. In traditional systems development, time and effort are heavily skewed to coding. This creates a “chicken-and-eggs” problems, miring I.S. professionals deeper into the development backlog: an endless cycle of poor planning feeding inadequate design, resulting in systems that do not meet business needs and require major revisions and maintenance (i.e., more coding). The lack of automated tools for systems development has aggravated this problem. A key objective of information engineering is to impose rules on analysis and design that are normal enough to direct the computer to generate code, thus freeing I.S. professional from the burden of coding. Systems development under the information engineering discipline attacks the backlog problems form two directions: Planning and rigor result in (1) better systems requiring less revision and maintenance, and (2) breakthroughs in applying computing power to code generation. Systems built under the information engineering discipline should then continue to evolve with business needs on an ongoing basis.



THE ENCYCLOPEDIA The heart of information engineering is an encyclopedia. The encyclopedia is a computerized repository which steadily accumulates information relating to the planning, analysis, design, construction, and later, maintenance of systems. Tools for computer aided systems engineering (CASE) and information engineering have employed two types of repository, a dictionary and an encyclopedia.


·        A dictionary contains names and descriptions of data items, processes, variables, and so on.

·        An encyclopedia contains this dictionary information and a complete, coded representation of plans, models, and designs, with tools for cross-checking, correlation analysis, and validation. The encyclpoedia stores the meaning represented in diagrams and enforces consistency within this representation. The encyclopedia “understands” the design, whereas a simple dictionary does not. (Box 1.3).


As the stages of information engineering progress, knowledge is gathered and stored in an encyclopedia. The concept of the encyclopedia is central to information engineering. The data models and process models, and planning information are stored in the encyclopedia, as well as facts, rules, and policies.


            A dictionary contains names and descriptions of data items, processes, variables, and so on. An encyclopedia contains complete coded representations of plans, models, and designs with tools for cross-checking, correlation analysis, and validation. Graphic representations are derived from the encyclopedia and are used to update it. The encyclopedia contains many rules relating to the knowledge it stores and employs rule processing, the artificial-intelligence technique, to help achieve accuracy, integrity, and completeness of the plans, models, and designs. The encyclopedia is thus a knowledgebase which not only stores development information but helps control its accuracy and validity.


            The encyclopedia should be designed to drive a code generator. The tool set helps the systems analyst build up in the encyclopedia the information necessary for code generation. To emphasize that the encyclopedia is an intelligent facility which uses rules (in the artificial-intelligence sense) to help achieve accuracy, integrity, and completeness of the plans, models, and designs, it is drawn through these books with the icon shown above.


            The encyclopedia stores the meaning represented in diagrams and enforces consistency within this representation. Graphic representations are derived from the encyclopedia and are used to update it by means of CASE tools screen is a facet of a broader set of knowledge which may reside in the encyclopedia. The encyclopedia normally contains far more detail than is on the diagram. This detail can be displayed in windows by mouse navigation around a hyperdiagram.


            At the top of the pyramid, the information in the encyclopedia relates to the strategic planning of the enterprise. The information engineering methodology at this level is more business planning than data processing planning. The intent is to anchor firmly the use of computers into the top management strategies for the enterprise, and to align system development priorities with business strategy priorities. Particularly important are the identification of opportunities by which technology can make the enterprise more competitive. Critical success factors are stored in the encyclopedia and related to other aspects of information system planning (as described in Book II). At the analysis level, data models and process models are built up in the encyclopedia.


            The design stage uses the information in the encyclopedia to help generate a design. Details of screens, dialogs, reports, program structures, and database structures are built up in the encyclopedia.


            In an integrated-CASE (I-CASE) toolset the encyclopedia drives a code generator. The goal of the design workbench is to collect sufficient information that code for the system can be generated. The generator should also generate database description code and job control language. It should generate a comprehensive set of documentation so that designers and maintenance staff and understand the system clearly. It is desirable to select tools that enable implementers to build or generate applications as quickly as possible using a computerized data model.


            A high-level overview of the data is created at the top level of the pyramid. This overview is a diagram of the entity types in the corporation and the relationships among these entities-an entity-relationship diagram. Later, details of the attributes are added and a fully normalized data model is built. This model is usually created for one business area at a time. It is part of the work of business area analysis, stage 2 of information engineering.


            The entities in and enterprise are identified during the first stage of information engineering. Initially, there is not attempt to identify attributes or to normalize the model. The initial requirement is an overview of the data across the entire enterprise (or the portion of it selected for study).


            Many corporations today have fully normalized data models. Preparing these models has been the task of data administrators. Corporations with data models are now linking them into the broader scope of information engineering. System design phase, the data structure is adapted to the capabilities of a specific database or file management system.



A principle of information engineering is that diagrams are the main form o communication between designers and planners and the encyclopedia. The diagrams are built and displayed on a workstation screen. The workstation interacts with analysts, planners, designers, and users to provide computer-aided design. Through means of zooming, windowing, nesting, and other computer techniques, the workstation can handle what would become, if drawn on paper excessively large diagrams.


            Diagrams are used for exploring the complex contents of the encyclopedia and for extracting useful components of a design from it. They are the input interface for adding to and modifying the encyclopedia.


            Engineering-like disciplines are based on formal techniques. Applying formal techniques to the complex, time-sensitive requirements of modern business is not practical without automated tools. Automated tools impose formality, increase the speed at which systems can be built and modified, and coordinate the vast amount of knowledge that must be collected and updated. Information collected at higher levels of the pyramid can be used automatically as analysts and implementers progress to the more detailed stages.





            An essential foundation block in information engineering is the data model. The logical representation stable data model, designed with formal techniques, is a keystone supporting other elements of the information engineering process.


            The word entity means anything about which we store information (e.g. a costumer, supplier, machine tool, employee, utility pole, airline seat, etc.)


            The entity types of interest to a corporation do not change much with time, nor do the associations among entity types. For each entity, certain attributes time. In practice, it has been found that certain computerized data modelling techniques have been successful in creating a stable, logical representation of data in an enterprise. 


            Although the data model is relatively stable, the procedures that use the model change frequently. It is desirable that processes be easily changed because a business needs to be dynamic, constantly striving for better procedures. In information engineering, stable (fully normalized) data models are built with the aid of computerized tools. Applications are built on top of the data models.


            At each stage of information engineering, the information gathered is stored in a highly structured fashion in the encyclopedia. This computerized repository of knowledge about the enterprise steadily grows. The knowledge in the encyclopedia is used to help top management in planning and setting priorities, and to help I.S. in performing detailed analysis and design and guiding end-user computing and code generation. The encyclopedia is designed so that the computerized knowledge of the corporation is easily updated.


            The encyclopedia-based tools are made as easy to use as possible through automated diagramming. The software guides the user in building the diagrams and entering the requisite information for each stage. The diagrams are easy to modify on the screen.


            The encyclopedia is a complex knowledgebase which stores many different types of rules relating to the data. The encyclopedia uses artificial intelligence techniques in its knowledge coordination to ensure that the requisite information is gathered, validated, and cross-coordinated.




The tools and techniques of the past have not had an engineering-like discipline and have not been integrated across all aspects of the pyramid. C.A.R. Hoare, professor of computing at Oxford University, describes the methodologies of conventional data processing as follows:


            The attempt to build a discipline of software engineering on such shoddy foundations must surely be doomed, like trying to base chemical engineering on phlogiston theory, or astronomy on the assumption of a flat earth.


            Information engineering recognizes that there is a formal and rigorous way to model data. Data models are built with the aid of computerized tools. In association with the data models, the processes of an enterprise are analyzed formally and linked to the data model. All systems created link to the computerized models of the enterprise and its data. These systems are created with fully structured techniques, again with computerized tools speeding up the process and enforcing discipline. Instead of an ad hoc gaggle of separately conceived applications built with spaghetti-like code, information engineering aims to produce a set of fully structured and easily modified systems based on common models of the enterprise and its data.


            In information engineering knowledge needs to be communicated to the encyclopedia via diagrams. The magnitude of the diagrammatic requirements checks to the diagrams. The computer stores the meaning of the diagrams rather than the pictorial image and so can cross-correlate different types of diagrams relating to the same design. There are many links between the meaning of different diagrams that can be checked with rule-processing techniques.


            In one Swiss bank an information engineering team was attempting to draw a diagram showing the procedures at a detailed level. It proved extremely difficult to find the requisite detail because the procedures were performed in computers. The staff who had created the computer system had left, and the staff who had conducted the procedures manually before computerization had also left. The computerized procedures had documentation but it was unstructured Swiss-language documentation that clearly did not represent how the programs worked today. Programmers often distrust external documentation and deviate from it when they are doing maintenance. The documentation slips into disuse. As programs grow old in an organization it is easy to use them but forget how their internals work. Their internals often have patches on top of patches on top of patches with no trustworthy documentation. One can imagine and enterprise 20 years form now, its computer programs immensely complex but nobody really understanding how they work.


            To prevent such a scenario, the enterprise needs to have its data and procedures represented in an encyclopedia, which in and automated environment take place by adjusting the design in the encyclpedia and regenerating code. The clearly structured knowledge in the encyclopedia is vital for understanding and modifying complex systems. The designs need to be displayable with graphics that are as easy to understand and modify as possible.





A particularly important characteristics of information engineering is that end users participate in each stage. At the top of the pyramid, top management is involved in establishing goals and critical success factors. Management helps determine what information is needed from computers and sets priorities for development. At the second level, senior end users help to create and validate the data models and process models. At the design sessions and often employ the easy-to-use graphic representation of specifications. Design merges into implementation as prototypes are created and uses. In an information center environment, the users may build their own systems, with the help of the information in the encyclopedia.



            Clear easy-to-understand diagrams are essential for end-user participation. Sessions with end users and management sometimes take place in a meeting room with a large-screen projector displaying the workstation screen. The styles of computerized diagramming need to be designed for end-user comprehension. A high level of creativity is often evident when end users learn the language of system design and are encouraged to invent how computers could help them streamline procedures, cut head count, expand sales, simplify work, or make better decisions.




            Since 1980 many languages have come into use which increases the speed of building systems or analyzing data. These languages are of a variety or types:


  • End-user languages, enabling users who are not professional programmers to query databases, generate reports, perform elaborate calculations, and create simple systems.
  • Decision-support languages, enabling users to build business models for decision making, manipulate spreadsheets, and generate charts.
  • Fourth-generation programming languages, enabling programs to be written with a fraction of number of lines of code and in a fraction of the time that would be needed with COBOL, PL/I, and so on.
  • Nonprocedural languages, which put a computer to work by stating what is wanted rather that how to do it.
  • Prototyping languages, which enable a prototype to be crated quickly and modified quickly, so that end users can employ it, react to it, and have it adjusted to their needs.
  • Rule-base languages, for creating expert systems or other systems where the drawing of inferences from many rules is need.


A goal of information engineering is that high-productivity languages should be used wherever practical for prototyping, end-user computing, speeding up professional I.S. development, and making maintenance easier Among the most powerful productivity aids are code generators, which should be driven directly from the screen of the CASE tool.

0 comentarios