Aracılığıyla paylaş


İş Akışını Tasarlama

İşinizi ve ekip işlemlerini desteklemek için bir iş öğesi türü için iş akışı tasarlayın. İş akışı, gerçekleştirilecek görevlerin ve kim tarafından gerçekleştirileceğinin mantıksal ilerlemesini belirler. İş akışını önce aralarındaki durumları ve geçerli geçişleri belirleyerek tanımlayın. İş öğesi türüne ilişkin tanımın WORKFLOW bölümü, bir takım üyesi bir iş öğesinin durumunu değiştirdiğinde uygulanacak geçerli durumları, geçişleri ve isteğe bağlı eylemleri tanımlar. Tür tanımları hakkında daha fazla bilgi için bkz. Tüm WITD XML öğeleri başvuru.

Genel olarak, her durumu bir takım üyesi rolüyle ve o roldeki kişinin iş öğesinin durumunu değiştirmeden önce iş öğesini işlemek için gerçekleştirmesi gereken bir görevle ilişkilendirirsiniz. Geçişler, durumlar arasındaki geçerli ilerlemeleri ve gerilemeleri tanımlar. Nedenler, bir ekip üyesinin bir çalışma öğesinin durumunu neden değiştirdiğini tanımlar ve eylemler, çalışma öğesinin iş akışındaki bir noktaya geçiş otomasyonunu destekler.

Önemli

Biriktirme listesi veya kart sayfalarında görünen bir iş öğesi türü için bir durum eklerseniz, Ekip Web Erişimi, siz de durumu metastate bir eşleştirmeniz gerekir.Bkz: İşlem Yapılandırmasını Kullanarak Biriktirme Listesi ve Pano Sayfalarını Özelleştirme

Örneğin, durumu ayarlanır Yeni varsayılan Çevik işlem şablonu temel alan yeni bir hatanın açtığında bir sınayıcı, Team Foundation Server (tfs) sağlar. Geliştirici durumuna değiştirir Active Geliştirici hatayı düzeltmekten ve sabit bir kez durumuna değiştirir Çözümlenmiş ve neden alanı değerini ayarlar sabit. Düzeltmeyi doğruladıktan sonra Sınayıcı hata için üzerini Kapalı ve neden alanı değişikliklerinizi doğrulandı. Geliştiricinin hatanın düzeltilme değil, testçi belirlediyseniz, testçi hataya durumunu değiştirmek Active ve neden olarak belirtmek Sabit veya Test başarısız.

Not

Visual Studio için bir güç aracı olan İşlem Düzenleyicisini kullanarak iş öğesi türlerinin ve iş öğelerini izlemeye yönelik diğer nesnelerin tanımlarını oluşturabilir ve değiştirebilirsiniz.Bu araç desteklenmemektedir.Daha fazla bilgi için Microsoft web sitesindeki şu sayfaya bakın: Team Foundation Server Güç Araçları.

Bu konuda

  • İş Akışı Tasarım Kılavuzları

  • İş Akışı Diyagramı ve Kod Örneği

  • Durum Sayılarını ve Türlerini Belirleme

  • İşlemleri Tanımlama

    • Nedenleri Belirtme

    • Eylemleri Belirtme

  • Durum Değiştiğinde bir Alanı Güncelleştirmek

    • Durum Değiştiğinde bir Alan Tanımlama

    • Bir Alanın Değerini Temizleme

    • Bir Başka alanın İçeriklerine göre Alan Tanımlama

  • İş Akış Durumu Diyagramını Görüntülemek

İş Akışı Tasarım Kılavuzları

