Book contents
- Frontmatter
- Contents
- Foreword
- Acknowledgments
- Introduction
- Chapter 1 Getting Started
- Chapter 2 Basic Concepts
- Chapter 3 Team Development
- Chapter 4 Advanced Development
- Chapter 5 Formal Concepts
- Chapter 6 Packaging and Delivery
- Chapter 7 Extending the System
- Chapter 8 Administration
- Chapter 9 Goodies
- Chapter 10 Troubleshooting
- Appendix: A Selected Annotated API of ENVY System Classes
- Glossary
- References
- Index
Chapter 3 - Team Development
Published online by Cambridge University Press: 11 January 2010
- Frontmatter
- Contents
- Foreword
- Acknowledgments
- Introduction
- Chapter 1 Getting Started
- Chapter 2 Basic Concepts
- Chapter 3 Team Development
- Chapter 4 Advanced Development
- Chapter 5 Formal Concepts
- Chapter 6 Packaging and Delivery
- Chapter 7 Extending the System
- Chapter 8 Administration
- Chapter 9 Goodies
- Chapter 10 Troubleshooting
- Appendix: A Selected Annotated API of ENVY System Classes
- Glossary
- References
- Index
Summary
So far, we've seen ENVY as a code organizing tool and as a version control system. These are powerful facilities, but the most important aspects of ENVY are in its support for working in teams. ENVY differs from traditional team programming tools in many respects. Because it is a Smalltalk-based tool it can deal with software components as objects, rather than working with coarse-grained source files. It also breaks away from the check-in/check-out mechanisms to a more concurrent mechanism in which conflicts are resolved through component ownership and through separation of the versioning and releasing operations. This enables developers to work with maximum concurrency while still providing a disciplined process that maintains the consistency of the system.
Team Development with Class Editions
Recall that applications specify a group of class versions that are loaded when the application is loaded, and that these are called the released versions. As we look at team development, this concept becomes more important, and we will see how class and application editions and versions are used to control the team development process.
Before we begin, let's review what it means for a class version to be released:
▪ When an application edition is loaded, the released versions of its classes are automatically loaded.
▪ Once an application is versioned, the list of released class versions cannot be modified.
▪ Most important, the released version is the approved or official edition. If we release a class, we are saying it is stable enough and approved for other developers to use.
- Type
- Chapter
- Information
- Mastering ENVY/Developer , pp. 45 - 72Publisher: Cambridge University PressPrint publication year: 2001