通过软件配置管理支持软件过程

P. Feiler
{"title":"通过软件配置管理支持软件过程","authors":"P. Feiler","doi":"10.5555/317498.317702","DOIUrl":null,"url":null,"abstract":"Software development embodies a range of software processes. Such processes can be captured in software process models. Two of the reasons for describing software processes through models are to document and communicate a particular process to others, and to encode knowledge of the process in a form processable by computer. Software process modeling has received attention by researchers in recent years - as this series of workshop indicates. Efforts are expended on determining what processes are to be modeled, what of power of the modeling language is, and how the model can be instantiated and executed.\nThis position paper examines a different trend to supporting software processes. Software development environments (SDE) support the evolution of software through teams of developers by providing software version and configuration management and system build functionality. This SDE functionality supports and embodies certain aspects of the software process. We have examined and experimented hands-on with a number of commercial software development environments. The environments include the Rational Environment, Apollo DSEE, Sun NSE, IST Istar, BiiN SMS, and Atherton Software Backplane. These environments have advanced the functionality provided to support software evolution over commonly used development support tools such as Unix Make/RCS, and DEC VMS MMS/CMS.\nA number of observations can be made about these environments and the way they have attempted to - at least partially - capture (i.e., instantiate) software processes.\nSeparation of mechanisms and policy: This notion has been in practice in operating systems for a number of years. The primitives (mechanisms) should be abstract enough to contain some of the semantics of the process model to be instantiated. For example the concept of managed workspace or transaction provides a higher-level abstraction than the check-out/check-in primitives and a working directory. A good set of primitives does not unnecessarily restrict the ability to build desirable executable process models. Such restrictions are detected when process model instantiations and executions are attempted. For example, the check-out operation usually performs two functions - making a program unit modifiable, and locking the unit to prevent concurrent modification. If optimistic development (i.e., permit concurrent development) is to be supported the user would have to resort to the branching function. Sun NSE directly supports optimistic development, but currently does not provide the primitives to provide serialized development (i.e., locking). Policies can generally be encoded by writing an envelope of functions on top of the available primitives. In summary, slow progress is being made in separation of mechanism and policy and in encoding process models.\nSource code control evolves to software configuration management: Development support in common practice provides source code control for individual files and a system build facility. Newer SDEs have expanded their functionality to support object code management, management of configurations, transparent access to source repositories, management of work areas, and primitives for reflecting development activities. In doing so, they relieve developers from managing versions of object code themselves, from constantly retrieving copies of files from the repository for viewing purposes, and from concerning themselves with the version history of individual files while being focused on evolving a system. The models embedded in the functionality of these environments are often not clearly described by the manufacturer, and sometimes best understood when related to the model in another environment.\nConfiguration composition vs. evolution: These are two major approaches in maintaining configurations. Configuration composition refers to defining a configuration template, which lists the components. Together with a set of selection criteria, this template can be instantiated into a bound configuration. The binding may take several steps, such as source variant selection, version selection, tool version selection, and tool parameter selection. Appropriate selection criteria allow for a range of desirable configuration instantiations. such as experimental, conservative, or stable. Apollo DSEE is an good example of this approach. The evolution approach is reflected in environments such as Sun NSE. The user initially creates a system configuration, populates it with elements, and preserves it. Changes to the system are performed relative to a preserved configuration. Most configuration management operations are performed at the level of configurations, while versioning of individual files is largely transparent. The Rational Environment is an environment that combines the two approaches. Each of the two major approaches gives different perspective of a development process.\nRepository-oriented vs. transaction-oriented: Again, two major approaches in managing software evolution will create different perceptions of a development process. The repository-oriented approach (or product-oriented approach) centers its support for development management on the products to be managed. The history of product evolution is reflected in the repository and its organization. Environments, such as BiiN SMS, have applied the repository mechanisms to provide for management of the work area. The transaction-oriented approach (or process-oriented approach) is centered around the changes and the activities necessary for the changes. Istar is an example of a purely process-oriented support facility by directly modeling development steps and integrating it with project planning. Other transaction-oriented environments, such as Sun NSE, take a more modest approach by providing nested transactions as a key concept. A transaction plays the role of a change activity. A transaction log reflects product history. Non-terminating transactions act as repositories. As a matter of fact, one can find a spectrum of environment support ranging from repository-oriented to transaction-oriented: repository, work area management, nested transactions, activities/tasks, trigger-based task instantiation, and plan-based task instantiation.\nConcurrency and coordination: Some environment builders have recognized the need for different degrees of freedom in concurrency and coordination of development. A closely cooperating team of developers working on a particular subsystem want more freedom passing partially complete pieces among themselves than developers of different subsystems. Some environments are supporting both a cooperating team producing the next configuration releasable outside the team, and teams independently working on different development paths of the same subsystem (e.g., field release with bug fixes and further development) or different subsystems (i.e., partitioning of the system). This is new functionality and different environments provide different degrees of freedom.\nScopes of visibility: Related to the previous point is the desire to provide scopes of visibility. Individual developers should be able to made snapshots of their work by freezing a configuration without making it visible to others. Developers should be able to make their work available to their team mates before it becomes visible to a test team or the general public. Various approaches are being tried. Use of access control mechanisms seems to be an obvious choice, but they tend to be one of the least developed areas in environments. The use of multiple repositories (one for each scope of visibility) has the problem of potentially high cost of recompilation as elements are moved from repository to repository. Some repository mechanisms provide a viewing mechanism based on a status attribute. Different users are limited to viewing elements with different attribute values. Evolution-oriented environments utilize nested transactions to reflect restrictions in visibility of changes.\nThe above reflects the state-of-the-art in commercial software development environments and their support for the process of software evolution. Many of these environments are reasonably robust that they can be employed in real projects and scaled up to handle management of large system development. On one hand, it is encouraging to see that there is progress being made in the functionality provided by these environments. On the other hand it can be a little discouraging to see the limitations that exist in capturing software processes, validating their model, instantiating them, and evolving and adapting them. This is, where researchers in the area of processing modeling can provide guidance to environment builders as to appropriate mechanisms to be made available, as well as facilities for capturing process models, executing them, and allowing for adaptations and changes during execution.","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"19 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Software process support through software configuration management\",\"authors\":\"P. Feiler\",\"doi\":\"10.5555/317498.317702\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software development embodies a range of software processes. Such processes can be captured in software process models. Two of the reasons for describing software processes through models are to document and communicate a particular process to others, and to encode knowledge of the process in a form processable by computer. Software process modeling has received attention by researchers in recent years - as this series of workshop indicates. Efforts are expended on determining what processes are to be modeled, what of power of the modeling language is, and how the model can be instantiated and executed.\\nThis position paper examines a different trend to supporting software processes. Software development environments (SDE) support the evolution of software through teams of developers by providing software version and configuration management and system build functionality. This SDE functionality supports and embodies certain aspects of the software process. We have examined and experimented hands-on with a number of commercial software development environments. The environments include the Rational Environment, Apollo DSEE, Sun NSE, IST Istar, BiiN SMS, and Atherton Software Backplane. These environments have advanced the functionality provided to support software evolution over commonly used development support tools such as Unix Make/RCS, and DEC VMS MMS/CMS.\\nA number of observations can be made about these environments and the way they have attempted to - at least partially - capture (i.e., instantiate) software processes.\\nSeparation of mechanisms and policy: This notion has been in practice in operating systems for a number of years. The primitives (mechanisms) should be abstract enough to contain some of the semantics of the process model to be instantiated. For example the concept of managed workspace or transaction provides a higher-level abstraction than the check-out/check-in primitives and a working directory. A good set of primitives does not unnecessarily restrict the ability to build desirable executable process models. Such restrictions are detected when process model instantiations and executions are attempted. For example, the check-out operation usually performs two functions - making a program unit modifiable, and locking the unit to prevent concurrent modification. If optimistic development (i.e., permit concurrent development) is to be supported the user would have to resort to the branching function. Sun NSE directly supports optimistic development, but currently does not provide the primitives to provide serialized development (i.e., locking). Policies can generally be encoded by writing an envelope of functions on top of the available primitives. In summary, slow progress is being made in separation of mechanism and policy and in encoding process models.\\nSource code control evolves to software configuration management: Development support in common practice provides source code control for individual files and a system build facility. Newer SDEs have expanded their functionality to support object code management, management of configurations, transparent access to source repositories, management of work areas, and primitives for reflecting development activities. In doing so, they relieve developers from managing versions of object code themselves, from constantly retrieving copies of files from the repository for viewing purposes, and from concerning themselves with the version history of individual files while being focused on evolving a system. The models embedded in the functionality of these environments are often not clearly described by the manufacturer, and sometimes best understood when related to the model in another environment.\\nConfiguration composition vs. evolution: These are two major approaches in maintaining configurations. Configuration composition refers to defining a configuration template, which lists the components. Together with a set of selection criteria, this template can be instantiated into a bound configuration. The binding may take several steps, such as source variant selection, version selection, tool version selection, and tool parameter selection. Appropriate selection criteria allow for a range of desirable configuration instantiations. such as experimental, conservative, or stable. Apollo DSEE is an good example of this approach. The evolution approach is reflected in environments such as Sun NSE. The user initially creates a system configuration, populates it with elements, and preserves it. Changes to the system are performed relative to a preserved configuration. Most configuration management operations are performed at the level of configurations, while versioning of individual files is largely transparent. The Rational Environment is an environment that combines the two approaches. Each of the two major approaches gives different perspective of a development process.\\nRepository-oriented vs. transaction-oriented: Again, two major approaches in managing software evolution will create different perceptions of a development process. The repository-oriented approach (or product-oriented approach) centers its support for development management on the products to be managed. The history of product evolution is reflected in the repository and its organization. Environments, such as BiiN SMS, have applied the repository mechanisms to provide for management of the work area. The transaction-oriented approach (or process-oriented approach) is centered around the changes and the activities necessary for the changes. Istar is an example of a purely process-oriented support facility by directly modeling development steps and integrating it with project planning. Other transaction-oriented environments, such as Sun NSE, take a more modest approach by providing nested transactions as a key concept. A transaction plays the role of a change activity. A transaction log reflects product history. Non-terminating transactions act as repositories. As a matter of fact, one can find a spectrum of environment support ranging from repository-oriented to transaction-oriented: repository, work area management, nested transactions, activities/tasks, trigger-based task instantiation, and plan-based task instantiation.\\nConcurrency and coordination: Some environment builders have recognized the need for different degrees of freedom in concurrency and coordination of development. A closely cooperating team of developers working on a particular subsystem want more freedom passing partially complete pieces among themselves than developers of different subsystems. Some environments are supporting both a cooperating team producing the next configuration releasable outside the team, and teams independently working on different development paths of the same subsystem (e.g., field release with bug fixes and further development) or different subsystems (i.e., partitioning of the system). This is new functionality and different environments provide different degrees of freedom.\\nScopes of visibility: Related to the previous point is the desire to provide scopes of visibility. Individual developers should be able to made snapshots of their work by freezing a configuration without making it visible to others. Developers should be able to make their work available to their team mates before it becomes visible to a test team or the general public. Various approaches are being tried. Use of access control mechanisms seems to be an obvious choice, but they tend to be one of the least developed areas in environments. The use of multiple repositories (one for each scope of visibility) has the problem of potentially high cost of recompilation as elements are moved from repository to repository. Some repository mechanisms provide a viewing mechanism based on a status attribute. Different users are limited to viewing elements with different attribute values. Evolution-oriented environments utilize nested transactions to reflect restrictions in visibility of changes.\\nThe above reflects the state-of-the-art in commercial software development environments and their support for the process of software evolution. Many of these environments are reasonably robust that they can be employed in real projects and scaled up to handle management of large system development. On one hand, it is encouraging to see that there is progress being made in the functionality provided by these environments. On the other hand it can be a little discouraging to see the limitations that exist in capturing software processes, validating their model, instantiating them, and evolving and adapting them. This is, where researchers in the area of processing modeling can provide guidance to environment builders as to appropriate mechanisms to be made available, as well as facilities for capturing process models, executing them, and allowing for adaptations and changes during execution.\",\"PeriodicalId\":414925,\"journal\":{\"name\":\"International Software Process Workshop\",\"volume\":\"19 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1989-10-10\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Software Process Workshop\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5555/317498.317702\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Software Process Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5555/317498.317702","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

摘要

软件开发包含了一系列软件过程。这样的过程可以在软件过程模型中捕获。通过模型描述软件过程的两个原因是为了记录和与他人交流特定的过程,以及以计算机可处理的形式对过程的知识进行编码。软件过程建模近年来受到了研究人员的关注——正如这一系列研讨会所表明的那样。工作花费在确定要建模的流程、建模语言的功能以及如何实例化和执行模型上。这份意见书考察了支持软件过程的另一种趋势。软件开发环境(SDE)通过提供软件版本和配置管理以及系统构建功能来支持开发人员团队的软件发展。这个SDE功能支持并体现了软件过程的某些方面。我们已经对许多商业软件开发环境进行了检查和实践。这些环境包括Rational环境、Apollo DSEE、Sun NSE、IST Istar、BiiN SMS和Atherton Software Backplane。这些环境提供了先进的功能,以支持常用的开发支持工具(如Unix Make/RCS和DEC VMS MMS/CMS)的软件演进。可以对这些环境以及它们试图(至少部分地)捕获(例如,实例化)软件过程的方式进行许多观察。机制和策略的分离:这个概念已经在操作系统中实践了很多年。原语(机制)应该足够抽象,以包含要实例化的流程模型的一些语义。例如,托管工作空间或事务的概念提供了比签出/签入原语和工作目录更高层次的抽象。一组好的原语不会不必要地限制构建理想的可执行流程模型的能力。当尝试流程模型实例化和执行时,会检测到此类限制。例如,签出操作通常执行两个功能-使程序单元可修改,并锁定该单元以防止并发修改。如果支持乐观开发(即允许并发开发),则用户将不得不求助于分支功能。Sun NSE直接支持乐观开发,但目前不提供提供序列化开发的原语(即锁)。通常可以通过在可用的原语之上编写函数信封来对策略进行编码。综上所述,机制与政策的分离以及过程模型的编码进展缓慢。源代码控制演变为软件配置管理:通常实践中的开发支持为单个文件和系统构建工具提供源代码控制。较新的sde已经扩展了它们的功能,以支持目标代码管理、配置管理、对源存储库的透明访问、工作区域的管理,以及用于反映开发活动的原语。在这样做的过程中,它们将开发人员从管理目标代码的版本中解放出来,从不断地从存储库中检索文件副本以查看目的中解放出来,并且在专注于开发系统时,从关注单个文件的版本历史中解放出来。这些环境的功能中嵌入的模型通常没有被制造商清楚地描述,有时当与另一个环境中的模型相关时才能最好地理解。配置组合与演化:这是维护配置的两种主要方法。配置组合指的是定义一个配置模板,其中列出了组件。与一组选择标准一起,可以将此模板实例化为绑定配置。绑定可以采取几个步骤,例如源变体选择、版本选择、工具版本选择和工具参数选择。适当的选择标准允许一系列理想的配置实例化。如实验性的、保守的或稳定的阿波罗DSEE是这种方法的一个很好的例子。进化方法反映在诸如Sun NSE之类的环境中。用户最初创建一个系统配置,用元素填充它,并保存它。对系统的更改是相对于保留的配置执行的。大多数配置管理操作都是在配置级别执行的,而单个文件的版本控制在很大程度上是透明的。Rational环境是一个结合了这两种方法的环境。这两种主要方法中的每一种都给出了开发过程的不同视角。Repository-oriented vs。 面向事务的:同样,管理软件演进的两种主要方法将产生对开发过程的不同看法。面向存储库的方法(或面向产品的方法)将其对开发管理的支持集中在要管理的产品上。产品演进的历史反映在存储库及其组织中。诸如BiiN SMS之类的环境已经应用了存储库机制来提供工作区域的管理。面向事务的方法(或面向过程的方法)以更改和更改所需的活动为中心。Istar是一个纯粹面向过程的支持工具的例子,它直接对开发步骤进行建模并将其与项目计划集成。其他面向事务的环境(如Sun NSE)采用了更为温和的方法,将嵌套事务作为关键概念提供。事务扮演变更活动的角色。事务日志反映产品历史。非终止事务充当存储库。事实上,可以找到从面向存储库到面向事务的一系列环境支持:存储库、工作区域管理、嵌套事务、活动/任务、基于触发器的任务实例化和基于计划的任务实例化。并发性和协调性:一些环境构建者已经认识到在并发性和协调性开发中需要不同程度的自由。与开发不同子系统的开发人员相比,开发特定子系统的开发人员组成的密切合作的团队希望在他们之间传递部分完成的部分有更多的自由。一些环境既支持协作团队在团队之外生产下一个可发布配置,也支持团队在同一子系统的不同开发路径上独立工作(例如,带有错误修复和进一步开发的领域发布),或者支持不同子系统(例如,系统的分区)。这是一种新功能,不同的环境提供了不同的自由度。可见性范围:与前一点相关的是希望提供可见性范围。单个开发人员应该能够通过冻结配置而不使其对其他人可见来创建他们工作的快照。开发人员应该能够在测试团队或公众看到他们的工作之前,让他们的团队成员可以使用他们的工作。正在尝试各种方法。使用访问控制机制似乎是一个显而易见的选择,但它们往往是环境中最不发达的领域之一。使用多个存储库(每个可见性范围对应一个存储库)存在重新编译的潜在高成本问题,因为元素从一个存储库移动到另一个存储库。一些存储库机制提供了基于状态属性的查看机制。不同的用户只能查看具有不同属性值的元素。面向进化的环境利用嵌套事务来反映变化可见性中的限制。以上反映了商业软件开发环境中的最新技术以及它们对软件演进过程的支持。这些环境中的许多都是相当健壮的,它们可以在实际项目中使用,并按比例扩展以处理大型系统开发的管理。一方面,看到这些环境所提供的功能正在取得进展是令人鼓舞的。另一方面,看到在捕获软件过程、验证它们的模型、实例化它们、发展和适应它们方面存在的限制可能有点令人沮丧。在这里,处理建模领域的研究人员可以为环境构建者提供指导,使其了解要使用的适当机制,以及用于捕获流程模型、执行它们并允许在执行期间进行调整和更改的工具。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Software process support through software configuration management
Software development embodies a range of software processes. Such processes can be captured in software process models. Two of the reasons for describing software processes through models are to document and communicate a particular process to others, and to encode knowledge of the process in a form processable by computer. Software process modeling has received attention by researchers in recent years - as this series of workshop indicates. Efforts are expended on determining what processes are to be modeled, what of power of the modeling language is, and how the model can be instantiated and executed. This position paper examines a different trend to supporting software processes. Software development environments (SDE) support the evolution of software through teams of developers by providing software version and configuration management and system build functionality. This SDE functionality supports and embodies certain aspects of the software process. We have examined and experimented hands-on with a number of commercial software development environments. The environments include the Rational Environment, Apollo DSEE, Sun NSE, IST Istar, BiiN SMS, and Atherton Software Backplane. These environments have advanced the functionality provided to support software evolution over commonly used development support tools such as Unix Make/RCS, and DEC VMS MMS/CMS. A number of observations can be made about these environments and the way they have attempted to - at least partially - capture (i.e., instantiate) software processes. Separation of mechanisms and policy: This notion has been in practice in operating systems for a number of years. The primitives (mechanisms) should be abstract enough to contain some of the semantics of the process model to be instantiated. For example the concept of managed workspace or transaction provides a higher-level abstraction than the check-out/check-in primitives and a working directory. A good set of primitives does not unnecessarily restrict the ability to build desirable executable process models. Such restrictions are detected when process model instantiations and executions are attempted. For example, the check-out operation usually performs two functions - making a program unit modifiable, and locking the unit to prevent concurrent modification. If optimistic development (i.e., permit concurrent development) is to be supported the user would have to resort to the branching function. Sun NSE directly supports optimistic development, but currently does not provide the primitives to provide serialized development (i.e., locking). Policies can generally be encoded by writing an envelope of functions on top of the available primitives. In summary, slow progress is being made in separation of mechanism and policy and in encoding process models. Source code control evolves to software configuration management: Development support in common practice provides source code control for individual files and a system build facility. Newer SDEs have expanded their functionality to support object code management, management of configurations, transparent access to source repositories, management of work areas, and primitives for reflecting development activities. In doing so, they relieve developers from managing versions of object code themselves, from constantly retrieving copies of files from the repository for viewing purposes, and from concerning themselves with the version history of individual files while being focused on evolving a system. The models embedded in the functionality of these environments are often not clearly described by the manufacturer, and sometimes best understood when related to the model in another environment. Configuration composition vs. evolution: These are two major approaches in maintaining configurations. Configuration composition refers to defining a configuration template, which lists the components. Together with a set of selection criteria, this template can be instantiated into a bound configuration. The binding may take several steps, such as source variant selection, version selection, tool version selection, and tool parameter selection. Appropriate selection criteria allow for a range of desirable configuration instantiations. such as experimental, conservative, or stable. Apollo DSEE is an good example of this approach. The evolution approach is reflected in environments such as Sun NSE. The user initially creates a system configuration, populates it with elements, and preserves it. Changes to the system are performed relative to a preserved configuration. Most configuration management operations are performed at the level of configurations, while versioning of individual files is largely transparent. The Rational Environment is an environment that combines the two approaches. Each of the two major approaches gives different perspective of a development process. Repository-oriented vs. transaction-oriented: Again, two major approaches in managing software evolution will create different perceptions of a development process. The repository-oriented approach (or product-oriented approach) centers its support for development management on the products to be managed. The history of product evolution is reflected in the repository and its organization. Environments, such as BiiN SMS, have applied the repository mechanisms to provide for management of the work area. The transaction-oriented approach (or process-oriented approach) is centered around the changes and the activities necessary for the changes. Istar is an example of a purely process-oriented support facility by directly modeling development steps and integrating it with project planning. Other transaction-oriented environments, such as Sun NSE, take a more modest approach by providing nested transactions as a key concept. A transaction plays the role of a change activity. A transaction log reflects product history. Non-terminating transactions act as repositories. As a matter of fact, one can find a spectrum of environment support ranging from repository-oriented to transaction-oriented: repository, work area management, nested transactions, activities/tasks, trigger-based task instantiation, and plan-based task instantiation. Concurrency and coordination: Some environment builders have recognized the need for different degrees of freedom in concurrency and coordination of development. A closely cooperating team of developers working on a particular subsystem want more freedom passing partially complete pieces among themselves than developers of different subsystems. Some environments are supporting both a cooperating team producing the next configuration releasable outside the team, and teams independently working on different development paths of the same subsystem (e.g., field release with bug fixes and further development) or different subsystems (i.e., partitioning of the system). This is new functionality and different environments provide different degrees of freedom. Scopes of visibility: Related to the previous point is the desire to provide scopes of visibility. Individual developers should be able to made snapshots of their work by freezing a configuration without making it visible to others. Developers should be able to make their work available to their team mates before it becomes visible to a test team or the general public. Various approaches are being tried. Use of access control mechanisms seems to be an obvious choice, but they tend to be one of the least developed areas in environments. The use of multiple repositories (one for each scope of visibility) has the problem of potentially high cost of recompilation as elements are moved from repository to repository. Some repository mechanisms provide a viewing mechanism based on a status attribute. Different users are limited to viewing elements with different attribute values. Evolution-oriented environments utilize nested transactions to reflect restrictions in visibility of changes. The above reflects the state-of-the-art in commercial software development environments and their support for the process of software evolution. Many of these environments are reasonably robust that they can be employed in real projects and scaled up to handle management of large system development. On one hand, it is encouraging to see that there is progress being made in the functionality provided by these environments. On the other hand it can be a little discouraging to see the limitations that exist in capturing software processes, validating their model, instantiating them, and evolving and adapting them. This is, where researchers in the area of processing modeling can provide guidance to environment builders as to appropriate mechanisms to be made available, as well as facilities for capturing process models, executing them, and allowing for adaptations and changes during execution.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Unifying the Software Process Spectrum, International Software Process Workshop, SPW 2005, Beijing, China, May 25-27, 2005, Revised Selected Papers Software are Processes Too Process Patterns for COTS-Based Development The Software Process: Global Goals Evolving Defect "Folklore": A Cross-Study Analysis of Software Defect Behavior
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1