Docstoc

Project Management_27_

Document Sample
Project Management_27_ Powered By Docstoc
					      Object-Oriented Software Engineering
           Using UML, Patterns, and Java




     ve İletişim, Bölüm 1
Chapter 3, Proje Organizasyonu
 Nasıl yapılmalı ?

           Requirements
             Analysis

                                  Design


                                       Implementation


                                                            System Testing


                                                                  Delivery and Installation

Bernd Bruegge & Allen H. Dutoit        Object-Oriented Software Engineering: Using UML, Patterns, and Java   2
 Proje Yönetimi Kanunları

  • Projeler %90’ı tamamlanıncaya kadar hızla ilerler
          • Sonra %90 civarında takılıp kalırlar
  • Proje içeriğinin değişmesi serbest bırakılırsa
    değişimin hızı projedeki ilerlemenin önüne geçer
  • Proje grupları ilerleme raporu vermek istemez
    çünki rapor ilerlemenin az olduğunu gösterebilir
  • Murphy’nin kanunları:
          • “İşler iyi gitmeye başladığında birşeyler yanlış
            gitmeye başlar”
          • “İşler daha kötü olmaz derken daha da kötüsü olur”
          • “İşler iyi gidiyor gibi görünüyorsa mutlaka görüp
            düşünmediğin bir problem vardır.”

Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   3
 Ders Özeti

  •    Proje Tanımı
  •    Proje Organizasyonu
  •    Roller
  •    Görevler & Aktiviteler
  •    İş çıktıları & Teslim edilebilir çıktılar

  • Bu dersin önemli konusu
          • Proje yönetimi konseptlerini geliştirici gözüyle görmek




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   4
 Proje Tanımı
  • Proje, ulaşmak için organize bir çalışma gerektiren
    hedeflere, sınırlı kaynaklar ve sınırlı zamanla ulaşma
    girişimidir
  • Proje parçaları
          •   Müşteriye teslim edilmesi gereken çıktılar
          •   Bir zaman cizelgesi
          •   Çıktıları üretmek ve teslim etmek için teknik ve idari aktiviteler
          •   Aktiviteler tarafından harçanan kaynaklar (insanlar, bütçe)
  • Proje yönetimine odaklan
          •   Kaynakları yönet
          •   Hesap verilebilirliliği sağla
          •   Değişimi algıla
          •   Hedeflere ulaşıldığından emin ol.

Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   5
 Bir Projenin Basit Obje Modeli




                                                       Proje



Teslim edilecek çıktılar          Zaman Çizelgesi                                                           Kaynak
(Deliverables)                                                   Aktivite (Aktivity)
                                  (Schedule)                                                                (Resource)




Bernd Bruegge & Allen H. Dutoit       Object-Oriented Software Engineering: Using UML, Patterns, and Java                6
 Modelin ayrıntılı hali

                                                                                                           Equipment
                                              Project
                                                                                    *                       Facility
                                                                          Resource                            Fund
                                                                             *                              Organi-
                                                        Work
                                                      Breakdown                   des-                      zation
                                                      Structure                          Work
                                    Schedule                                     cribes Package
                                                                   con-                  *
                     *                                    *       sumes                              *
                                  produces
                 Outcome                                                          respon- Organizational
                                                              Work                sible        Unit      *
            *                                  *
                                                                                   for   plays
                                                                   depends
                                                                                    Role
       Set of Work  Work
                                                    Activity          Task                Participant      Staff
         Products  Product



              Internal     Project
                                                   Project Function                              Department    Team
            Work Product Deliverable

Bernd Bruegge & Allen H. Dutoit      Object-Oriented Software Engineering: Using UML, Patterns, and Java              7
 Bir Projenin Dinamik Modeli


                                                             Scope Defined


                                      Tanım (Definition)                            Start
                                  do/Define Scope                        do/Assign Tasks
                                                                                                        Tasks
                                                                                                        Assigned

   Termination                                                              Steady State