Bir iş akışını tasarlarken veya değiştirirken, aşağıdaki yönergeleri dikkate alın:

  • STATE öğesini kullanarak, bir iş öğesi üzerinde belirli bir eylem gerçekleştirecek her ekip üyesi rolü için benzersiz bir durum tanımlarsınız. Daha fazla durum tanımladıkça daha fazla geçiş tanımlamanız gerekir. Durumları belirlediğiniz diziye bakılmaksızın bu durumlar Durum listesinde alfasayısal sırayla listelenir.

  • TRANSITION öğesini kullanarak, bir durumdan bir diğerine geçerli her ilerleme ve gerileme için bir geçiş tanımlarsınız.

  • En azından, her durum için bir geçiş ve de başlangıç durumundan boş durumuna geçişi tanımlamanız gerekir.

  • Her geçiş içinDEFAULTREASON öğesini kullanarak bir varsayılan gerekçe tanımlamanız gereklidir. REASON öğesini kullanarak istediğiniz kadar isteğe bağlı gerekçe tanımlayabilirsiniz.

  • İş öğesi form veya sorgu Düzenleyicisi içinde durumu ve nedeni alanlar için aşağı açılan menüleri olarak atanan değerleri görüntülemek WORKFLOW çalışma öğesi tipi kısmı.

  • Atanmamıştan (boş) başlangıç durumuna sadece tek bir geçiş tanımlayabilirsiniz. Yeni bir iş öğesi kaydettiğinizde, otomatik olarak başlangıçtaki duruma atanır.

  • Bir takım üyesi bir çalışma öğesinin durumunu değiştirdiğinde, bu değişim işlemi ve seçilmiş durum ve işlem için gerçekleştirilmesini tanımladığını eylemleri tetikler. Kullanıcılar yalnızca geçerli durum için tanımladığınız işlemlere dayanarak geçerli olan durumları belirleyebilir. Ayrıca, TRANSITION öğesinin bir alt öğesi olan ACTION öğesi bir iş öğesinin durumunu değiştirebilir.

  • Herhangi bir alan için iş öğesi durum değiştirdiğinde, geçiş yaptığında veya bir kullanıcı belirli bir gerekçe seçtiğinde uygulanacak koşullu kurallar tanımlayabilirsiniz. Bu kuralların büyük bölümü, WORKITEMTYPE tanımı altındaki FIELDS bölümünde alanları tanımlarken uygulayabileceğiniz koşullu kuralları destekler. Daha fazla bilgi için, Bir Durum Değiştiğinde Alanları Güncelleştirme konusuna bakın.

  • İş öğesinin herhangi bir türü için tanımladığınız koşulların sayısını en aza indirmeyi denemelisiniz. Eklediğiniz her bir ek kural ile takım üyesinin her çalışma öğesi kaydedişinde oluşan doğrulama işleminin karmaşıklığını artırırsınız. Karmaşık kural kümeleri iş öğesini kaydetmek için gereken süreyi artırabilir.

  • Durum ve sebeplere atadığınız adlar büyük/küçük harfe duyarsızdır.

Başa dön

İş Akışı Diyagramı ve Kod Örneği

Aşağıdaki tablo kod hatalarını izleyen bir çalışma öğesi türü için tanımın WORKFLOW bölümünü ve tanımladığı iş akışı durumu diyagramını gösterir. Bu örnek; üç durum, altı geçiş ve dokuz neden tanımlar. STATE elementleri Etkin, Çözümlenmiş ve Kapalı durumlarını belirtir. İlerleme ve gerileme geçişlerinin olası tüm kombinasyonları, biri hariç üç durum için tanımlanır. Kapalı öğesinden Çözümlendi öğesine geçiş tanımlanmaz. Bu yüzden, iş öğesi kapalıysa ekip üyeleri bir iş öğesinin bu türünü çözemez.

Not

Örnek DEFAULTREASON, REASON, ACTION ve FIELD için öğeleri listelemez.

<WORKFLOW>
<STATES>
  <STATE value="Active">
    <FIELDS> . . . </FIELDS>
  </STATE>
  <STATE value="Resolved">
    <FIELDS> . . . </FIELDS>
  </STATE>
  <STATE value="Closed" />
</STATES>
<TRANSITIONS>
  <TRANSITION from="" to="Active">
    <REASONS>
      <DEFAULTREASON value="New" />
    </REASONS>
    <FIELDS> . . . </FIELDS>
  </TRANSITION>
  <TRANSITION from="Active" to="Resolved">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
    < ACTIONS > . . . </ ACTIONS >
