Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Proje Organiza syonu ve İletişim, Bölüm 1.

Benzer bir sunumlar


... konulu sunumlar: "Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Proje Organiza syonu ve İletişim, Bölüm 1."— Sunum transkripti:

1 Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Proje Organiza syonu ve İletişim, Bölüm 1

2 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Nasıl yapılmalı ? Requirements Analysis Design Implementation System Testing Delivery and Installation

3 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 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. ”

4 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Ders Özeti Proje Tanımı Proje Organiza syonu Ro ller Görevler & Aktiviteler İş çıktıları & Teslim edilebilir çıktılar Bu dersin önemli konusu Proje yönetimi konseptlerini geliştirici gözüyle görmek

5 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 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.

6 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Bir Projenin Basit Obje Modeli Proje Teslim edilecek çıktılar (Deliverables) Zaman Çizelgesi (Schedule) Aktivite (Aktivity) Kaynak (Resource)

7 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Modelin ayrıntılı hali * Resource Participant Fund Equipment Schedule Task * Activity con- Facility * Staff DepartmentTeam produces Work Set of Work * ProductProducts * Internal Project Work respon- sumes Package Role * des- * cribes Deliverable sible plays for Organi- zation Structure * * depends Work Product Project Function Project Outcome Work Organizational Unit Work Breakdown

8 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Bir Projenin Dinamik Modeli Tanım ( Definition ) do/Define Scope Start do/Assign Tasks Steady State do/Develop System Termination do/Deliver System Tasks Assigned Scope Defined System Done

9 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Proje Organiza syonu Proje organizasyonu kaynaklar ve katılımcılar arasındaki ilişkilerin belirlenmesini sağlar Bir proje organiza syonu ş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) Takım ( Team ) Katılımcı ( Participant ) Organiza syon **

10 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 İletişim yapısına bir örnek UserInterface :Team Database :Team Control :Team communicateStatus() communicateDecision() communicateStatus() Management :Team

11 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 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

12 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 İletişim yapısına bir örnek UserInterface :Team Sam :Developer Implementor Alice :Developer Management: Team Team leader communicates Architecture: Team John :Developer API engineer communicates Editor Documentation: Team Mary :Developer communicates Chris :Developer Implementor Testing: Team communicates Role Interface with other team

13 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Hiyerarşik Proje Organizasyonu Chief Executive First Level Manager (“Front-Line Manager”) Project Members Organizasyonun temel karakteri : Hiyerarşik yapıyı kullanan karmaşık kontrol ve bilgi akışı Organizasyonun temel karakteri : Hiyerarşik yapıyı kullanan karmaşık kontrol ve bilgi akışı A B A wants to talk to B: Information Flow A wants to make sure B does a certain change: Controlflow

14 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Peer-To-Peer İletişim Project Leader Coaches Team Members Organizasyonun temel karakteri : Dinamik formasyondaki uniteler arasında Lineer olmayan bilgi akışı Organizasyonun temel karakteri : Dinamik formasyondaki uniteler arasında Lineer olmayan bilgi akışı Subsystem Team AB A wants to make sure B does a certain change: Simple Controlflow A wants to talk to B: Simple Information Flow

15 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 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: S i stem 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.

16 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Yazılım organizasyonlarında rol tipleri Rol e Liaison Consultant Manager Developer Configuration Manager Document Editor Tester API Engineer Team Leader Project Manager Application Domain Expert Solution Domain Expert End User Client

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

18 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Rollerden kişilere olan ilişkiler Bire-bir Idea l 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

19 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 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.

20 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 Example: Tasks for building a House SurveyExcavate Buy Material Lay Foundation Build Outside Wall Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall Request Permits FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors

21 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Example: Tasks for building a house START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors FINISH

22 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 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.

23 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 İş Çı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

24 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24 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.

25 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25 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”

26 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26 Example: Activities for Building a House START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors

27 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27 Example: Activities for Building a House START Request Permits SurveyExcavate Buy Material Lay Foundation Build Outside Wall FINISH Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Flooring Install Exterior Plumbing Install Exterior Electrical Install Exterior Siding Paint Exterior Install Roofing Install Exterior Doors Install Interior Doors Build Outside Wall Finish Exterior Finish Interior Establish Foundation START FINISH

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

29 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29 Associations between Tasks, Activities, Roles, Work Products, and Work Packages 1 * TaskActivity Unit Of Work Work PackageWork Product describes results in Role assigned to * 1

30 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30 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.

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


"Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Proje Organiza syonu ve İletişim, Bölüm 1." indir ppt

Benzer bir sunumlar


Google Reklamları