ln any major software project, a large volume of project-related information must be maintained a... more ln any major software project, a large volume of project-related information must be maintained and manipulated throughout the software life-cycle. Often this information is scattered, in different media ranging from scraps of papers to program listings, poorly cross-referenced, and inaccessible. TRIAD, an adaptable, integrated software development environment, has been designed to integrate and manage all this information in an organized and structured manner.
BiiN SMS is a new industrial-strength software management system that solves four con figuration ... more BiiN SMS is a new industrial-strength software management system that solves four con figuration management problems in new ways: the dependency mapping problem, the stable context problem, the short circuit problem, and the composition problem.
This report describes our experience using the object modeling technique, OMT, as a design method... more This report describes our experience using the object modeling technique, OMT, as a design method for two software development projects that were using objectoriented technology for the first time. Successfully completing the design was accomplished by tailoring the OMT method to fit the process and design needs of each project, and leveraging existing OMT knowledge and experience within the company.
Software architecture design approaches typically treat architecture as an abstraction of the imp... more Software architecture design approaches typically treat architecture as an abstraction of the implemented system. However, doing so means that the concepts, languages, notations, and tools for architecture are much more closely related to those of detailed design and implementation than to those of software requirements. Thus the gap between requirements and architecture represents a paradigm shift, while that between architecture and detailed design does not. Global Analysis, which is part of the Siemens Four Views architecture design approach, is a set of activities that serves to reduce the magnitude of this gap by guiding the architecture design process, capturing design rationale, and supporting traceability between requirements and architecture. In this paper Global Analysis is re-examined in light of five years of teaching it, reflecting on it, comparing it to other approaches, and examining how it was applied in four new systems. This experience confirms the value of the Global Analysis activities and the importance of capturing its results. In some cases the benefit went beyond that envisioned, and in other cases Global Analysis was not applied as expected. Because the templates that are provided for Global Analysis results have such a strong influence on how the activities were performed, this will be the focus of future changes.
fferent teams in different phases. For example, the code architectureis influenced by the impleme... more fferent teams in different phases. For example, the code architectureis influenced by the implementation language and the development environment. Theexecution architecture, on the other hand, is influenced by technological support forcommunication, distribution, and integration.The objective of our research project is to develop methods and tools to support:. rigorous notations to describe architectures from a variety of perspectives,. analysis techniques to
The software architecture of a system describes how it is decomposed into components, how these c... more The software architecture of a system describes how it is decomposed into components, how these components are interconnected, and how they communicate and interact with each other and with the environment. Software archi- tecture represents critical, system-wide design decisions which affect quality, reconfigurability and reuse, and the cost for development and maintenance. In order to understand architecture as it is practised in the real world, we conducted a survey of a variety of indus- trial software systems. Our survey revealed the need for rigorous descriptions, systematic techniques, and well- defined processes to make architecture-level software development an engineering practice rather than an art.
This position paper describes our experiences witharchitecture-centered project planning for a so... more This position paper describes our experiences witharchitecture-centered project planning for a softwaredevelopment project. A software architecture designdocument was the primary input to the top-down andbottom-up planning processes, and a softwaredevelopment plan was the primary output. Thesoftware development plan was used by each memberof the development team to generate their personalschedules.Keywords: Software architecture, estimation, projectplanning, high-level design.1...
The software architecture of a system describes how it is decomposed into components, how these c... more The software architecture of a system describes how it is decomposed into components, how these components are interconnected, and how they communicate and interact with each other and with the environment. Software archi- tecture represents critical, system-wide design decisions which affect quality, reconfigurability and reuse, and the cost for development and maintenance. In order to understand architecture as it is practised in the real world, we conducted a survey of a variety of indus- trial software systems. Our survey revealed the need for rigorous descriptions, systematic techniques, and well- defined processes to make architecture-level software development an engineering practice rather than an art.
... RW Schwanke, ES Cohen, R. Gluecker WM Hasling, DA Soni, ME Wagner Siemens Corporate Research,... more ... RW Schwanke, ES Cohen, R. Gluecker WM Hasling, DA Soni, ME Wagner Siemens Corporate Research, Inc. ... For example, when an Ada' 1161 source file contains more than one compila-tion unit, the preprocessor can report the names of the compilation units contained in the ...
... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -... more ... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -- the latest such version /usr/glu/ship.c@B3@lat'est - the latest version on branch B3 /usr/glu/shlp.c@any[branch]@latest -- the latest version on any branch ...
This report describes our experience using the object modeling technique, OMT, as a design method... more This report describes our experience using the object modeling technique, OMT, as a design method for two software development projects that were using objectoriented technology for the first time. Successfully completing the design was accomplished by tailoring the OMT method to fit the process and design needs of each project, and leveraging existing OMT knowledge and experience within the company.
Software architecture design approaches typically treat architecture as an abstraction of the imp... more Software architecture design approaches typically treat architecture as an abstraction of the implemented system. However, doing so means that the concepts, languages, notations, and tools for architecture are much more closely related to those of detailed design and implementation than to those of software requirements. Thus the gap between requirements and architecture represents a paradigm shift, while that between architecture and detailed design does not. Global Analysis, which is part of the Siemens Four Views architecture design approach, is a set of activities that serves to reduce the magnitude of this gap by guiding the architecture design process, capturing design rationale, and supporting traceability between requirements and architecture. In this paper Global Analysis is re-examined in light of five years of teaching it, reflecting on it, comparing it to other approaches, and examining how it was applied in four new systems. This experience confirms the value of the Global Analysis activities and the importance of capturing its results. In some cases the benefit went beyond that envisioned, and in other cases Global Analysis was not applied as expected. Because the templates that are provided for Global Analysis results have such a strong influence on how the activities were performed, this will be the focus of future changes.
It is now generally accepted that separating software architecture into multiple views can help i... more It is now generally accepted that separating software architecture into multiple views can help in reducing complexity and in making sound decisions about design trade-offs. Our four views are based on current practice; they are loosely coupled, and address different engineering concerns [1]. This tutorial will teach you how global analysis can improve your design, and how to use UML
The research community in the emerging area of SOBware architecture has developed little consensu... more The research community in the emerging area of SOBware architecture has developed little consensus over the dejnition of architecture except that architecture is related to the structure of a system and the interaction among its
It is now generally accepted that separating software architecture into multiple views can help i... more It is now generally accepted that separating software architecture into multiple views can help in reducing complexity and in making sound decisions about design trade-offs. Our four views are based on current practice; they are loosely coupled, and address different engineering concerns . This tutorial will teach you how global analysis can improve your design, and how to use UML to describe these views. You will learn: (1) the purpose of having separate software architecture views, (2) the difference between using UML for software architecture and the use of UML for designing OO implementations, how to apply global analysis to analyze factors that influence the architecture and to develop strategies that guide the design, (4) the importance of designing for anticipated change to produce more maintainable architectures, and (5) how to incorporate software architecture design in your software process.
... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -... more ... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -- the latest such version /usr/glu/ship.c@B3@lat'est - the latest version on branch B3 /usr/glu/shlp.c@any[branch]@latest -- the latest version on any branch ...
ln any major software project, a large volume of project-related information must be maintained a... more ln any major software project, a large volume of project-related information must be maintained and manipulated throughout the software life-cycle. Often this information is scattered, in different media ranging from scraps of papers to program listings, poorly cross-referenced, and inaccessible. TRIAD, an adaptable, integrated software development environment, has been designed to integrate and manage all this information in an organized and structured manner.
BiiN SMS is a new industrial-strength software management system that solves four con figuration ... more BiiN SMS is a new industrial-strength software management system that solves four con figuration management problems in new ways: the dependency mapping problem, the stable context problem, the short circuit problem, and the composition problem.
This report describes our experience using the object modeling technique, OMT, as a design method... more This report describes our experience using the object modeling technique, OMT, as a design method for two software development projects that were using objectoriented technology for the first time. Successfully completing the design was accomplished by tailoring the OMT method to fit the process and design needs of each project, and leveraging existing OMT knowledge and experience within the company.
Software architecture design approaches typically treat architecture as an abstraction of the imp... more Software architecture design approaches typically treat architecture as an abstraction of the implemented system. However, doing so means that the concepts, languages, notations, and tools for architecture are much more closely related to those of detailed design and implementation than to those of software requirements. Thus the gap between requirements and architecture represents a paradigm shift, while that between architecture and detailed design does not. Global Analysis, which is part of the Siemens Four Views architecture design approach, is a set of activities that serves to reduce the magnitude of this gap by guiding the architecture design process, capturing design rationale, and supporting traceability between requirements and architecture. In this paper Global Analysis is re-examined in light of five years of teaching it, reflecting on it, comparing it to other approaches, and examining how it was applied in four new systems. This experience confirms the value of the Global Analysis activities and the importance of capturing its results. In some cases the benefit went beyond that envisioned, and in other cases Global Analysis was not applied as expected. Because the templates that are provided for Global Analysis results have such a strong influence on how the activities were performed, this will be the focus of future changes.
fferent teams in different phases. For example, the code architectureis influenced by the impleme... more fferent teams in different phases. For example, the code architectureis influenced by the implementation language and the development environment. Theexecution architecture, on the other hand, is influenced by technological support forcommunication, distribution, and integration.The objective of our research project is to develop methods and tools to support:. rigorous notations to describe architectures from a variety of perspectives,. analysis techniques to
The software architecture of a system describes how it is decomposed into components, how these c... more The software architecture of a system describes how it is decomposed into components, how these components are interconnected, and how they communicate and interact with each other and with the environment. Software archi- tecture represents critical, system-wide design decisions which affect quality, reconfigurability and reuse, and the cost for development and maintenance. In order to understand architecture as it is practised in the real world, we conducted a survey of a variety of indus- trial software systems. Our survey revealed the need for rigorous descriptions, systematic techniques, and well- defined processes to make architecture-level software development an engineering practice rather than an art.
This position paper describes our experiences witharchitecture-centered project planning for a so... more This position paper describes our experiences witharchitecture-centered project planning for a softwaredevelopment project. A software architecture designdocument was the primary input to the top-down andbottom-up planning processes, and a softwaredevelopment plan was the primary output. Thesoftware development plan was used by each memberof the development team to generate their personalschedules.Keywords: Software architecture, estimation, projectplanning, high-level design.1...
The software architecture of a system describes how it is decomposed into components, how these c... more The software architecture of a system describes how it is decomposed into components, how these components are interconnected, and how they communicate and interact with each other and with the environment. Software archi- tecture represents critical, system-wide design decisions which affect quality, reconfigurability and reuse, and the cost for development and maintenance. In order to understand architecture as it is practised in the real world, we conducted a survey of a variety of indus- trial software systems. Our survey revealed the need for rigorous descriptions, systematic techniques, and well- defined processes to make architecture-level software development an engineering practice rather than an art.
... RW Schwanke, ES Cohen, R. Gluecker WM Hasling, DA Soni, ME Wagner Siemens Corporate Research,... more ... RW Schwanke, ES Cohen, R. Gluecker WM Hasling, DA Soni, ME Wagner Siemens Corporate Research, Inc. ... For example, when an Ada' 1161 source file contains more than one compila-tion unit, the preprocessor can report the names of the compilation units contained in the ...
... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -... more ... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -- the latest such version /usr/glu/ship.c@B3@lat'est - the latest version on branch B3 /usr/glu/shlp.c@any[branch]@latest -- the latest version on any branch ...
This report describes our experience using the object modeling technique, OMT, as a design method... more This report describes our experience using the object modeling technique, OMT, as a design method for two software development projects that were using objectoriented technology for the first time. Successfully completing the design was accomplished by tailoring the OMT method to fit the process and design needs of each project, and leveraging existing OMT knowledge and experience within the company.
Software architecture design approaches typically treat architecture as an abstraction of the imp... more Software architecture design approaches typically treat architecture as an abstraction of the implemented system. However, doing so means that the concepts, languages, notations, and tools for architecture are much more closely related to those of detailed design and implementation than to those of software requirements. Thus the gap between requirements and architecture represents a paradigm shift, while that between architecture and detailed design does not. Global Analysis, which is part of the Siemens Four Views architecture design approach, is a set of activities that serves to reduce the magnitude of this gap by guiding the architecture design process, capturing design rationale, and supporting traceability between requirements and architecture. In this paper Global Analysis is re-examined in light of five years of teaching it, reflecting on it, comparing it to other approaches, and examining how it was applied in four new systems. This experience confirms the value of the Global Analysis activities and the importance of capturing its results. In some cases the benefit went beyond that envisioned, and in other cases Global Analysis was not applied as expected. Because the templates that are provided for Global Analysis results have such a strong influence on how the activities were performed, this will be the focus of future changes.
It is now generally accepted that separating software architecture into multiple views can help i... more It is now generally accepted that separating software architecture into multiple views can help in reducing complexity and in making sound decisions about design trade-offs. Our four views are based on current practice; they are loosely coupled, and address different engineering concerns [1]. This tutorial will teach you how global analysis can improve your design, and how to use UML
The research community in the emerging area of SOBware architecture has developed little consensu... more The research community in the emerging area of SOBware architecture has developed little consensus over the dejnition of architecture except that architecture is related to the structure of a system and the interaction among its
It is now generally accepted that separating software architecture into multiple views can help i... more It is now generally accepted that separating software architecture into multiple views can help in reducing complexity and in making sound decisions about design trade-offs. Our four views are based on current practice; they are loosely coupled, and address different engineering concerns . This tutorial will teach you how global analysis can improve your design, and how to use UML to describe these views. You will learn: (1) the purpose of having separate software architecture views, (2) the difference between using UML for software architecture and the use of UML for designing OO implementations, how to apply global analysis to analyze factors that influence the architecture and to develop strategies that guide the design, (4) the importance of designing for anticipated change to produce more maintainable architectures, and (5) how to incorporate software architecture design in your software process.
... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -... more ... B3 with a status of tested /usr/glu/ship.c@B3&latest[status=tested] -- the latest such version /usr/glu/ship.c@B3@lat'est - the latest version on branch B3 /usr/glu/shlp.c@any[branch]@latest -- the latest version on any branch ...
Uploads
Papers by Dilip Soni