{"title":"软件开发的产品工程方法","authors":"K. Nori, N. Swaminathan","doi":"10.1109/CSEETW.2006.2","DOIUrl":null,"url":null,"abstract":"Software engineering currently takes an activity-oriented view of development. Our approach to achieving qualities is rooted in process engineering: identifying and performing a set of requirements, design and construction activities, with testing to inspect if the desired product has been obtained, and relying on process optimization over time to help us in defining the right set of activities. In contrast, design in other engineering disciplines is centered on product engineering, systematically engineering in desired qualities through successive stages of development. Process engineering is then applied to this conceptually sound fundamental structure to optimize process performance parameters. This paper asserts that software development can and should be grounded in product engineering, and presents a conceptual model that enables a systematic approach to achieving qualities. Key enablers for this are a clear separation of quality concerns and the use of analysis to validate designs. Analysis techniques for software qualities have been available for many years, yet they are not viewed as basic knowledge in Computer Science and Software Engineering curricula. We argue that to put software engineering education on a firm footing, it is necessary to shift our conceptual basis for software development from process engineering to product engineering.","PeriodicalId":325998,"journal":{"name":"19th Conference on Software Engineering Education and Training Workshops (CSEETW'06)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"A Product Engineering Approach to Software Development\",\"authors\":\"K. Nori, N. Swaminathan\",\"doi\":\"10.1109/CSEETW.2006.2\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software engineering currently takes an activity-oriented view of development. Our approach to achieving qualities is rooted in process engineering: identifying and performing a set of requirements, design and construction activities, with testing to inspect if the desired product has been obtained, and relying on process optimization over time to help us in defining the right set of activities. In contrast, design in other engineering disciplines is centered on product engineering, systematically engineering in desired qualities through successive stages of development. Process engineering is then applied to this conceptually sound fundamental structure to optimize process performance parameters. This paper asserts that software development can and should be grounded in product engineering, and presents a conceptual model that enables a systematic approach to achieving qualities. Key enablers for this are a clear separation of quality concerns and the use of analysis to validate designs. Analysis techniques for software qualities have been available for many years, yet they are not viewed as basic knowledge in Computer Science and Software Engineering curricula. We argue that to put software engineering education on a firm footing, it is necessary to shift our conceptual basis for software development from process engineering to product engineering.\",\"PeriodicalId\":325998,\"journal\":{\"name\":\"19th Conference on Software Engineering Education and Training Workshops (CSEETW'06)\",\"volume\":\"77 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2006-04-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"19th Conference on Software Engineering Education and Training Workshops (CSEETW'06)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSEETW.2006.2\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"19th Conference on Software Engineering Education and Training Workshops (CSEETW'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSEETW.2006.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Product Engineering Approach to Software Development
Software engineering currently takes an activity-oriented view of development. Our approach to achieving qualities is rooted in process engineering: identifying and performing a set of requirements, design and construction activities, with testing to inspect if the desired product has been obtained, and relying on process optimization over time to help us in defining the right set of activities. In contrast, design in other engineering disciplines is centered on product engineering, systematically engineering in desired qualities through successive stages of development. Process engineering is then applied to this conceptually sound fundamental structure to optimize process performance parameters. This paper asserts that software development can and should be grounded in product engineering, and presents a conceptual model that enables a systematic approach to achieving qualities. Key enablers for this are a clear separation of quality concerns and the use of analysis to validate designs. Analysis techniques for software qualities have been available for many years, yet they are not viewed as basic knowledge in Computer Science and Software Engineering curricula. We argue that to put software engineering education on a firm footing, it is necessary to shift our conceptual basis for software development from process engineering to product engineering.