Abstract
The System Factory project seeks to investigate the problems of large-scale software engineering through a combine effort in research, development and education. This report describes the System Factory approach to software engineering education as developed and practiced at USC. It describes the genesis and history of the System Factory project the SF approach to software engineering, our experiences in softwre technology transfer, and concludes with some observations and potentials for large-scale software engineering projects in academic settings. Central to the SF approach is a joint focus on three key determinants of the outcomes of large-scale software development: the products developed, the process through the products are developed, and the production setting where the process of creating products occurs. Accordingly, we outline the software tools we employ, the techniques we developed for engineering software systems throughout their life cycle, and the strategies for managing large software engineering projects we employ.
The System Factory project has been supported over the years through contracts, grants, or gifts from the USC Faculty Research Innovation Fund. AT&T Information Systems, Carnegie Group Inc., Hughes Radar Systems Group, IBM through the Socrates Project at USC, System Development Foundation, and TRW Systems Engineering and Development Division. Additional research support was provided by DARPA contract MDA 903–81-C-0331 to the Information Sciences Institute at USC. Finally, more than 300 graduate students in computer science at USC have elected to participate in the System Factory project since 1981. Without their participation and commitment to success, this project would not occur. We are truly grateful for all of their support.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Avizienis and J. Kelly. “Fault Tolerance by Design Diversity: Concepts and Diversity”. Computer 17, 8 (1984), 67–80.
R. Balzer, N. Goldman, and D. Wile. “Operational Specifications as the Basis for Rapid Prototyping”. ACM Software Engineering Notes 7, 5 (1982), 3–16.
R. Balzer, T. Cheatham, and C. Green. “Software Technology in the 1990’s: Using a New Paradigm”. Computer 16, 11 (1983), 39–46.
R. Balzer. “A 15 Year Perspective on Automatic Programming”. IEEE Trans. Software Engineering SE-11, 11 (1985), 1257–1267.
M.G. Barnes, et. al. “A Computer Science Courseware Factory”. SIGCSE Bulletin 18, 1 (1986), 318–323.
V.R. Basili and R.W. Reiter. “A Controlled Experiment Quantitatively Comparing Software Development Approaches”. IEEE Trans. Soft. Engr. SE-7, 3 (1981), 299–320.
S. Bendifallah and W. Scacchi. “Understanding Software Maintenance Work”. IEEE Trans. Software Engineering 13, 3 (1987), 311–323.
P. Bernstein. Workplace Democraticization: Its Internal Dynamics. Kent State University Press, 1976.
V. Berzins, M. Gray, and D. Naumann. “Abstraction-Based Software Development”. CACM 29, 5 (May 1986), 402–415.
B.V. Boehm. “An Experiment in Small-Scale Software Engineering”. IEEE Trans. Soft. Engr. SE-7, 5 (1981), 482–493.
B. Boehm. “Seven Principles for Software Engineering”. J. Software and Systems 3, 1 (1983), 3–24.
B.W. Boehm, T. Gray, and T. Seewaldt. Prototyping vs. Specifying: A Multi-project Experiment. Proc. 7th. Intern. Conf. Soft. Engr., 1984, pp. 473–484.
F. van den Bosch, J. Ellis, P. Freeman, L Johnson, C, McClure, D. Robinson, W. Scacchi, B. Scheft, A. van Staa, and L Tripp. “Evaluating the Implementation of Software Development Life Cycle Methodologies”. Software Engineering Notes 7, 1 (1982), 45–61.
Harvey Bratman and Terry Court. “The Software Factory”. Computer 8 (May 1975), 28–37.
M. Brown, N. Meyrowitz, and A. van Dam. “Personal Computer Networks and Graphical Animation: Rationale and Practice”. ACM SIGCSE Bulletin 15, 1 (February 1983), 296–307.
J. S. Brown and S. Newman. “Issues in Cognitive and Social Ergonomics: From Our House to Bauhaus”. J. Human-Computer Interaction 1, 4 (1986).
A. Castillo, S. Corcoran, and W. Scacchi. A Unix-based Gist Specification Processor: The System Factory Experience. Proc. 2nd. Intern. Conf. Data Engineering, 1986, pp. 582–589.
R. Cronk and D. Zelinski. ES/AG: A System Generation Environment for Intelligent Application Software. Proc. SOFTFAIR II, IEEE Computer Society, 1985, pp. 96–100.
J. Distaso. “Software Management — A Survey of Practice in 1980”. Proceedings IEEE 68, 9 (1980), 1103–1119.
L Eliot and W. Scacchi. “Toward a Knowledge-Based System Factory: Issues and Implementations”. IEEE Expert 1, 4 (1986), 51–58.
S. Feiner, D. Salesin, and T. Banchoff. “Dial: A Diagrammatic Animation Language”. IEEE Computer Graphics and Applications 2, 7 (1982), 43–56.
M.S. Fox and S.F. Smith. “ISIS: A Knowledge-based System for Factory Scheduling”. Expert Systems 1, 1 (1984), 25–49.
L Gasser. “The Integration of Computing and Routine Work”. ACM Trans. Office Info. Sys. 4, 3 (1986), 205–225.
E.M. Gerson and S.L Star. “Analyzing Due Process in the Workplace”. ACM Trans. Office Info. Sys. 4, 3 (1986), 257–270.
N. Gibbs and R. Fairley (Ed.). Software Engineering Education. Springer-Verlag, New York, 1987.
M. Barbacci, A.N. Habermann, and M. Shaw. “The Software Engineering Institute: Bridging Practice and Potential”. IEEE Software 2, 6 (November 1985), 4–21.
B. Hannaford. The Electronic Spreadsheet: A Workstation Front-End for Parallel Processors. Proc. COMPCON 1986, 1986, pp. 316–321.
J.J. Horning and D.B. Wortman. “Software Hut: A Computer Program Engineering Project in the Form of a Game”. IEEE Trans. Soft. Engr. SE-3, 4 (July 1977), 325–330.
H. Hunke (ed.). Software Engineering Environments. North-Holland, 1981.
R. Katz, W. Scacchi, and P. Subrahmanyam. “Development Environments for VLSI and Software Engineering”. J. Sys. Soft. 4, 2 (1984), 14–27.
B.I. Kedzierski. Knowledge-Based Project Management and Communication Support in a System Development Environment. Proc. 4th. Jerusalem Conf. Info. Techology, 1984, pp. 444–451.
T. Kidder. The Soul of a New Machine. Avon Books, New York, 1982.
R. Kling and W. Scacchi. “The DoD Common Higher Order Programming Language Effort (Ada): What Will The Impacts Be?”. SIGPLAN Notices 14, 2 (1979), 29–41.
R. Kling and W. Scacchi. Recurrent Dilemmas of Computer Use in Complex Organizations. Proc. 1979 National Computer Conference, 1979, pp. 1067–116. Vol. 48.
R. Kling and W. Scacchi. “Computing as Social Action: The Social Dynamics of Computing in Complex Organizations”. Advances in Computers 19 (1980), 249–327. Academic Press, New York.
R. Kling and W. Scacchi. “The Web of Computing: Computer Technology as Social Organization”. Advances in Computers 21 (1982), 1–90. Academic Press, New York.
J.C. Knight and N. Leveson. “An Experimental Evaluation of the Assumption of Independence of Multiversion Programming”. IEEE Trans. Soft. Engr. SE-12, 1 (January 1986), 96–109.
D. Lenat, A. Borning, D. McDonald, C. Taylor, and S. Weyer. Knoesphere: Building Expert Systems with Encyclopedic Knowledge. Proc. IJCAI-83, 1983, pp. 167–169.
N. Magnenat-Thalmann, D. Thalmann, and M. Fortin. “Miramin: An Extensible Director-Oriented System for the Animation of Realistic Images”. IEEE Comptuer Graphics and Applications 5, 2 (1985), 48–73.
J. Manley. Computer-Aided Software Engineering (CASE): Foundation for Software Factories. Proc. COMPCON Fall ’84, 1984, pp. 26–37.
Y. Matsumato and others. SWB: A Software Factory. In Software Engineering Environments, H. Hunke, Ed., North-Holland, 1981.
W.M. McKeeman. Experience with a Software Engineering Project Course. In Software Engineering Education, Springer-Verlag, New York, 1987, pp. 234–262.
K. Narayanaswamy and Walt Scacchi. “A Database Foundation to Support Software System Evolution”. J. Systems and Software 7 (1987), 37–49.
K. Narayanaswamy and W. Scacchi. An Environment for the Development and Maintenance of Large Software Systems. Proc. SOFTFAIR II, 1985, pp. 11–25.
K. Narayanaswamy and W. Scacchi. “Maintaining Configurations of Evolving Software Systems”. IEEE Trans. Soft. Engr. 13, 3 (1987), 324–334.
R. Prieto-Diaz and J. Neighbors. “Module Interconnection Languages”. J. Sys. and Soft. 6, 4 (1986), 307–334.
C. Reynolds. “Computer Animation with Scripts and Actors”. Computer Graphics 16, 3 (1982), 289–296.
A. Sathi, T. Morton, and S. Roth. “Callisto: An Intelligent Project Management System”. AI Magazine 7, 5 (1986), 34–52.
W. Scacchi. The Process of Innovation in Computing: A Study of the Social Dynamics of Computing. Ph.D. Th., Department of Information and Computer Science, University of California, Irvine, 1981.
W. Scacchi. A Language-Independent Software Engineering Environment. Workshop Report: VLSI and Software Engineering, IEEE Computer Society, 1982, pp. 99–103. IEEE Catalog No. 82CH1815–0.
W. Scacchi. Developing VLSI Systems with a Silicon Engineering Environment. IEEE Intern. Conf. on Computer Design, IEEE, 1983, pp. 472–475.
W. Scacchi. The System Factory Approach to VLSI and Software Engineering. Proceedings AFCET Second Soft. Engr. Conf., 1984, pp. 349–359.
W. Scacchi. “Managing Software Engineering Projects: A Social Analysis”. IEEE Trans. Soft. Engr. SE-10, 1 (January 1984), 49–59.
W. Scacchi. Applying Social Analysis of Computing to System Development. Proceedings Aarhus Conference on Development and Use of Systems and Tools, August, 1985, pp. 477–500. Aarhus, Denmark.
W. Scacchi. The Software Engineering Environment for the System Factory Project. Proc. 19th. Hawaii Intern. Conf. Systems Sciences, 1986, pp. 822–831.
W. Scacchi. “Shaping Software Behemoths”. UNIX Review 4, 10 (1986), 46–55.
W. Scacchi. Software Specification Engineering: An Approach to the Construction of Evolving Software Descriptions. USC/Information Sciences Institute, 1987. (in preparation).
W. Scacchi and J. Babcock. Understanding Software Technology Transfer. internal report, Software Technology Program, Microelectronics and Computer Technology Corp., Austin, TX.
W. Scacchi and C.M.K. Kintala. Understanding Software Productivity. technical memorandum, Advanced Software Concepts Group, ATT Bell Laboratories, Murray Hill, NJ.
W. Scacchi, S. Bendifallah, A. Bloch, S. Choi, P. Garg, A. Jazzar, A. Safavi, J. Skeer, and M. Turner. Modeling System Development Work: A Knowledge-Based Approach. Computer Science Dept., USC, 1986. working paper SF-86–05.
W. Scacchi, L. Gasser, and E. Gerson. Problems and Strategies for Organizing Computer-Aided Design Work. Proceedings IEEE Intern. Conf. Computer-Aided Design, 1983, pp. 149–152.
T. Schwederski and H.J. Siegel. “Adaptable Software for Supercomputers”. Computer 19, 2 (1986), 40–48.
R.W. Selby, V.R. Basili, and FT. Baker. CLEANROOM Software Development: An Empirical Investigation. TR-1415, Computer Science Dept., Univ. of Maryland.
M. Sherman and A. Marks. Using Workstations to Investigate Computer Networks. Proc. IEEE 1985 Intern. Conf. on Computer Workstations, IEEE, 1985, pp. 214–221.
S. Sluizer and P. Cashman. XCP: An Experimental Tool for Managing Cooperative Activity. Proc. 1985 ACM Computer Science Conf., 1985, pp. 251–258.
D. Tajima and T. Matsubara. “Inside the Japanese Software Factory”. Computer 17, 3 (1984), 34–43.
R. Thayer, A. Pyster, and R. Wood. “Major Issues in Software Engineering Project Management”. IEEE Trans. Software Engineering SE-7, 4 (1981).
DA Updegrove. “Computing Intensive Campuses: Strategies, Plans, Implications”. EDUCOM Bulletin 21, 1 (1986), 11–14.
A.I. Wasserman and P. Freeman. Software Engineering Education: Needs and Objectives. Springer-Verlag, New York, 1976.
R. Waters. “The Programmers Apprentice: A Session with KBEmacs”. IEEE Trans. Software Engineering SE-11, 11 (1985), 1296–1320.
S. Weyer and A. Borning. “A Prototype Electronic Encyclopedia”. ACM Trans. Office Info. Sys. 3, 1 (1985), 63–88.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1989 Springer-Verlag New York Inc.
About this paper
Cite this paper
Scacchi, W. (1989). The System Factory Approach to Software Engineering Education. In: Fairley, R., Freeman, P. (eds) Issues in Software Engineering Education. Springer, New York, NY. https://doi.org/10.1007/978-1-4613-9614-7_19
Download citation
DOI: https://doi.org/10.1007/978-1-4613-9614-7_19
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4613-9616-1
Online ISBN: 978-1-4613-9614-7
eBook Packages: Springer Book Archive