do/Deliver System                                                      do/Develop System




                                  System Done




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java         8
 Proje Organizasyonu

  • Proje organizasyonu kaynaklar ve katılımcılar
    arasındaki ilişkilerin belirlenmesini sağlar

  • Bir proje organizasyonu şunları tanımlamalı
          • Kim karr verecek (karar yapısı - decision structure)
          • Kim kime durum raporu verecek (reporting structure)
          • Kim kim ile iletişim kuracak (communication structure)



                                  *                                                     *       Katılımcı
  Organizasyon                               Takım (Team)
                                                                                                (Participant)



Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java           9
 İletişim yapısına bir örnek




                                                Management
                                                  :Team

       communicateDecision()                                                   communicateDecision()
                          communicateStatus()                   communicateStatus()

  UserInterface                                                                                          Control
      :Team                                       Database                                                :Team
                                                   :Team




Bernd Bruegge & Allen H. Dutoit    Object-Oriented Software Engineering: Using UML, Patterns, and Java             10
 Rapor vermek ile İletişim

  • Raporlama proje durumunun izlenmesinde yardımcı
    olur
          • Hangi işler bitirildi?
          • Hangi işler cizelgenin gerisinde kaldı?
          • Projede ilerlemeye engel olan faktörler neler?


  • İki takım iletişim ihtiyacı duyduğunda hiyerarşi
    üzerinden raporla iletişim kurmak yeterli olmaz
          • Bir iletişim yapısına ihtiyaç var
          • Her iki takımdan bir kişi iletişim sağlamakla görevlidir




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   11
 İletişim yapısına bir örnek
                                                                                Interface with
       UserInterface                                                              other team
           :Team                   Role

                                     Alice                      communicates                             Management:
                   Team leader     :Developer                                                               Team

                                   John                         communicates                         Architecture:
                   API engineer :Developer                                                               Team

                                      Mary                      communicates                        Documentation:
                          Editor   :Developer                                                           Team

                                     Chris                      communicates                              Testing:
              Implementor          :Developer                                                               Team

                                      Sam
              Implementor          :Developer


Bernd Bruegge & Allen H. Dutoit    Object-Oriented Software Engineering: Using UML, Patterns, and Java                 12
 Hiyerarşik Proje Organizasyonu


                                                                            Chief Executive

                                                                        First Level Manager
                                                                        (“Front-Line Manager”)

 A                                                                 B
                                                                           Project Members

     A wants to talk to B: Information Flow
     A wants to make sure B does a certain change: Controlflow

                 Organizasyonun temel karakteri:
           Hiyerarşik yapıyı kullanan karmaşık kontrol ve
                              bilgi akışı
Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   13
 Peer-To-Peer İletişim
                                                                                      Project
                                                                                      Leader


                                                                                      Coaches

     Subsystem Team               Subsystem Team Subsystem Team

        A                                                                      B       Team
                                                                                      Members



                       A wants to talk to B: Simple Information Flow
    A wants to make sure B does a certain change: Simple Controlflow

                                   Organizasyonun temel karakteri:
          Dinamik formasyondaki uniteler arasında Lineer olmayan bilgi akışı

Bernd Bruegge & Allen H. Dutoit       Object-Oriented Software Engineering: Using UML, Patterns, and Java   14
 Rol

  • Her rol birtakım sorumluluklar tanımlar (“to-dos”)
  • Örnekler
  • Rol: Test Elemanı
          • Test Yazar
          • Hataları rapor eder
          • Verilen çözümün belirli bir hatayı giderip gidermediğini kontrol
            eder
  • Rol: Sistem Mimarı
          • Tasarım kararlarının tutarlı olmasını sağlar ve altsistemlerin
            arayüzlerini belirler
          • Sistem Entegrasyon Stratejisini formule eder
  • Rol: İletişim Sorumlusu
          • Facilitate communication between two teams.


Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   15
 Yazılım organizasyonlarında rol tipleri
                                         Developer
                                                                                            API Engineer

                                                                                        Document Editor
                                           Liaison                                        Configuration
                                                                                             Manager

                                                                                                  Tester
              Role
                                                                                        Project Manager
                                           Manager
                                                                                             Team Leader

                                                                                           Application
                                                                                          Domain Expert

                                        Consultant                                      Solution Domain
                                                                                            Expert

                                                                                                  Client

                                                                                                End User
Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java      16
  Sorumluluklar rollere,
  roller insanlara verilir                                                                                        Team A .
