For courses in computer science and software engineering The Fundamental Practice of Software Engineering Software Engineering introduces readers to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our worlds major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner. The Tenth Edition contains new information that highlights various technological updates of recent years, providing readers with highly relevant and current information. Sommervilles experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.
Cited By
- Kirova V, Ku C, Laracy J and Marlowe T Software Engineering Education Must Adapt and Evolve for an LLM Environment Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1, (666-672)
- Tan I and Poskitt C Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When Teaching Code Refactoring Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1, (1307-1313)
- Telea A, Machado A and Wang Y (2024). Seeing is Learning in High Dimensions: The Synergy Between Dimensionality Reduction and Machine Learning, SN Computer Science, 5:3, Online publication date: 21-Feb-2024.
- Ruiz M, Hu J and Dalpiaz F (2023). Why don’t we trace? A study on the barriers to software traceability in practice, Requirements Engineering, 28:4, (619-637), Online publication date: 1-Dec-2023.
- Varajão J, Trigo A and Almeida M (2023). Low-code Development Productivity, Queue, 21:5, (87-107), Online publication date: 31-Oct-2023.
- Chong C, Kang E and Shaw M Open Design Case Study - A Crowdsourcing Effort to Curate Software Design Case Studies Proceedings of the 45th International Conference on Software Engineering: Software Engineering Education and Training, (23-28)
- Bhat A, Coursey A, Hu G, Li S, Nahar N, Zhou S, Kästner C and Guo J Aspirations and Practice of ML Model Documentation: Moving the Needle with Nudging and Traceability Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, (1-17)
- Elzen S, Andrienko G, Andrienko N, Fisher B, Martins R, Peltonen J, Telea A, Verleysen M and Rhyne T (2023). The Flow of Trust: A Visualization Framework to Externalize, Explore, and Explain Trust in ML Applications, IEEE Computer Graphics and Applications, 43:2, (78-88), Online publication date: 1-Mar-2023.
- Moroz B, Saltan A and Hyrynsalmi S A Process Model of Product Strategy Development: A Case of a B2B SaaS Product Product-Focused Software Process Improvement, (181-200)
- Bolloju N Software Engineering Course Restructured to Support Agile Software Development Projects Proceedings of the 15th Annual ACM India Compute Conference, (17-22)
- Synovic N, Hyatt M, Sethi R, Thota S, Shilpika , Miller A, Jiang W, Amobi E, Pinderski A, Läufer K, Hayward N, Klingensmith N, Davis J and Thiruvathukal G Snapshot Metrics Are Not Enough: Analyzing Software Repositories with Longitudinal Metrics Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, (1-4)
- Wiesmayr B, Zoitl A, Prenzel L and Steinhorst S Supporting a Model-driven Development Process for Distributed Control Software 2022 IEEE 27th International Conference on Emerging Technologies and Factory Automation (ETFA), (1-8)
- Springer O and Miler J (2022). A comprehensive overview of software product management challenges, Empirical Software Engineering, 27:5, Online publication date: 1-Sep-2022.
- Müller I, Hussain W and Grundy J So who is impacted anyway Proceedings of the 15th International Conference on Cooperative and Human Aspects of Software Engineering, (36-40)
- Raglianti M Topology of the documentation landscape Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings, (297-299)
- Shishkov B, Branzov T, Ivanova K and Verbraeck A Using Drones for Resilience: A System of Systems Perspective 10th International Conference on Telecommunications and Remote Sensing, (19-25)
- Pan Y (2021). Reflexivity of Account, Professional Vision, and Computer-Supported Cooperative Work: Working in the Maritime Domain, Proceedings of the ACM on Human-Computer Interaction, 5:CSCW2, (1-32), Online publication date: 13-Oct-2021.
- Günay C and Doloc-Mihu A An Open Educational Resource for an Agile Software Engineering Course Proceedings of the 22nd Annual Conference on Information Technology Education, (51-52)
- Lomio F, Jurvansuu S and Taibi D Metrics selection for load monitoring of service-oriented system Proceedings of the 5th International Workshop on Machine Learning Techniques for Software Quality Evolution, (31-36)
- Xexéo G, Mangeli E, Silva F, Ouriques L, Costa L and Monclar R Games as Information Systems Proceedings of the XVII Brazilian Symposium on Information Systems, (1-8)
- Mishra S and Sharma A Crawling Wikipedia Pages to Train Word Embeddings Model for Software Engineering Domain Proceedings of the 14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference), (1-5)
- Ferdinansyah A and Purwandari B Challenges in Combining Agile Development and CMMI: A Systematic Literature Review Proceedings of the 2021 10th International Conference on Software and Computer Applications, (63-69)
- Gunawan F and K. Budiardjo E A Quest of Software Process Improvements in DevOps and Kanban: Proceedings of the 2021 4th International Conference on Software Engineering and Information Management, (39-45)
- Zhou Z, Zhi Q and Morisaki S (2021). A Composite Safety Assurance Method for Developing System Architecture Using Model Checking, International Journal of Systems and Software Security and Protection, 12:1, (78-93), Online publication date: 1-Jan-2021.
- Haris M and Kurniawan T Automated requirement sentences extraction from software requirement specification document Proceedings of the 5th International Conference on Sustainable Information Engineering and Technology, (142-147)
- Li Z, Wan H, Deng Y, Zhao X, Gao Y, Song X and Gu M (2020). Model-Based Adaptation of Mixed-Criticality Multiservice Systems for Extreme Physical Environments, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39:7, (1386-1399), Online publication date: 1-Jul-2020.
- Webber T, Santana J, Vermeulen A and Bowles J Designing a Patient-Centric System for Secure Exchanges of Medical Data Computational Science and Its Applications – ICCSA 2020, (598-614)
- Banach R, Razavi J, Debicki O and Lesecq S Formal Modelling and Verification as Rigorous Review Technology: An Inspiration from INSPEX Formal Methods. FM 2019 International Workshops, (77-91)
- Sousa B, Bigonha M and Ferreira K Analysis of Coupling Evolution on Open Source Systems Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse, (23-32)
- Meixner K, Winkler D and Biffl S Supporting Domain Experts by using Model-Based Equivalence Class Partitioning for Efficient Test Data Generation 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), (134-141)
- Rodriguez G, Pérez J and Benavides D Accessibility Variability Model Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B, (114-121)
- Al-Rousan T and Abualese H (2019). Simplifying the Structural Complexity of Software Systems, Cybernetics and Information Technologies, 19:3, (57-73), Online publication date: 1-Sep-2019.
- Rindell K, Bernsmed K and Jaatun M Managing Security in Software Proceedings of the 14th International Conference on Availability, Reliability and Security, (1-8)
- Saleme E, Santos C and Ghinea G (2019). A mulsemedia framework for delivering sensory effects to heterogeneous systems, Multimedia Systems, 25:4, (421-447), Online publication date: 1-Aug-2019.
- Larsén S and Glassey R RepoBee Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education, (534-540)
- Peláez C, Granollers T, Solano A and Castillo P Product Design and Development Methodologies vs. Multimedia Systems Development Methodologies Proceedings of the XX International Conference on Human Computer Interaction, (1-7)
- Glassey R Adopting Git/Github within Teaching Proceedings of the ACM Conference on Global Computing Education, (143-149)
- Tianual P and Pohthong A Defects Detection Technique of Use Case Views during Requirements Engineering Proceedings of the 2019 8th International Conference on Software and Computer Applications, (277-281)
- Brant-Ribeiro T, Araújo R, Mendonça I, Soares M and Cattelan R (2019). Interactive web interfaces modeling, simulation and analysis using Colored Petri Nets, Software and Systems Modeling (SoSyM), 18:1, (721-737), Online publication date: 1-Feb-2019.
- Hestomo C, Budiardjo E and Ferdinansyah A Quality Function Deployment Analysis in Selecting Software Development Methodology Proceedings of the 2nd International Conference on Software Engineering and Information Management, (63-68)
- Grimm C, Smart W and Hartzog W An Education Model of Reasonable and Good-Faith Effort for Autonomous Systems Proceedings of the 2018 AAAI/ACM Conference on AI, Ethics, and Society, (117-121)
- Guidini Gonçalves T, Marçal de Oliveira K and Kolski C (2018). HCI in practice, Journal of Software: Evolution and Process, 30:11, Online publication date: 14-Nov-2018.
- Hebig R, Seidl C, Berger T, Pedersen J and Wąsowski A Model transformation languages under a magnifying glass: a controlled experiment with Xtend, ATL, and QVT Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (445-455)
- Pawełoszek I and Korczak J Merging of Ontologies - Conceptual Design Issues Proceedings of the 2018 10th International Conference on Information Management and Engineering, (59-63)
- Odeh Y Deriving a Goal-based Use Case Model from Business Goals and Process Model Proceedings of the 2018 10th International Conference on Information Management and Engineering, (16-20)
- Santos A, Souza M, Oliveira J and Figueiredo E Mining Software Repositories to Identify Library Experts Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse, (83-91)
- de Kinderen S and Ma Q Towards purposeful enterprise modeling for enterprise analysis Proceedings of the 1st International Conference on Information Management and Management Science, (163-167)
- Braught G, Maccormick J, Bowring J, Burke Q, Cutler B, Goldschmidt D, Krishnamoorthy M, Turner W, Huss-Lederman S, Mackellar B and Tucker A (2018). A Multi-Institutional Perspective on H/FOSS Projects in the Computing Curriculum, ACM Transactions on Computing Education, 18:2, (1-31), Online publication date: 14-Jul-2018.
- Ki-Aries D, Faily S, Dogan H and Williams C System of Systems Characterisation assisting Security Risk Assessment 2018 13th Annual Conference on System of Systems Engineering (SoSE), (485-492)
- Moise G, Moise P and Moise P Towards holons-based architecture for medical systems Proceedings of the International Workshop on Software Engineering in Healthcare Systems, (26-29)
- Gutierrez F, Simmonds J, Hitschfeld N, Casanova C, Sotomayor C and Peña-Araya V Assessing software development skills among K-6 learners in a project-based workshop with scratch Proceedings of the 40th International Conference on Software Engineering: Software Engineering Education and Training, (98-107)
- Gasparic M, Gurbanov T and Ricci F Improving integrated development environment commands knowledge with recommender systems Proceedings of the 40th International Conference on Software Engineering: Software Engineering Education and Training, (88-97)
- Silveira F, Russo R, Júnior I and Sbragia R (2018). Systematic Review of Risks in Domestic and Global IT Projects, Journal of Global Information Management, 26:1, (20-40), Online publication date: 1-Jan-2018.
- Barros D, Begosso L, Fabri J and L'Erario A The use of comic strips in the teaching of software engineering 2017 IEEE Frontiers in Education Conference (FIE), (1-8)
- Odeh Y BPMN in Engineering Software Requirements Proceedings of the 9th International Conference on Information Management and Engineering, (11-16)
- Gonzlez-Esquiva J, Oates M, Garca-Mateos G, Moros-Valle B, Molina-Martnez J and Ruiz-Canales A (2017). Development of a visual monitoring system for water balance estimation of horticultural crops using low cost cameras, Computers and Electronics in Agriculture, 141:C, (15-26), Online publication date: 1-Sep-2017.
- Pham V, Liu X, Zheng X, Fu M, Deshpande S, Xia W, Zhou R and Abdelrazek M PaaS - black or white Proceedings of the 39th International Conference on Software Engineering Companion, (285-287)
- Zhang W, Liu X and Yang Y Let smart ants help you reduce the delay penalty of multiple software projects Proceedings of the 39th International Conference on Software Engineering Companion, (271-273)
- Oudshoorn M (2017). Pathways to software engineering courses, Journal of Computing Sciences in Colleges, 32:5, (76-87), Online publication date: 1-May-2017.
- Ryan M and Wheatcraft L (2017). On a Cohesive Set of Requirements Engineering Terms, Systems Engineering, 20:2, (118-130), Online publication date: 1-Mar-2017.
- Navarro A and da Silva A (2016). A metamodel-based definition of a conversion mechanism between SOAP and RESTful web services, Computer Standards & Interfaces, 48:C, (49-70), Online publication date: 1-Nov-2016.
- Alcover E, Jaume-i-Capó A and Moyà-Alcover B A Process Framework for Serious Games Development for Motor Rehabilitation Therapy Proceedings of the XVII International Conference on Human Computer Interaction, (1-2)
- Greene G and Fischer B CVExplorer: identifying candidate developers by mining and exploring their open source contributions Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, (804-809)
- Honig W, Noda N and Takada S (2016). Lack of Attention to Singular (or Atomic) Requirements Despite Benefits for Quality, Metrics and Management, ACM SIGSOFT Software Engineering Notes, 41:4, (1-5), Online publication date: 19-Aug-2016.
- Ciancarini P, Russo D, Sillitti A and Succi G Reverse engineering Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1498-1503)
- Pereira R, Baranauskas M and Liu K The value of values for HCI Proceedings of the 14th Brazilian Symposium on Human Factors in Computing Systems, (1-10)
Index Terms
- Software Engineering
Recommendations
A Software Engineering Ontology as Software Engineering Knowledge Representation
ICCIT '08: Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology - Volume 02This paper aims to present software engineering ontology as software engineering knowledge representation for a multi-site software development. It will not only facilitate the capturing of software engineering knowledge but also enhance the sharing of ...
Development of software engineering: co-operative efforts from academia, government and industry
ICSE '06: Proceedings of the 28th international conference on Software engineeringIn the past 40 years, software engineering has emerged as an important sub-field of computer science. The quality and productivity of software have been improved and the cost and risk of software development been decreased due to the contributions made ...