Abstract
The chapter gives an overview of the concept of crisis and its application to software development and software product lifecycle. Managing software development lifecycle is a challenge for large-scale and mission-critical applications, especially in crisis. To solve the challenge, a lifecycle management methodology is required; the methodology includes models, methods and supporting tools. We discuss the general lifecycle pattern and its stages. We find that the cost of defect detection and fixing increases exponentially as we move from the earlier stages to the later ones, so error detection should happen as early as possible. Lifecycle models selection determines the mission-critical parameters of the project: the architecture of the project, its budget and timeframe. The model selection also determines product artifacts and quality attribute s; these are based on product quality metrics, which make crisis management more accurate and predictable. The lifecycle model selection should be adequate to the experience of the project team in terms of problem domain expertise and operational knowledge of technologies, tools and standards. We describe a number of lifecycle models, such as build-and-fix , waterfall , incremental, object-oriented and spiral. Some of these models require iterative development; the others are more straightforward. Certain models require a high level of discipline and organizational maturity. There is no universal model, which suits any software product equally well. The scope and size of the project are the determinants for lifecycle model selection; we can customize or combine certain models in order to adjust to the specific features of the project. For each model discussed, we identify the key advantages and disadvantages.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Software Engineering Institute: Retrieved November 25, 2015 from www.sei.cmu.edu/
Sommerville, I.: Software Engineering, 864 pp. 8th edn. Addison Wesley (2006)
Systems and Software Quality Requirements and Evaluation: Retrieved November 25, 2015 from http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=35733
Barendregt, H.P.: The lambda calculus (rev. ed.), Studies in Logic, vol. 103. North Holland, Amsterdam (1984)
Curry, H.B., Feys, R.: Combinatory Logic, vol. 1. North Holland, Amsterdam (1958)
Roussopulos, N.D.: A Semantic Network Model of Databases. Toronto University (1976)
Schach, S.R.: Object-Oriented and Classical Software, 688 pp., 8th edn. McGraw-Hill (2011)
Scott, D.S.: Lectures on a mathematical theory of computations, 148 pp. Oxford University Computing Laboratory Technical Monograph. PRG-19 (1981)
Wolfengagen, V.E.: Event driven objects. In: Proceedings of CSIT’99, Moscow, Russia, pp. 88–96 (1999)
Wolfengagen, V.E.: Applicative Computing. Its quarks, atoms and molecules, 62 pp. JurInfoR, Moscow (2010)
Fowler, M.: Analysis Patterns: Reusable Object Models, 223 pp. Addison Wesley (1997)
Kalinichenko, L., Stupnikov, S.: Heterogeneous information model unification as a pre-requisite to resource schema mapping. In: ITAIS 2009, pp. 373–380. Springer (2009)
Zykov, S.V.: Enterprise content management: bridging the academia and industry gap. In: Proceedings of i-Society 2007, Merrillville, Indiana, USA, vol. I, pp. 145–152, 7–11 Oct 2007
Zykov, S.V.: Integrated methodology for internet-based enterprise software systems development. In: Proceedings of WEBIST2005, Miami, FL, USA, pp. 168–175, May 2005
Zykov, S.V.: An integral approach to enterprise content management. In: Callaos, N., Lesso, W., Zinn, C.D., Zmazek, B. (eds.) Proceedings of the 11th International World Multi-Conference on Systemics, Cybernetics and Informatics (WMSCI 2007), Orlando, FL, USA, vol. I, pp. 212–216, 8–11 July 2007
Zykov, S.V.: The integrated methodology for enterprise content management. In: Proceedings of the 13th International World Multi-Conference on Systemics, Cybernetics and Informatics (WMSCI 2009), Orlando, FL, USA, pp. 259–264, 10–13 July 2009
Guha, R., Lenat, D.: Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project. Addison-Wesley (1990)
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software, 560 pp. Addison Wesley (2003)
Zykov, S.V.: ConceptModeller: a frame-based toolkit for modeling complex software applications. In: Baralt, J., Callaos, N., Chu, H.-W., Savoie, M.J., Zinn, C.D. (eds.) Proceedings of the International Multi-Conferences on Complexity, Informatics and Cybernetics (IMCIC 2010), Orlando, FL, USA, vol. I, pp. 468–473, 6–9 April 2010
Zykov, S.: Pattern development technology for heterogeneous enterprise software systems. J. Commun. Comput. 7(4), 56–61 (2010)
Naur, P., Randell, B. (ed.): Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, Brussels, Scientific Affairs Division, NATO, 231 pp., January 1969
Randell, B.: The 1968/69 NATO Software Engineering Reports. Dagstuhl-Seminar 9635: “History of Software Engineering”. Schloss Dagstuhl, 26–30 Aug 1996. Retrieved November 25, 2015 from http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html
Naur, P., Randell, B. (eds.): Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, Brussels, Scientific Affairs Division, NATO, 231 pp, January 1969
Randell, B.: Software engineering in 1968. In: Proceedings of the 4th International Conference on Software Engineering, pp. 1–10, Munich (1979)
Dijkstra, E.: The humble programmer. ACM Turing Lecture, Comm. ACM 15(10), 859–866 (1972)
Gray, G.T., Smith, R.Q.: After the B5000: Burroughs third-generation computers 1964. IEEE Ann. Hist. Comput. 31(2), 44–55 (1980)
MacKenzie, D.: Mechanizing Proof: Computing, Risk, and Trust, 440 pp. MIT Press (2004)
Bourque, P., Fairley, R.E. (eds.): Guide to the Software Engineering Body of Knowledge, Version 3.0. IEEE Computer Society (2014). Retrieved November 25, 2015 from http://www.computer.org/web/swebok/v3
The Carnegie Mellon University History: Retrieved November 25, 2015 from http://www.cmu.edu/about/history
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 624 pp, 2nd edn. Pearson (2003)
Lipaev, V.V.: Software Engineering. Methodological Foundations, 680 pp. TEIS, Moscow (2006) (in Russian)
Marx, K.: Capital: a critique of political economy. Volume II. In: Engels, F. (ed.) Book One: The Process of Circulation of Capital. Meissner, Hamburg (1885) (In German)
Hardy, E.: The economic crisis—the Marxian explanation. World Socialist No.1, pp. 20–26, April 1984
Bautsch, M.: Cycles of software crises. In: ENISA Quarterly on Secure Software, vol. 3, no. 4, pp. 3–5, Dec 2007. Retrieved November 25, 2015 from https://www.enisa.europa.eu/publications/eqr-archive/issues/eqr-q4-2007-vol.-3-no.-4/at_download/issue
Deming, W.E.: Out of the Crisis. MIT Center for Advanced Engineering Study, Cambridge, MA (1986)
Lenat, D., Reed, S.: Mapping Ontologies into Cyc, AAAI 2002 Conference Workshop on Ontologies for the Semantic Web. Edmonton, Canada (2002)
Birnbaum, L., Forbus, K. et al.: Combining analogy, intelligent information retrieval, and knowledge integration for analysis: a preliminary report. In: ICIA 2005, McLean, USA (2005)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Zykov, S.V. (2016). Software Engineering: The End of the Crisis?. In: Crisis Management for Software Development and Knowledge Transfer. Smart Innovation, Systems and Technologies, vol 61. Springer, Cham. https://doi.org/10.1007/978-3-319-42966-3_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-42966-3_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-42965-6
Online ISBN: 978-3-319-42966-3
eBook Packages: EngineeringEngineering (R0)