Abstract
This chapter discusses design and development, and software design is the blueprint of the solution to be developed. It is concerned with the high-level architecture of the system, as well as the detailed design that describes the algorithms and functionality of the individual programs. The detailed design is then implemented in a programming language such as C++ or Java. We discuss software development topics such as software reuse, customized-off-the-shelf software (COTS), and open-source software development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
I recall Parnas making a joke many years ago that we have developed all this reusable software that nobody reuses.
- 2.
The inventors of Simula-67 were Ole-Johan Dahl and Kristen Nygaard.
- 3.
Dahl and Nygaard were working on ship simulations and were attempting to address the huge number of combinations of different attributes from different types of ships. Their insight was to group the different types of ships into different classes of objects, with each class of objects being responsible for defining its own data and behaviour.
References
P. Kruchten, Architectural blueprints—the “4+1” view model of software architecture. IEEE Softw. 12(6), 42–50 (1995)
D. Parnas, On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12) (1972)
G. O’Regan, Giants of Computing (Springer, 2013)
I. Sommerville, Software Engineering, 9th edn. (Pearson, 2011)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this chapter
Cite this chapter
O’Regan, G. (2022). Software Design and Development. In: Concise Guide to Software Engineering. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-031-07816-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-07816-3_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-07815-6
Online ISBN: 978-3-031-07816-3
eBook Packages: Computer ScienceComputer Science (R0)