{"title":"Let's Teach Architecting High Quality Software","authors":"Linda M. Northrop","doi":"10.1109/CSEET.2006.23","DOIUrl":null,"url":null,"abstract":"Summary form only given. Quality software is software that is fit for its intended purpose. High quality software meets business goals and user needs, which means it has the right features and the right attributes. Building quality software requires using disciplined processes and a carefully designed software architecture. The architecture part of this quality equation has often been ignored in software engineering education. Too often we teach only low-level code design. Yet, the software architecture is the first design artifact that addresses key quality attributes such as affordability, reliability, security, modifiability, and performance. The quality of a system emanates in large part from the software architecture. The software architecture provides the most fundamental basis for communicating design decisions and establishing effective work breakdown structures. The software architecture is the reusable, transferable abstraction that is the basis for software product lines. Architecture represents an enormous risk in a software development project; the wrong architecture leads to poor quality software and very often to project failure. It's time that all software engineering students know the principles of software architecture and how to use effective architecture practices. Every facet of our society depends on software. To ensure high quality software we need to teach our students to architect high quality software.","PeriodicalId":250569,"journal":{"name":"Conference on Software Engineering Education and Training","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Software Engineering Education and Training","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSEET.2006.23","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
Summary form only given. Quality software is software that is fit for its intended purpose. High quality software meets business goals and user needs, which means it has the right features and the right attributes. Building quality software requires using disciplined processes and a carefully designed software architecture. The architecture part of this quality equation has often been ignored in software engineering education. Too often we teach only low-level code design. Yet, the software architecture is the first design artifact that addresses key quality attributes such as affordability, reliability, security, modifiability, and performance. The quality of a system emanates in large part from the software architecture. The software architecture provides the most fundamental basis for communicating design decisions and establishing effective work breakdown structures. The software architecture is the reusable, transferable abstraction that is the basis for software product lines. Architecture represents an enormous risk in a software development project; the wrong architecture leads to poor quality software and very often to project failure. It's time that all software engineering students know the principles of software architecture and how to use effective architecture practices. Every facet of our society depends on software. To ensure high quality software we need to teach our students to architect high quality software.