“To Do” List for the Project
                                           Role 1
                                                                                                     Person A
              • Item 1                     Item 1
              • Item 2                     Item 2
                                           Item 9                                                        Role 1
              • Item 3
              • Item 4                                           Role 2                                  Role 2
                                                                 Item 4
              • Item 5
                                                                 Item 5
              • Item 6                                           Item 7
                                                                                                   Person B
              • Item 7
              • Item 8
                                              Role 3
              • Item 9
                                             Item 3                                                      Role 3
                                             Item 6
                                             Item 8



 Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java                 17
 Rollerden kişilere olan ilişkiler

• Bire-bir
       • Ideal ama çoğunlukla mümkün değil
• Çoktan-aza
       • Her proje üyesi birden çok görev üstlenir
       • İşin altından kalkamama tehlikesi
       • İş yükünün dengeli dağıtılması lazım
• Çoktan-çoka
       • Bazı insanların rolleri önemli değil
       • Hesap verilebilirlik zorlaşır
       • Projeyle bağlantı zayıflar

Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   18
 Görev(Task)

  • Yöneticinin takip edebileceği en küçük iş miktarına
    görev diyoruz
  • 3-10 günlük işler

  • Görev tanımlamaları
          •   Rol
          •   İş çıktısı
          •   Başlama tarihi
          •   Ne kadar sürecek
          •   Gerekli kaynaklar.




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   19
 Example: Tasks for building a House
                                                                     Install          Install           Install
                                                                    Interior         Interior          Wallboard
                                                                   Plumbing         Electrical

                                                                                                                        Paint
                                                                                                                       Interior
                                                                                                             Install
                                                                                                            Flooring      Install
                                                                                                                         Interior
                                                                                                                          Doors
                                                       Build
          Survey
         Survey                    Buy
                        Excavate Buy
                       Excavate
                                              Lay        Build
                                                      Outside                                                            FINISH
                                Material Lay Foundation
                                           Foundation
                                                       Outside
                                                                                                            Install
                                  Material             Wall                                                Roofing
                                                                      Wall                                                Install
                                                                                                                         Exterior
             Request
            Request
                                                                                                             Paint        Doors
            Permits
               Permits                                                                                      Exterior


                                                                     Install          Install           Install
                                                                    Exterior         Exterior          Exterior
                                                                   Plumbing          Electrical         Siding

Bernd Bruegge & Allen H. Dutoit      Object-Oriented Software Engineering: Using UML, Patterns, and Java                     20
   Example: Tasks for building a house
                                                                         Install          Install           Install
                                                                        Interior         Interior          Wallboard
                                                                       Plumbing         Electrical

                                                                                                                            Paint
                                                                                                                           Interior
                                                                                                                 Install
                                                                                                                Flooring      Install
                                                                                                                             Interior
                                                                                                                              Doors
                                                                      Build
                                     Buy            Lay