</TRANSITION>
<TRANSITION from="Resolved" to="Closed">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
    < ACTIONS > . . . </ ACTIONS >
</TRANSITION>
<TRANSITION from="Resolved" to="Active">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Closed ">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Closed" to="Active">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
Örnek İş Akışı Durum Diyagramı

Kullanıcı öyküsü durum diyagramı

Durum Sayılarını ve Türlerini Belirleme

İçinde o iş öğesi türünün olmasını istediğiniz farklı mantıksal durumların sayısına göre geçerli durumların sayı ve türlerini belirleyin. Ayrıca, farklı ekip üyeleri farklı işlemler gerçekleştirirse, bu durumda üye rolüne dayalı bir durumu tanımlamayı düşünebilirsiniz. Her durum bir ekip üyesinin sonraki duruma geçmek için iş öğesi üzerinde gerçekleştirmesi gereken bir eyleme karşılık gelir. Her durum için, belirli eylemleri ve bu eylemleri gerçekleştirme yetkisi olan ekip üyelerini tanımlamanız gereklidir.

Aşağıdaki tablo bir özelliğin ilerlemesini izlemek için tanımlanan dört durumun ve belirtilen eylemleri gerçekleştirmesi gereken geçerli kullanıcıların bir örneğini sağlar:

Durum

Geçerli kullanıcı

Gerçekleştirilecek eylem

Önerilen

Proje yöneticisi

Herkes, karakteristik bir iş öğesi oluşturabilir. Ancak, iş öğesini yalnızca proje yöneticileri onaylayabilir veya reddedebilir. Proje Yöneticisi bir özelliği onaylarsa, bir takım üyesi kapatmazsa, Proje Yöneticisi iş öğesinin durumunu etkin olarak değiştirmiş olur.

Etkin

Geliştirme lideri

Geliştirme lideri özelliğin gelişimini denetler. Özellik tamamlandığında geliştirme lideri özellik çalışma öğesinin durumunu İncele'ye çevirir.

Gözden geçirme

Proje yöneticisi

Proje yöneticisi takıma uygulanan özelliği gözden geçirir ve uygulama tatmin edici ise iş öğesini Kapalı durumuna dönüştürür.

Kapalı

Proje yöneticisi

Kapalı çalışma öğelerinde başka bir eylemin gerçekleşmesi beklenmez. Bu öğeler, arşivleme ve raporlama amacıyla veritabanında kalır.

Not

Tüm durumlar, belirli bir iş öğesi türünün formundaki listede, onları belirttiğiniz sıraya bakılmaksızın alfabetik sırada görünür.

Başa dön

İşlemleri Tanımlama

Geçerli durum ilerlemeleri ve gerilemeleri tanımlarsanız, hangi ekip üyelerinin bir iş öğesini değiştirebileceği durumları denetleyebilirsiniz. Bir durumdan öteki duruma geçiş açıklamazsanız takım üyeleri belirli bir iş öğesi türünü belirli bir durumdan başka bir belirli duruma değiştiremez.

Aşağıdaki tablo her birinin varsayılan sebebi ile birlikte bu konuda daha önce açıklanan dört durumun her biri için geçerli geçişleri tanımlar.

Durum

Duruma geçiş

Varsayılan sebep

Önerilen

Etkin (ilerleyiş)

Geliştirme için onaylandı

Kapalı (ilerleyiş)

Onaylanmamış

Etkin

(İlerlemeyi) gözden geçirin.

Karşılanan kabul kriteri

Gözden geçirme

Kapalı (ilerleyiş)

Özellik tam

Etkin (gerileyiş)

Gereksinimleri karşılamıyor

Kapalı

Önerilen (gerileme)

Onay için yeniden gözden geçir

Etkin (gerileyiş)

Hatayla kapandı

