this and that

Introduction to Streams 본문

Dimensions CM

Introduction to Streams

미스터림 2010. 9. 1. 13:14
스트림이란 무엇인가?
What are streams?



A stream is a collection of files in a Dimensions repository that is relevant to a specific strand of development. Streams enable multiple releases of an application to be developed in parallel without conflict. For example, customization changes can be carried out in one stream and mainstream changes in a different stream.

스트림은 특정 개발과 관련된 Dimensions 저장소안의 파일들의 집합입니다. 이는 상호 충돌없이 병행으로 개발하는 어플리케이션의 다양한 릴리즈를 가능하게 합니다.

Streams use an iterative 'copy-modify-merge' process:

스트림은 '복사-변경-병합'의 반복적인 프로세스를 사용합니다.
  • Copy: Update a work area on disk from a stream.
    스트림으로부터 디스크의 작업영역을 업데이트하는 단계
  • Modify: Make changes locally, build and test.
    로컬에서 변경하며, 빌드 및 테스트하는 단계
  • Merge: Merge any conflicting changes from the repository into the work area and deliver the changes to the repository.
    저장소에서 작업영역으로 변경에 대한 충돌을 병합하고, 그것을 저장소로 전달하는 단계

Streams also support collaborative development using Agile techniques:
스트림은 또한 Agile 테크닉을 사용하는 협업개발을 지원합니다.

  • Streams enforce a single line of descent, prevent conflicts existing in the repository, and enhance the reliability of continuous builds.
  • Streams facilitate an iterative development process where you resolve conflicts, build, and test code in your work area before committing changes to the repository. This improves reliability and removes the need for complex merges later on.
  • Branching and merging of streams is possible, allowing you to create private streams as required.
  • Streams do not contain parallel branches of the same items therefore it is easy to build working code from the tip revision at any point in time.

Streams are available in Dimensions CM and Dimensions Express and you can use them with Dimensions requests, IDM(Issue Defect Management) requests, or with no request management defined.

스트림은 Dimensions CM 과 Dimensions Express에서 사용가능합니다. 그리고 Dimensions의 Request, IDM의 Request와 함께 사용할 수 있으며, 정의된 Request 관리 없이도 사용할 수 있습니다.

스트림의 주기능은 무엇인가?
What are the key operations for streams?



The key operations that you perform with streams are:
스트림을 사용하여 할 수 있는 주 역할은:

  • Create Stream: create a new stream based on another stream or a baseline, or create an empty stream.
    다른 스트림이나 베이스라인으로 부터, 혹은 빈 스트림을 생성할 수 있습니다.
  • Update: download the files in a stream to an empty work area, or update an existing work area with its associated stream. The Update fuction detects any conflicts (files that need merging) between the stream and work area and enables you to resolve them.
    스트림의 파일들을 빈 작업영역에 다운로드하는 것, 기존의 스트림과 연관된 작업영역을 업데이트 하는 것.
    Update 기능은 스트림과 작업영역의 어떤 충돌(병합이 필요한 파일)도 감지하며, 그것을 해결할 수 있도록 합니다.
  • Deliver: use Deliver to update the stream in the repository with the changes in your work area. The Deliver operation checks if there are any conflicts caused by a delivery performed by another user since you last performed an update. If there are conflicts you can perform another update to resolve the conflicts.
    작업영역에서 이루어진 변경을 저장소의 스트림에 업데이트하기 위해 'Deliver'를 사용합니다.
    Deliver는 마지막으로 Update한 후 다른 사용자에 의해 만들어진 저장소의 변경이 있는지 검사를 합니다. 충돌이 있다면 그것을 해결하기 위해 다시 업데이트를 수행할 수 있습니다.


언제 스트림을 사용하는가?
When shoud I use streams?



You should use streams if you:

  • Are going to adopt, or are already using, Agile software development methodologies.
  • Have a team of developers working in parallel on the same code for the same release.
  • Want to manage serveral parallel streams of development with a protected mailine.
  • Want to enable developers to easily branch and merge projects without requiring an administrator.
  • Want to enforce a single line of descent to prevent conflicts.
  • Want to make developers responsible for the impact of their changes on the rest of the application.
  • Want to user an iterative 'copy - modify - merge' process.

When should I use projects?



You should use traditional Dimensions projects if you:

  • Primarily manage non-software assets such as documentation and hardware.
  • Are in a regulated environment where it is necessary to pre-authorize each change before it is made.
  • Follow a traditional waterfall development methodology.
  • Use remote replication.

Which Dimensions clients support streams?



Comments