MIS Quarterly. Sept, 1983, Vol. 9 Issue 3, p189. chart
Subjects
Applications Programming, Backlog, Applications Backlog, Prototype, Methods, Information Systems, System Design, and Models
Abstract
A prototyping development method is presented here which has the potential to reduce the growing application development backlog. Prior research and our findings indicate that a prototyping process can assist in the efficient development of application systems by breaking a complex problem into several comprehensive parts. A state-transition model of the IS development process is presented and discussed. A two-prototype method is explained in the context of this model. Two projects are described which are typical of development efforts made by end users in a microcomputer environment and IS specialists in a mainframe environement. (Reprinted by Permission of Publisher.)
Rapid prototyping is possible in computer controlled ink jet printing of hybrid circuits. Other advantages of this kind of printing are also analyzed. Development of the ink jet printer is discussed. This printing is feasible for printing well defined conductor lines. Spray control parameters of the printer are analytically expressed. A block diagram of the ink jet printing system is included. Photographs show line formation. Graphs show the effect of substrate speed and frequency on line widths and thickness of silver films.
Utilization of porcelain enameled metal substrate (PEMS) technology requires multiple rounds of prototyping. Materials capabilities are analyzed for PEMS. Design guidelines help in utilization of PEMS. Several guidelines are given. A table lists metal thicknesses. A diagram indicates dimensional adjustments required.
Software, Process Control, Real-Time System, Software Engineering, Application Development Software, Programming, Prototype, Requirements Analysis, and System Development
Abstract
Large-scale software requires effective management for production. Such large-scale software consists of application software, a utility subsystem, and an operating system. Individual software factories require levels of abstraction in a design process which uses prototyping, reusing, and program generating systems. The first level is the requirements level which defines the external devices with which the software communicates. A capsulated form of a requirements description is shown. The data-function or design level is the transition, the definition of a user's needs and the establishment of the model. Program models are defined and implemented in the program level. Prototyping is done throughout the entire process for the first operational versions of software interfaces. Productivity and reliability are the most crucial factors in management of a software factory. In addition to the encapsulated format examples, numerous block diagrams illustrate software production and the rolling mill software production example.
IEEE Transactions on Software Engineering. May 1984, Vol. 10 Issue 3, p290
Subjects
Prototype, Specifications, Performance Specifications, Software Engineering, Program Development Techniques, and Comparative Study
Abstract
There has been much discussion on the relative merits of the specification-driven approach to software development versus the prototyping approach. An experiment has been conducted to give some basis for comparison of the two approaches. Seven software teams developed the same application software product. Three used the prototyping approach, four the specifying approach. Results indicate that prototyping required less effort and less code for equivalent performance. Prototyped products were easier to learn and use but rated lower on functionality and robustness. Specified products were easier to integrate.
Ramamoorthy, C.V., Prakash, A., Tsai, W.T., and Usuda, Y.
Computer. Oct 1984, Vol. 17 Issue 10, p191. chart
Subjects
Software Engineering, Software Design, System Development, Requirements Analysis, Specifications, Methods, Software Maintenance, Software Metrics, and Software Quality
Abstract
Software engineering seeks to devise techniques for software development. Software systems go through two principal phases: development, and operations and maintenance. The conventional design-scheme requires that a large amount of time be spent developing specifications. Alternative schemes, include rapid prototyping, the very high level language approach, and the reusability approach. The design phase includes the decomposition of the requirement specification into certain basic elements and partitioning the set of decomposed elements into modules. Current design methodologies include functional decomposition, the data-flow design, and the data-structure design. Software maintenance can be divided into three categories: perfective, adaptive, and corrective maintenance. Software quality assurance aims to optimize reliability, reusability, and efficiency. Tables, graphs, and diagrams illustrate many of the features of software engineering.
Programming, Programming Language, Software Engineering, Methods, and I/O Management
Abstract
Responding to a letter from Robert Baber (Computer, June 1985, p. 112), a reader disagrees with the conclusion that I-O is a conceptual block which hampers software development and argues instead that it is the central concept of intelligible programs. Current programming languages are certainly inadequate, in that they confuse design with implementation. These separate concerns should be dealt with in separate languages, and separate prototyping notions for designer and user should be added. Thus interprocess communication is a vital concept, of which I-O is the simplest expression.
Computer Design. Dec 1985, Vol. 24 Issue 17, p34. chart
Subjects
Prototype, Design, Computer-Aided Design, and Boards/Cards
Abstract
Building a prototype board is the last stage in the design process. The design for a board can be sent to an independent shop or it can be fabricated in-house. A tape is usually produced by CAD systems. Wire wrapping is the oldest approach to board prototyping. New approaches are represented by a liquid-chemistry process or a milling process.
Computer aided design (CAD) systems, or more generally interactive software, are today being developed for various application areas like VLSI-design, mechanical structure design, avionics design, cartographic design, architectual design, office automation, publishing, etc. Such tools are becoming more and more important in order to be productive and to be able to design quality products. One important part of CAD-software development is the man-machine interface (MMI) design.
Computer Design. Jan 1, 1987, Vol. 26 Issue 1, p49, 10 p. graph (Percentage rise in software-attributable system life-cycle costs 1955-85.)
Subjects
Computer-Aided Software Engineering, Systems, Functional Capabilities, Applications, Outlook, Market, Hardware Vendors, Trends, Programming, Applications Backlog, Performance, Evaluation, and ADA
Abstract
Software is 80 percent of new systems development cost, software maintenance costs are even greater, there is a 30 month software development backlog, and the annual need for programmers is over twice this year's 55,000 computer science graduates and getting worse. Consequently, there will be a $1 billion market for computer-aided software engineering (CASE) tools by 1990. CASE tools are either non-language-specific or language-specific, most commonly Ada because of federal demand, and provide modular development in analysis, design, prototyping, coding, testing, integration, and maintenance. Several CASE systems are described in detail.
IEEE Software. Jan 1987, Vol. 4 Issue 1, p71, 2 p.
Subjects
Programming Language, Expert Systems, Software Design, Evaluation, System Design, Application Development Software, and Small-X (Program development software)
Abstract
Small-X is a programming language designed for building expert systems that is not for the computer novice. A Small-X program consists of statements called rules. The language provides two key features that distinguish it from other languages: a set of pattern-matching and evaluation functions, and the automatic handling of control flow. Small-X also has good debug features that allow users to trace rules. The manual for Small-X is complete and well-written. The language serves as a tool for learning about expert systems and for prototyping trial applications, but it is not the most trustworthy of program development systems.
Computer Design. Jan 15, 1987, Vol. 26 Issue 2, p76, 4 p.
Subjects
Object-Oriented Languages, programming languages (electronic computers), Evaluation, Performance, Functional Capabilities, and Dynamic Programming
Abstract
Smalltalk is an object-oriented programming language in which objects represents data sets plus functions. The objects are composed of classes of reusable and redefinable building blocks, and messages are sent to objects for data or for action. Advantages include an open and interactive environment, incremental and dynamic program development providing easy applications prototyping, programming by refinement, and lack of distinguishing between data and code enabling creation of programs that can dynamically build other programs, all providing high programmer productivity. Major commercial applications include artificial intelligence, R&D, and business and technical analysis.
Science of Computer Programming. Feb 1987, Vol. 8 Issue 1, p87, 17 p. table Definition of filter-terminator.
Subjects
Programming Language, Programming, Scientific Research, and Mathematical Programming
Abstract
We describe linear future semantics, an extension of linear history semantics as introduced by Francez, Lehmann, and Pnueli, and show how it can be used to add multiprocessing to languages given by standard continuation semantics. We then demonstrate how the resulting semantics can be implemented. The implementation uses functional abstractions and non-determinacy to represent the sets of answers in the semantics. We give an example, using a semantic prototyping system based on the language Scheme. (Reprinted by permission of the publisher.)
ACM Transactions on Programming Languages & Systems. April 1987, Vol. 9 Issue 2, p125, 39 p. table Peephole optimization.
Subjects
Programming Language, PROLOG, Compiler/decompiler, and Algorithm
Abstract
The use of Prolog as a language offers advantages for describing succinctly most of the algorithms needed in prototyping and implementing compilers, or producing tools that facilitate the task of compiling. One approach in implementing compilers using Prolog consists of coupling actions to recursive descent parsers to produce syntax-trees, which are utilized in guiding the generation of assembly code. Prolog is not only used in parsing and compiling, but is a labor-saving device in prototyping and implementing many non-numerical algorithms which arise in compiling. Unification and nondeterminism as means to circumvent costly unnecessary features are also discussed. Other topics include: bottom-up and top-down parsers; syntax-directed translation; grammar properties; code generation; and newly proposed features for compiler construction.
IEEE Software. May 1987, Vol. 4 Issue 3, p50, 15 p. chart (Class definitions and variations.)
Subjects
Prototype, New Technique, Application Development Software, Object-Oriented Languages, Smalltalk (Computer program language), Software Design, and Software Engineering
Abstract
The Smalltalk object-oriented programming language developed at the Xerox Palo Alto Research Center in the early 1970s offers a completely new environment for software development. Smalltalk is not easy to learn, even for programmers with experience in standard languages. Excellent references to Smalltalk are the Blue Book and the Orange Book: the Blue Book deals mainly with features of the language, while the Orange Book deals with the environment. Learning the language poses a short-term disadvantage, but the long-term gains in productivity may be worth the initial investment. Commercial versions of Smalltalk are available on workstations like the Tektronix 440X series, the Sun, and the IBM PC AT; implementations for the MicroVAX are under development.
Computer Design. June 1, 1987, Vol. 26 Issue 11, p91, 4 p. chart (The Automated Air Load Planning System from SRI International.)
Subjects
PROLOG, Program Logic, Data Structures, Language Analysis, programming languages (electronic computers), Language Complexity, Applications Programming, Enhancements, Productivity, Artificial Intelligence, Expert Systems, and System Design
Abstract
The Prolog programming language manipulates complex data structures and flexibly presents real-world knowledge using the same inference methods that humans use in reasoning. Prolog is one of the two most commonly used languages in artificial intelligence, along with LISP; it can run on machines ranging from microcomputers to mainframes, has modest memory requirements, and can be used with a wide range of operating systems, including UNIX, VMS, and DOS. Other Prolog advantages include its speed, explanation facilities, natural-language processing capabilities, and pattern-matching mechanism. Prolog is easy to use, accurate, an excellent prototyping tool, and well suited to integration with other software and use in data processing. Current Prolog applications include, but are not limited to, CAD-CAM, process control, compiler implementation, and natural-language processing.
MIS Quarterly. Sept, 1987, Vol. 11 Issue 3, p293, 22 p. table SDLC vs. prototyping.
Subjects
System Development, Comparative Study, System Design, Design, Methods, Project Management Software, Requirements Analysis, Research and Development, and Prototype
Abstract
This article presents a retrospective comparative study of the use of the system development life cycle (SDLC) and prototyping methods to help select a development approach for a given information systems (IS) project. The respondents were asked (a) to decide independently whether one of their recent IS projects was developed using either the SDLC or prototyping approach and if so, (b) to evaluate the merit of that approach in terms of ease of project management, project requirements, project characteristics, impact on decision making, and user and designer satisfaction. The results indicate: (1.) Design methods cannot be considered apart from project, environment and decision characteristics. (2.) A clear cut preference of one method over the other could not be established. Each method performed better in some areas that in others. (3.) A framework that can be used by a project director for selecting a design method to develop a system could be postulated. (Reprinted with permission of the publisher.)
Science of Computer Programming. Oct 1987, Vol. 9 Issue 2, p179, 27 p.
Subjects
Application Development Software, Prototype, and Programming
Abstract
Logic programming has great potential for reducing the cost of software development. We argue that, with an appropriate programming methodology, a logic programming system provides a powerful tool for rapid software prototyping. It is sufficiently formal and high-level to allow reasoning about specifications, and it provides an immediate operational validation of the programmer's intuitions. The methodology is introduced by means of an example larger than those usually used to illustrate the advantages of logic programming. We start with an informal specification of a structure-editor, show how it is formalized into a directly executable prototype, and introduce guidelines for validating logic programming code as implemented in Prolog. The developed prototype can be used for a number of applications: syntax-directed editor, semantic network browser, etc. The editor is compact but readable, and is quite efficient. (Reprinted by permission of the publisher.)