TRANSITION öğesinin for ve not özniteliklerini kullanarak bir durumdan bir duruma kimin geçeceğine izin vereceğinizi kısıtlayabilirsiniz. Aşağıdaki örnekte gösterildiği gibi, test ediciler bir hatayı yeniden açabilir, ancak geliştiriciler açamaz.

<TRANSITION from="Closed" to="Active"
     for="[Project]\Testers"
      not="[Project]\Developers">
    . . .
</TRANSITION>

Başa dön

ms194981.collapse_all(tr-tr,VS.110).gifNedenleri Belirtme

Bir takım üyesi Durum alanını değiştirdiğinde, o kullanıcı o işlem için varsayılan nedeni koruyabilir veya ek seçenekler tanımladıysanız farklı bir neden belirtebilir. Yalnızca bir tane varsayılan neden belirtmek için DEFAULTREASON öğesini kullanmalısınız. Ekibin verileri izlemesine veya rapor etmesine yardımcı olacaksa ek nedenler belirtmeniz gerekir.

Örneğin, bir geliştirici hatayı çözümlerken aşağıdaki gerekçelerden birini belirleyebilir: Sabit (Varsayılan), Ertelenmiş, Çoğaltılmış, Tasarlandığı gibi, Yeniden Üretemez veya Geçersiz. Her gerekçe söz konusu test edicinin hata ile ilişkili olarak gerçekleştireceği belirli bir eylemi belirtir.

Not

Tüm nedenler, belirli bir türdeki iş öğelerinin çalışma formundaki listede REASON öğelerinde belirttiğiniz sıraya bakılmaksızın alfabetik sırada görünür.

Aşağıdaki örnek takımın bir üyesinin neden bir hatayı çözebileceğine dair nedenleri tanımlayan öğeleri gösterir:

<TRANSITION from="Active" to="Resolved">
   . . .
   <REASONS>
      <DEFAULTREASON value="Fixed"/>
      <REASON value="Deferred"/>
      <REASON value="Duplicate"/>
      <REASON value="As Designed"/>
      <REASON value="Unable to Reproduce"/>
      <REASON value="Obsolete"/>
   </REASONS>
   . . .
</TRANSITION>

Başa dön

ms194981.collapse_all(tr-tr,VS.110).gifEylemleri Belirtme

Genel olarak, takım üyeleri bir iş öğesinin durumunu Durum alanı için farklı bir değer belirterek ve ardından çalışma öğesini kaydederek değiştirir. Ancak, geçiş oluştuğunda otomatik olarak bir iş öğesinin durumunu değiştiren bir ACTION öğesi de tanımlayabilirsiniz. Aşağıdaki örnekte gösterildiği gibi, hata iş öğelerinin bir geliştiricinin sürüm denetimine onayladığı dosyalarla ilişkiliyseler otomatik olarak çözülmeleri gerektiğini belirtebilirsiniz:

<TRANSITION from="Active" to="Resolved">
   <ACTIONS>
   <ACTION value="Microsoft.VSTS.Actions.Checkin"/>
   </ACTIONS>
. . .
</TRANSITION>

Kullanabileceğiniz ACTION Microsoft Visual Studio Uygulama Yaşam Döngüsü Yönetimi içinde veya dışında başka bir yerde olaylar meydana geldiğinde otomatik olarak belirli bir türdeki iş öğelerinin durumunu değiştirmek için öğe Visual Studio Uygulama Yaşam Döngüsü Yönetimi (gelen çağrıları izler Örneğin, bir araç). Daha fazla bilgi için bkz. Durum, Geçiş veya Nedene Dayalı Alan Atamalarını Otomatikleştirme.

Başa dön

Bir Alanı Güncelleştirmek

Aşağıdaki olaylar gerçekleştiğinde alanları güncelleştiren kurallar tanımlayabilirsiniz:

  • Kuralın yalnızca bu duruma yapılan tüm geçişlerde ve de bu duruma giriş sebepleri için geçerli olmasını istediğinizde STATE altına bir alan kuralı atayın.

  • Kuralın yalnızca bu geçiş ve bu geçişi yaptıran tüm sebepler için geçerli olmasını istediğinizde TRANSITION altına bir alan kuralı atayın.

  • Kuralların yalnızca bu belirli neden için geçerli olmasını istediğinizde DEFAULTREASON veya REASON altına bir alan kuralı atayın.