START      Survey        Excavate                                    Outside                                    Install     FINISH
                                    Material     Foundation
                                                                      Wall                                     Roofing

                                                                                                                              Install
                                                                                                                             Exterior
              Request
                                                                                                                 Paint        Doors
              Permits
                                                                                                                Exterior


                                                                         Install          Install           Install
                                                                        Exterior         Exterior          Exterior
                                                                       Plumbing          Electrical         Siding

  Bernd Bruegge & Allen H. Dutoit        Object-Oriented Software Engineering: Using UML, Patterns, and Java                     21
 Görevler ve İş Paketleri (Work Package)

  • Görevler iş pakatleri ile belirlenir
          •   Yaılacak işin tarifi
          •   İşe başlamak için ön koşullar, süre, gerekli kaynaklar
          •   İş çıktıları ve bunların kabul koşulları
          •   Riskler
  • Her görevin bir bitiş kriteri olmalı
          • Includes the acceptance criteria for the work products
            (deliverables) produced by the task.




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   22
 İş Çıktıları (Work Products)

  • Görev sonunda görülebilen iş çıktısı
  • Örnek
          •   Bir doküman
          •   Bir dokümanın incelenmiş hali
          •   Bir sunum
          •   Kod parçası
          •   Bir test raporu
  • Müşteriye sunulan iş çıktılarına ara çıktılar
    (deliverables) denebilir




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   23
 Görev büyüklükleri

  • Görevler takip edilebilir büyüklükte
    parçalardan oluşur
          • You may not know how to decompose the
            problem into tasks at first
          • Depends on the nature of work and how well
            task is understood.
  • Doğru büyüklüğü bulmak çok önemlidir
          • To-do lists from previous projects
          • Each software development activity identifies
            more tasks and modifies existing ones.



Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   24
 Aktiviteler (Activities)
    • Önemi bir iş miktarıdır
    • Projede kilometre taşlarını belirleyebilir:
            • İlerlemeyi ölçmek için belirlenmiş durumlar
            • İçeride belirlenen kontrol noktaları dışarıdan
              görünmemeli
            • Projenin kilometre taşları genelde proje planını belirler
    • Birçok zaman aktiviteler daha üst seviye
      aktivitelere gruplanır:
                    • Phase 1, Phase 2 …
                    • Step 1, Step 2 …
    • İşin ve zorlukların bölünmesini sağlar
    • Aktiviteler arasında öncelik ilişkileri olabilir
            • Örnek: “A1 must be executed before A2”



Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   25
   Example: Activities for Building a House
                                                                         Install          Install           Install
                                                                        Interior         Interior          Wallboard
                                                                       Plumbing         Electrical

                                                                                                                            Paint
                                                                                                                           Interior
                                                                                                                 Install
                                                                                                                Flooring      Install
                                                                                                                             Interior
                                                                                                                              Doors
                                                                      Build
                                     Buy            Lay
START      Survey        Excavate                                    Outside                                    Install      FINISH
                                    Material     Foundation
                                                                      Wall                                     Roofing

                                                                                                                              Install
                                                                                                                             Exterior
              Request
                                                                                                                 Paint        Doors
              Permits
                                                                                                                Exterior


                                                                         Install          Install           Install
                                                                        Exterior         Exterior          Exterior
                                                                       Plumbing          Electrical         Siding

  Bernd Bruegge & Allen H. Dutoit        Object-Oriented Software Engineering: Using UML, Patterns, and Java                     26
   Example: Activities for Building a House
                                                                         Install          Install     Install
                                                                        Interior              Finish Wallboard
                                                                                         Interior
                                                                       Plumbing              Interior
                                                                                        Electrical

                                                                                                                            Paint
                                                                                                                           Interior
                                                                                                                 Install
                                                                                                                Flooring      Install
                                                                                                                             Interior
                                                                                                                              Doors
                  Establish          Buy             Build Build
                                                    Lay
START      Survey   Excavate                               Outside                                                          FINISH
                Foundation          Material      Outside Wall
                                                 Foundation
                                                            Wall
                                                                                                                Install
                                                                                                               Roofing

                                                                                                                              Install
                                                                                                                             Exterior
              Request
                                                                                                                 Paint        Doors
              Permits
                                                                                                                Exterior


                                                                         Install
                                                                        Exterior
                                                                                             Finish Exterior
                                                                                          Install
                                                                                         Exterior
                                                                                                     Install

                                                                       Plumbing             Exterior Siding
                                                                                         Electrical

  Bernd Bruegge & Allen H. Dutoit        Object-Oriented Software Engineering: Using UML, Patterns, and Java                     27
 Examples of Software Engineering
 Activities
  •    Planning
  •    Requirements Elicitation
  •    Analysis
  •    System Design
  •    Object Design
  •    Implementation
  •    Testing
  •    Delivery




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   28
 Associations between Tasks, Activities,
 Roles, Work Products, and Work Packages


                                      describes                            results in
    Work Package                                                                                        Work Product


                                           *
                                                     Unit Of Work


                                  1
                      Activity                                                         Task
                                                                                         *
                                                                                                    1
                                                                                                                Role
                                                                            assigned to




Bernd Bruegge & Allen H. Dutoit           Object-Oriented Software Engineering: Using UML, Patterns, and Java          29
 Summary

  • Projects are concerted efforts towards a goal
    that take place within a limited time
  • Project participants are organized in terms of
    teams, roles, control relationships, and
    communication relationships.
  • An individual can fill more than one role.
  • Work is organized in terms of tasks assigned to
    roles and producing work products.




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   30
 Backup Slides




Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   31

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:18
posted:6/12/2012
language:
pages:31