Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615461
L. Scott
Argues that the graph-based hypernode model is a good tool for supporting software design methodology modelling in a software design meta-CASE tool. The unique features of the hypernode model that make it particularly suitable for this task are a nested, graph-based structure, support for meta-data modelling and a high-level procedural query-and-update language. These features make it possible for the hypernode model to support the definition of both methodological structures and processes and run-time modification of methodological support in a meta-CASE tool. We demonstrate these features in a prototype meta-CASE tool called CASEMaker.
{"title":"Hypernode model support for software design methodology modelling","authors":"L. Scott","doi":"10.1109/STEP.1997.615461","DOIUrl":"https://doi.org/10.1109/STEP.1997.615461","url":null,"abstract":"Argues that the graph-based hypernode model is a good tool for supporting software design methodology modelling in a software design meta-CASE tool. The unique features of the hypernode model that make it particularly suitable for this task are a nested, graph-based structure, support for meta-data modelling and a high-level procedural query-and-update language. These features make it possible for the hypernode model to support the definition of both methodological structures and processes and run-time modification of methodological support in a meta-CASE tool. We demonstrate these features in a prototype meta-CASE tool called CASEMaker.","PeriodicalId":68622,"journal":{"name":"软件","volume":"72 1","pages":"22-31"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86299434","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615536
L. Hunt
Software engineers and system analysts are continually inundated with demands to adopt this design methodology or that implementation support tool. There is no shortage of options. However, unless it is very clear what is is that is supposed to be designed and/or implemented, such techniques and tools are likely to be wastefully employed producing the wrong thing. It is incumbent upon all professional engineers, before committing other people's money and resources, to be able to confirm that they are setting to work with a good requirement specification. What is a 'good' requirements specification and how may one ensure that one has one? The paper described a radically new approach to producing re-usable requirements specifications which achieves levels of clarity and precision hitherto unattainable. Above all the approach provides the ability to demonstrate clearly to a client the actual content of a specification as opposed to its supposed content-in an information sense. Such ability is vital if the professional engineer is to be able to carry his client with him or if the client is to be convinced when changes are required-before any serious commitment to consequential or candidate design is made.
{"title":"Getting the requirements right-a professional approach","authors":"L. Hunt","doi":"10.1109/STEP.1997.615536","DOIUrl":"https://doi.org/10.1109/STEP.1997.615536","url":null,"abstract":"Software engineers and system analysts are continually inundated with demands to adopt this design methodology or that implementation support tool. There is no shortage of options. However, unless it is very clear what is is that is supposed to be designed and/or implemented, such techniques and tools are likely to be wastefully employed producing the wrong thing. It is incumbent upon all professional engineers, before committing other people's money and resources, to be able to confirm that they are setting to work with a good requirement specification. What is a 'good' requirements specification and how may one ensure that one has one? The paper described a radically new approach to producing re-usable requirements specifications which achieves levels of clarity and precision hitherto unattainable. Above all the approach provides the ability to demonstrate clearly to a client the actual content of a specification as opposed to its supposed content-in an information sense. Such ability is vital if the professional engineer is to be able to carry his client with him or if the client is to be convinced when changes are required-before any serious commitment to consequential or candidate design is made.","PeriodicalId":68622,"journal":{"name":"软件","volume":"8 1","pages":"464-472"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79881678","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615525
Hans Stienen, Hartmut Gierszal
The main characteristics of the BOOTSTRAP method are briefly described, i.e. the reference framework, the assessment procedure, the structure of the questionnaires and the rating and scoring mechanisms used. The major part deals with the results of the BOOTSTRAP assessments performed worldwide over the last 5 years. In this part, major experiences from over 40 sites and 180 projects are analysed in detail and summarised. The empirical data support the basic concepts of the Capability Maturity Model (CMM), but demonstrate that the more detailed profiles the BOOTSTRAP method provides are an excellent instrument to identify strengths and weaknesses of an organisation. BOOTSTRAP proved to be a very efficient and effective means not only to assess the current status of software process quality but also to initiate appropriate improvement actions. The last part deals with future trends in software process assessment approaches, i.e. the development of a common framework for performing assessments.
{"title":"BOOTSTRAP: five years of assessment experience","authors":"Hans Stienen, Hartmut Gierszal","doi":"10.1109/STEP.1997.615525","DOIUrl":"https://doi.org/10.1109/STEP.1997.615525","url":null,"abstract":"The main characteristics of the BOOTSTRAP method are briefly described, i.e. the reference framework, the assessment procedure, the structure of the questionnaires and the rating and scoring mechanisms used. The major part deals with the results of the BOOTSTRAP assessments performed worldwide over the last 5 years. In this part, major experiences from over 40 sites and 180 projects are analysed in detail and summarised. The empirical data support the basic concepts of the Capability Maturity Model (CMM), but demonstrate that the more detailed profiles the BOOTSTRAP method provides are an excellent instrument to identify strengths and weaknesses of an organisation. BOOTSTRAP proved to be a very efficient and effective means not only to assess the current status of software process quality but also to initiate appropriate improvement actions. The last part deals with future trends in software process assessment approaches, i.e. the development of a common framework for performing assessments.","PeriodicalId":68622,"journal":{"name":"软件","volume":"492 1","pages":"371-379"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76387947","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615520
H. Gomaa, G. A. Farrukh
In this paper a reuse-oriented perspective is taken for designing and implementing configurable distributed applications. An application domain is defined as a family of systems that have some features in common and others that differentiate them. During domain engineering, reusable specifications, architectures and component types are developed, which capture the similarities and variations of the family of systems that compose the application domain. Target systems are generated by tailoring the reusable specification and architecture given the requirements of the target system, and configuring a target system based on the tailored architecture. The paper describes a software engineering environment for configuring distributed applications from a reusable architecture and library of predefined component types.
{"title":"A software engineering environment for configuring distributed applications from reusable software architectures","authors":"H. Gomaa, G. A. Farrukh","doi":"10.1109/STEP.1997.615520","DOIUrl":"https://doi.org/10.1109/STEP.1997.615520","url":null,"abstract":"In this paper a reuse-oriented perspective is taken for designing and implementing configurable distributed applications. An application domain is defined as a family of systems that have some features in common and others that differentiate them. During domain engineering, reusable specifications, architectures and component types are developed, which capture the similarities and variations of the family of systems that compose the application domain. Target systems are generated by tailoring the reusable specification and architecture given the requirements of the target system, and configuring a target system based on the tailored architecture. The paper describes a software engineering environment for configuring distributed applications from a reusable architecture and library of predefined component types.","PeriodicalId":68622,"journal":{"name":"软件","volume":"12 1","pages":"312-325"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75481778","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615512
A. Alderson, J. Cartmell, A. Elliott
The concept of relationship scope is a valuable modelling concept with a variety of applications. A particular relationships' scope expresses a constraint upon the entities which may validly be linked together by an instance of the relationship. The scoping of relationships has application to validation of reference relationships, imposing semantics upon the data not otherwise expressible directly by the data model. It can be applied to enrich the concept of composite entities. It can define the constraints necessary to direct relational table generation from entity and object oriented data models. It is one of a range of techniques contributing to our meta-CASE programme of managing the complexity of CASE tools by capturing as many aspects as possible through generic functionality parameterised for specific instances by values captured declaratively.
{"title":"On the scope of relationships ~CASE","authors":"A. Alderson, J. Cartmell, A. Elliott","doi":"10.1109/STEP.1997.615512","DOIUrl":"https://doi.org/10.1109/STEP.1997.615512","url":null,"abstract":"The concept of relationship scope is a valuable modelling concept with a variety of applications. A particular relationships' scope expresses a constraint upon the entities which may validly be linked together by an instance of the relationship. The scoping of relationships has application to validation of reference relationships, imposing semantics upon the data not otherwise expressible directly by the data model. It can be applied to enrich the concept of composite entities. It can define the constraints necessary to direct relational table generation from entity and object oriented data models. It is one of a range of techniques contributing to our meta-CASE programme of managing the complexity of CASE tools by capturing as many aspects as possible through generic functionality parameterised for specific instances by values captured declaratively.","PeriodicalId":68622,"journal":{"name":"软件","volume":"80 2","pages":"279-287"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1109/STEP.1997.615512","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72417139","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615494
R. Harrison, S. Counsell, R. Nithi
In this paper, we examine the current state in the field of object-oriented design metrices. We describe three sets of currently available metrics suites, namely, those of Chidamber and Kemerer (1993), Lorenze and Kidd (1994) and Abreu (1995). We consider the important features of each set, and assess the appropriateness and usefulness of each in evaluating the design of object-oriented systems. As a result, we identify problems common to all three sets of metrices, allowing us to suggest possible improvements in this area.
{"title":"An overview of object-oriented design metrics","authors":"R. Harrison, S. Counsell, R. Nithi","doi":"10.1109/STEP.1997.615494","DOIUrl":"https://doi.org/10.1109/STEP.1997.615494","url":null,"abstract":"In this paper, we examine the current state in the field of object-oriented design metrices. We describe three sets of currently available metrics suites, namely, those of Chidamber and Kemerer (1993), Lorenze and Kidd (1994) and Abreu (1995). We consider the important features of each set, and assess the appropriateness and usefulness of each in evaluating the design of object-oriented systems. As a result, we identify problems common to all three sets of metrices, allowing us to suggest possible improvements in this area.","PeriodicalId":68622,"journal":{"name":"软件","volume":"25 1","pages":"230-235"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74141785","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615539
W. Lam
The reuse of requirements has received little attention in the literature, especially in relation to genuine industrial problems. The paper describes the efforts that have been made to promote the reuse of requirements for aero-engine control systems at Rolls-Smiths Engine Controls Limited (RoSEC). In the approach, the notion of the requirements "component" is first introduced as a structure for reuse, and the process of component engineering used to create such components is examined. The role of requirements components in the development of reuse tools is investigated, particularly from the viewpoint of tool evolution. The COMPASS (COMPonent ASSistant) framework is presented as a development strategy for component-based requirements reuse tools. The paper closes with an initial evaluation of the approach and a summary of lessons learnt.
{"title":"Developing component-based tools for requirements reuse: a process guide","authors":"W. Lam","doi":"10.1109/STEP.1997.615539","DOIUrl":"https://doi.org/10.1109/STEP.1997.615539","url":null,"abstract":"The reuse of requirements has received little attention in the literature, especially in relation to genuine industrial problems. The paper describes the efforts that have been made to promote the reuse of requirements for aero-engine control systems at Rolls-Smiths Engine Controls Limited (RoSEC). In the approach, the notion of the requirements \"component\" is first introduced as a structure for reuse, and the process of component engineering used to create such components is examined. The role of requirements components in the development of reuse tools is investigated, particularly from the viewpoint of tool evolution. The COMPASS (COMPonent ASSistant) framework is presented as a development strategy for component-based requirements reuse tools. The paper closes with an initial evaluation of the approach and a summary of lessons learnt.","PeriodicalId":68622,"journal":{"name":"软件","volume":"30 1","pages":"473-483"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83522476","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615516
J. Snell
Code composition is error-prone because it places severe demands on the programmer's cognitive processes. The programmer could benefit from the machine's help at this stage, but conventional programming environments are essentially passive then. The usual assumption is that the programmer does debugging after entering a whole routine, although by this time his/her memory of some details may have decayed. We propose that coding efficiency would be improved if, as soon as a statement is typed, it is executed, and the new program state is displayed. The programmer can see whether the statement has the intended effects, and correct it while the thinking for it is still fresh. We have implemented and informally tested a prototype of this "ahead-of-time debugging" feature. We found that users fix more bugs during code entry and produce code faster and with fewer errors, compared with a conventional environment and report that using the latter is like "programming in the dark".
{"title":"Ahead-of-time debugging, or programming not in the dark","authors":"J. Snell","doi":"10.1109/STEP.1997.615516","DOIUrl":"https://doi.org/10.1109/STEP.1997.615516","url":null,"abstract":"Code composition is error-prone because it places severe demands on the programmer's cognitive processes. The programmer could benefit from the machine's help at this stage, but conventional programming environments are essentially passive then. The usual assumption is that the programmer does debugging after entering a whole routine, although by this time his/her memory of some details may have decayed. We propose that coding efficiency would be improved if, as soon as a statement is typed, it is executed, and the new program state is displayed. The programmer can see whether the statement has the intended effects, and correct it while the thinking for it is still fresh. We have implemented and informally tested a prototype of this \"ahead-of-time debugging\" feature. We found that users fix more bugs during code entry and produce code faster and with fewer errors, compared with a conventional environment and report that using the latter is like \"programming in the dark\".","PeriodicalId":68622,"journal":{"name":"软件","volume":"195 1","pages":"288-293"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75000995","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615467
K. R. Abbott
"Chunking" is a product development discipline developed and successfully used at XSoft in the development of InConcert, a software product for workflow management. In chunking, teams of 4-8 developers are assigned to develop a set of related product features in a fixed amount of time, measured in weeks. The team begins with requirements definition and carries development through to unit test. The team can adjust the delivered functionality, but not the schedule. Complex feature-sets are developed in multiple chunks. The benefits of chunking are a high degree of control over cost and schedule, and a high quality product based on developer's understanding of customer requirements. The paper reviews the chunking discipline and explores some pragmatic issues encountered while developing InConcert. The advantages and disadvantages of chunking are recounted from the perspective of various groups involved in product development: engineering, marketing, quality assurance and management.
{"title":"Product development a chunk at a time","authors":"K. R. Abbott","doi":"10.1109/STEP.1997.615467","DOIUrl":"https://doi.org/10.1109/STEP.1997.615467","url":null,"abstract":"\"Chunking\" is a product development discipline developed and successfully used at XSoft in the development of InConcert, a software product for workflow management. In chunking, teams of 4-8 developers are assigned to develop a set of related product features in a fixed amount of time, measured in weeks. The team begins with requirements definition and carries development through to unit test. The team can adjust the delivered functionality, but not the schedule. Complex feature-sets are developed in multiple chunks. The benefits of chunking are a high degree of control over cost and schedule, and a high quality product based on developer's understanding of customer requirements. The paper reviews the chunking discipline and explores some pragmatic issues encountered while developing InConcert. The advantages and disadvantages of chunking are recounted from the perspective of various groups involved in product development: engineering, marketing, quality assurance and management.","PeriodicalId":68622,"journal":{"name":"软件","volume":"36 1","pages":"88-94"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82293024","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1997-07-14DOI: 10.1109/STEP.1997.615535
V. Tran, Dar-Biau Liu, Brad Hummel
The continuing increase of interest in component based software engineering (CBSE) signifies the emergence of a new development trend within the software industry. Unlike preceding software engineering models, CBSE heavily relies on the utilization of commercial off-the-shelf (COTS) products as the underlying foundation for new product development. Its emphasis is on the identification, selection, evaluation, procurement, integration, and evaluation of reusable software components to provide complex integrated solutions at shorter development time and minimum cost. Compared to traditional development-centric software engineering approaches, CBSE promises a more efficient approach to the delivery of software solutions to the market. However, underestimating the technical risks associated with the selection, evaluation, and integration of these software components has often resulted in longer schedule delay, and higher development/maintenance cost, often experienced in integrated system development projects. The paper describes an experience at the Mitsubishi Consumer Electronics Engineering Center (CEEC) in implementing embedded Internet/Television systems using CBSE. It also describes the procurement-centric model used to support project planning and to guide the development process. The COTS based Integrated System Development (CISD) model identifies key engineering phases and their subphases that are often ignored, or merely implicit, in existing development-centric models. From the initial results of this project, the paper presents the various lessons learned at the CEEC in CBSE.
{"title":"Component-based systems development: challenges and lessons learned","authors":"V. Tran, Dar-Biau Liu, Brad Hummel","doi":"10.1109/STEP.1997.615535","DOIUrl":"https://doi.org/10.1109/STEP.1997.615535","url":null,"abstract":"The continuing increase of interest in component based software engineering (CBSE) signifies the emergence of a new development trend within the software industry. Unlike preceding software engineering models, CBSE heavily relies on the utilization of commercial off-the-shelf (COTS) products as the underlying foundation for new product development. Its emphasis is on the identification, selection, evaluation, procurement, integration, and evaluation of reusable software components to provide complex integrated solutions at shorter development time and minimum cost. Compared to traditional development-centric software engineering approaches, CBSE promises a more efficient approach to the delivery of software solutions to the market. However, underestimating the technical risks associated with the selection, evaluation, and integration of these software components has often resulted in longer schedule delay, and higher development/maintenance cost, often experienced in integrated system development projects. The paper describes an experience at the Mitsubishi Consumer Electronics Engineering Center (CEEC) in implementing embedded Internet/Television systems using CBSE. It also describes the procurement-centric model used to support project planning and to guide the development process. The COTS based Integrated System Development (CISD) model identifies key engineering phases and their subphases that are often ignored, or merely implicit, in existing development-centric models. From the initial results of this project, the paper presents the various lessons learned at the CEEC in CBSE.","PeriodicalId":68622,"journal":{"name":"软件","volume":"11 1","pages":"452-462"},"PeriodicalIF":0.0,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74363767","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}