Bir alanın her zaman aynı değeri içermesi gerekiyorsa, kuralı, alanı tanımlayan FIELD öğesi altında tanımlarsınız. Daha fazla bilgi için bkz. Çalışma Öğesi Alanında Koşulları Ayarlama.

Aşağıdaki örnekler MSF Çevik Yazılım Geliştirme v5.0 için işlem şablonundaki sistem alanlarına uygulanan kuralların bazılarını gösterir.

  • Durumu Değiştiğinde bir Alanın Değerini Değiştirme

  • Başka Bir Alanın Değeri Değiştiğinde Bir Alanın Değerini Temizleme

  • Bir Başka alanın İçeriklerine göre Alan Tanımlama

Başa dön

ms194981.collapse_all(tr-tr,VS.110).gifDurumu Değiştiğinde bir Alanın Değerini Değiştirme

Bir çalışma öğesi için Durum alanının değeri Etkin'e ayarlandığında ve çalışma öğesi kaydedildiğinde, Etkinleştiren Kişi ve Atanan alanlarının değerleri otomatik olarak geçerli kullanıcının adına ayarlanır. Bu kullanıcının Team Foundation Server Geçerli Kullanıcılar grubunun bir üyesi olması gerekir. Etkinleştirme Tarihi alanının değeri de otomatik olarak ayarlanır. Aşağıdaki örnek bu kuralı zorlayan öğeleri gösterir:

<STATE value="Active">
<FIELDS>
   <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
      <COPY from="currentuser"/>
      <VALIDUSER/>
      <REQUIRED/>
   </FIELD>
   <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
      <SERVERDEFAULT from="clock"/></FIELD>
   <FIELD refname="System.AssignedTo">
      <DEFAULT from="currentuser"/>
   </FIELD>
. . .
</FIELDS>
</STATE>

Başa dön

ms194981.collapse_all(tr-tr,VS.110).gifBaşka Bir Alanın Değeri Değiştiğinde Bir Alanın Değerini Temizleme

Bir çalışma öğesi için Durum alanının değeri Etkin'e ayarlandığında ve çalışma öğesi kaydedildiğinde, EMPTY öğesini kullanıyorsanız, Kapatılan Tarih ve Kapatan Kişi alanları aşağıdaki örnekte gösterildiği gibi otomatik olarak null'e ayarlanır ve salt okunur yapılır.

<STATE value="Active">
   <FIELDS>
. . .
      <FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
      <FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
   </FIELDS>
</STATE>

Başa dön

ms194981.collapse_all(tr-tr,VS.110).gifBir Başka alanın İçeriklerine göre Alan Tanımlama

Bir çalışma öğesi için Durum alanının değeri Çözüldü'ye değiştiğinde ve çalışma öğesi kaydedildiğinde, Çözülen Neden alanının değeri kullanıcının Neden alanında belirtmiş olduğu değere ayarlanır. Aşağıdaki örnek bu kuralı zorlayan öğeleri gösterir:

<STATE value="Resolved">
   <FIELDS>
. . .
      <FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
         <COPY from="field" field="System.Reason"/>
      </FIELD>
   </FIELDS>
</STATE>

Başa dön

İş Akış Durumu Diyagramını Görüntülemek

İçin bir güç aracı olan işlem düzenleyicisini kullanarak tanımlamakta olduğunuz iş akışı durumu diyagramını görüntüleyebilirsiniz Visual Studio. Bu araç desteklenmemektedir. Daha fazla bilgi için Microsoft web sitesindeki şu sayfaya bakın: Team Foundation Server Güç Araçları.

Başa dön

Ayrıca bkz.

Diğer Kaynaklar

Çalışma Öğesi İş Akışını Tanımlama ve Özelleştirme