SW
description
Transcript of SW
![Page 1: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/1.jpg)
Yazılım Sistemlerinin Analiz ve Tasarımı
1
Yazılım Mühendisliği
Yrd.Doç.Dr.Farzad Kiani
İstanbul Sabahattin Zaim Üniversitesi
![Page 2: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/2.jpg)
2
Amaç
Bilgisayarlı Sistemlerini TanımakYazılım Metodolojilerini Araştırmak ve KullanmakPazarlama ve İşverenler ile İlgilenmek Yöntemleri ÖğrenmekBilgisayar Sistemlerinin Analiz ve TasarlamakTüm İhtimalleri Düşünerek Optimize Şekilde UygulamakYazılım BelgelendirmekYazılım Ürünü Hazırlamak
![Page 3: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/3.jpg)
3
• Sistemi ilk tanıma ve ihitiyaclarını çıkarmak• Çalışmanların görevlerini tanımak• Projenin misyon, vizyon ve amaçları belgelendirmek• Hedef sistemde sunulacak özellikleri tanıtmak• Organizasyon Şemasını oluşturmak• Çıkan Organizasyon Şemasına göre Actor’leri çıkartmak • Faaliyet Şemasini oluşturmak• Çıkan Faaliyet Şemasina göre Usecase’leri çıkartmak• Çıkan Usecase ve Actor’lere uygun tasarlıuacağımız
sistemi düşünürek Senario’ler yazmak
Bilgi Sistemleri Analiz ve Tasarımı Sistem oluşturmakta izlenen yol
1. Dönem
![Page 4: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/4.jpg)
4
• Nesne Tabanlı sistem Class’lerini her usecase için belirtmek• Sistem tasarımı• Soyutlama düzeyini yükseltmek(nesne yönelimli - bileşen
yönelimli)• Sistemin uygulaması• Sistemin testi• Sistemin desteklemesi
1. Dönem
![Page 5: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/5.jpg)
5
• Bisuness Modelleme• Business Modelleme Tipleri• Yazılım Testi Teknikleri• Nesne Tabanlı Programların Testi• Proje Yönetimi Teknikleri• Geliştirme Ekibini Yapısı• Yazılım Mühendisi ile Yazılım Geliştirenin Farkı
2. Dönem
![Page 6: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/6.jpg)
6
Kaynak
1 -Roger S. Pressman, Software Engineering: A Practitioner’s Approach, Mc Graw Hill, 6th Edition, 2005
2- Michael R. Blaha, James R Rumbaugh, Object-Oriented Modeling and Design with UML (2nd Edition), Prentice Hall, 2004
![Page 8: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/8.jpg)
Yazılım Mühendisliği: IEEE tanıtımı
Sistematik düzenli ve kaliteli bir yöntemi kullanarak yazılım ürünü ortaya koymak yani mühendislik yöntemlerini bir yazılım ürünü için işe almak
Yazılım Mühendisliğine genel bakışMühendislik sistem anlatımı, analiz, tasarım, uygulama, test ve destekleme aşamalarından oluşmaktadır
Bilgisayar yazılımı bir üründür ki onu mühendisler tasarlayıp inşa ediyorlar
System Defination
Analysis Design TestingImplement Support
‘Ne’ sorusuna yanıt ‘Nasıl’ sorusuna yanıt
![Page 9: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/9.jpg)
9
Destekleme Tipleri
1- Correction ( Düzeltmek): Bazen müşteri yeni ihtiyaçlar belirtir2- Adaption (Adaptasyon): Zaman geçtikce yazılım programının alanı değişir (mesela CPU, OS, Ticari anlaşma kuralları vb. değişir)3- Enhancement (Geliştirme): Müşteri yazılımı kullanarak bazen değişiklerin yapılmasının uygun olmasını anlar4- Preventation (Önleme): Yazılım kendi kullanışlılığını yavaş yavaş kaybeder bu sorunu gidermek için kullanılan yöntem: Reengineering
![Page 10: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/10.jpg)
10
Software Applications
Real – time softwareBusiness softwareEngineering and scientific softwareEmbedded softwarePersonal computer softwareWeb-based softwareArtificial intelligence software
![Page 11: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/11.jpg)
11
Program Yaşam Döngüsü (1)(Program Life Cycle)
Altı ana aşamadan oluşmaktadır .
Bu aşamalardan yalnızca bir tanesi programın bilgisayara kaydedilmesidir.
Diğerleri ise bilgi toplama, programı tasarlama, deneme, belgeleme ve bakım gibi işlemleri içermektedir.
Bir programın bilgisayara bir programlama dilinde aktarılması toplam işin yalnızca %20’sidir.
![Page 12: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/12.jpg)
12
Program Yaşam Döngüsü (2)
Program Özellikleri (Program Specification): Programın hedefleri, girdiler, çıktılar ve işlem gereksinimleri belirlenmektedir.
Program Tasarımı (Program Design): Çeşitli programlama teknikleri kullanılarak program için çözümler geliştirilmektedir.
![Page 13: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/13.jpg)
13
Program Yaşam Döngüsü (3)
Program Yazımı (Program Coding) :Bir veya bir’den fazla programlama dilinde program yazılmaktadır.
Program Deneme (Program Testing): Program, yazım veya
mantık hataları açısından kontrol edilmektedir.
![Page 14: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/14.jpg)
14
Program Yaşam Döngüsü (4)Program Belgeleme (Program Documentation) :
Programın geliştirilmesine başlandığı andan itibaren devam eden ve etmesi gereken bir süreçtir .
Programın geliştirilmesi sırasındaki her aşama belgelenmektedir.
![Page 15: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/15.jpg)
15
Program Yaşam Döngüsü (5)
Program Bakımı (Program Maintenance) :Tamamlanmış olan programlar, belirli aralıklarla duyarlılık, verimlilik, standartlaştırma ve kullanım kolaylığı sağlama yönlerinden gözden geçirilmektedirler .
Gerekli görüldüğü anda programda değişiklikler yapılmaktadır.
![Page 16: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/16.jpg)
16
Program Özellikleri (1)
Program yaşam döngüsünün ilk aşaması
Programın tanımlanması veya programın incelenmesi
Problemin anlaşılması olarak da tanımlanabilmektedir .
Programcı veya çözümleyiciden beklenenler:
Programın hedefleri,
İstenen çıktı,
Gerekli olan girdiler,
İşlem gereksinimleri ,
Belgeleme.
![Page 17: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/17.jpg)
17
Program Özellikleri (2)
Bir programın hedefleri belirlenirken gerçekleştirilen çalışmalar da gündelik hayattaki çalışmalardan farklı değildir.
Çözümlenecek olan problemin net bir tanımı yapılmalı, problemin ne olduğu açıkça ortaya konulmalıdır .
Daha sonra problemin çözümü için gereken diğer aşamalara geçilebilmektedir.
Bir problemin çözümüne başlarken ,
Problemi çözmek için hazırlanacak olan programdan hangi çıktıların isteneceği belirtilmelidir .
![Page 18: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/18.jpg)
18
Program Özellikleri (3)
Belirlenen çıktıların elde edilmesi için hangi girdilerin olması gerektiği belirlenmektedir.
Programın kullanıcısı olan kişilerin, programdan bekledikleri çıktıyı kağıt üzerinde yazarak veya çizerek ifade etmeleri
gerekmektedir .
Bu sayede programcılar hangi hedefe erişmeleri gerektiğini rahatlıkla anlayabilmektedirler.
![Page 19: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/19.jpg)
19
Program Özellikleri (4)
Çıktılar tanımlandıktan sonra, gerekli verilerin ve bu verilerin hangi kaynaktan girileceğinin belirlenmesi gerekmektedir.Verilerin türleri ,yapıları ,hangi ortamdan toparlanacağı ,nasıl toparlanacağı ,
bilgisayar sistemine nasıl girileceği gibi soruların cevaplandırılacağı çalışmalar bu aşamada gerçekleştirilmektedir.
Girilen verilerin, istenilen çıktıyı verebilecek şekilde nasıl işleneceğinin belirlenmesi de bu aşamada gerçekleştirilen işlerden birisidir.
![Page 20: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/20.jpg)
20
Program Özellikleri (5)
Program geliştirmenin her aşamasında belgeleme (dokümantasyon) gerçekleştirilmelidir.
Belgelemenin, bu aşamadan başlayarak her aşamayı ayrıntılı olarak kapsayan bir şekilde hazırlanması
gerekmektedir .
Bu aşamada programın özelliklerini, girdi, çıktı ve gereken işlemleri içeren bir belge hazırlanmaktadır.
![Page 21: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/21.jpg)
21
Program Tasarımı (1)
Problemin çözüm yöntemini ve bu yöntemin geliştirilme işlemlerini içermektedir.
Program yaşam döngüsünün en önemli aşamasıdır .
Bu aşamada;Bir çözüm yöntemi planlanmakta ,
Bu çözüm yöntemi uygun çözüm, program geliştirme yöntem ve araçları ile
geliştirilmektedir .
![Page 22: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/22.jpg)
22
Program Tasarımı (2)
Hazırlanan çözüm içinde;Programın nasıl geliştirileceği ,
Programın nasıl bölümlendirileceği ,
Programın hangi bölümünde hangi programlama dilinin kullanılacağı ,
Programın hangi bölümünün kim tarafından kodlanacağı (seçilen programlama dilinde bilgisayara aktarılacağı)
ayrıntılı olarak belirtilmelidir .
![Page 23: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/23.jpg)
23
Program Tasarımı (3)
Özellikle büyük programlarda, program “parça” veya “modül” olarak adlandırılan bölümlere ayrılmaktadır.
Her parça ayrı programcılar tarafından ve bazen de ayrı programlama dillerinde yazılmaktadır.
Birbirinden bağımsız olarak hazırlanan ve denenen bu modüllerin, bütünleştirme sürecinde birbirleri ile birleştirilmeleri ve bir bütün olarak denenmeleri gerekmektedir.
![Page 24: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/24.jpg)
24
Yapısal Programlama Teknikleri
Yukarıdan Aşağıya (Top-down) yöntemi
Aşağıdan Yukarıya (Bottom-up) yöntemi
Sözde kod (Pseudocode)
Akım Şeması (Flowchart)
Mantıksal Yapılar (Logic Structures)
![Page 25: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/25.jpg)
25
Aşağıdan-Yukarı Yöntemi (1)
Programlama ve sistem tasarımında karşılaşılan problemler, hep bir arada çözülemeyecek kadar büyük
olabilmektedirler .Nereden başlanacağı konusunda bir soru işareti
doğmaktadır .Eğer karşılaşılan problem, daha önce karşılaşılan türden bir problem değilse;Problemin anlaşılan bir bölümünü çözmek ,
Böylece problemin diğer bir tarafının anlaşılmasını kolaylaştırmak ,
Daha sonra o parçayı çözmek ve sırasıyla tüm parçaları çözüme kavuşturmak gerekebilir .
![Page 26: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/26.jpg)
26
Aşağıdan-Yukarı Yöntemi (2)
Her bir parça ayrı ayrı çözümlendiği için daha sonra birleştirilmeleri ve birlikte düzgün çalışıp çalışmadıklarının
denenmesi gerekmektedir .Bu yönteme “Aşağıdan Yukarıya (Bottom-up)” adı verilmektedir.Bu yöntemin en büyük sorunu :
Problemin çözüm aşamasında her bir parça ayrı ayrı çözüme kavuşturulmakta,
Program parçaları arasındaki ilişki kısmen de olsa gözardı edilmektedir.Bunun sonucunda program içinde bütünlük sağlamak için yeniden düzenlemeler gerekmekte, programın bütünleştirilmesi sırasında yoğun bir ek çalışmaya gereksinim duyulmaktadır.
![Page 27: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/27.jpg)
27
Yukarıdan-Aşağı Yöntemi (1)
Karmaşık problemlerParçalara ayrılarak
Aşama aşama çözümlenebilecek bölümler halinde ele alınarak çok daha kolay çözümlenebilirler.
Programlamada geliştirilen modern yöntemler bunu öngörmektedir.
Her aşamada problem küçük parçalara bölünmekte ve ayrıntılardan mümkün olduğunca kaçınılmaktadır .
![Page 28: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/28.jpg)
28
Yukarıdan-Aşağı Yöntemi (2)
Bu yaklaşımda, programın tüm parçaları arasındaki ilişkiler çözüme başlanmadan önce ayrıntılı olarak tanımlanmakta, böylece parçaların birleştirilme aşaması kolaylıkla geçilebilmekte ve istendiği gibi çalışan bir program elde
edilmektedir .
Bu genel yaklaşım, Yukarıdan Aşağıya Yöntemi (Top-down Method) olarak adlandırılmaktadır.
![Page 29: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/29.jpg)
29
Sözde Kod (Pseudocode)
Yazılacak olan programın mantıksal akışının yazı ile ifade edilmesidir .
Programın yazılmasından önce bir özetinin yapılmasına benzemektedir .Örneğin ;
Ekrandan girilen “n” tane sayının okutulması, toplatılması, aritmetik ortalamasının alınması ve sonucun yazdırılması:Sözde kodda, yapılacak olan işlem genel hatları ile tariflenmektedir.
Bu koda bakarak istenilen bir programlama dilinde bu işlemi gerçekleştiren bir program geliştirmek mümkündür .
![Page 30: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/30.jpg)
30
Örnek Sözde Kod
.1İşleme Başla.2n değerini oku
.3adet’e ve toplam’a sıfır değerini ata.4a sayısını oku
.5a sayısını toplam ile topla ve sonucu toplam’a ata
.6adet’in değerini 1 arttır..7Eğer adet’in değeri n’den küçükse yeni sayıyı
okumak üzere 4.aşamaya git..8toplam değerini adet değerine bölerek aritmetik
ortalamayı bul ve bu değeri ortalama’ya aktar.9toplam, adet ve ortalama değerlerini yazdır
.10İşlemi bitir
![Page 31: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/31.jpg)
31
Akım Şeması (Flowchart)
Bir programlama probleminin çözümü için gerekli ayrıntılı aşamaları grafiksel olarak gösteren bir çizimdir .
Akım şemalarında her simge belirli bir işlemi ifade etmektedir.
![Page 32: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/32.jpg)
32
Programın Parçalar Halinde Gösterimi
1 -Ancak, büyük çaplı programlarda akım şeması hazırlanması oldukça zor olmaktadır.
2 -Yukarıdan aşağıya programlama yöntemi sayesinde programın parçalara ayrılması yarar sağlamaktadır .
3 -Böylece her program parçasının akım şeması ayrı hazırlanmakta, hazırlanan bu akım şemaları ise daha üst
seviyeli bir akım şeması ile gösterilebilmektedir .
![Page 33: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/33.jpg)
33
Doğru Programın Özellikleri
1- Reliability2- Maintainability: Gereken zaman, program düzeltilebilsin/değişebilsin3- Portability: Program en az değişiklerle başka sisteme taşınsın4- Readability: Program başka programcı tarafından da okunabilir olması gerek5- Performance: İşlemler çabuk ve verimli yapılmalıdır6- Storage Saving: Program gerekçesiz uzun olmaması gerek
![Page 34: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/34.jpg)
34
Software development process modelsYazılım Geliştirme Proses Modelleri
Waterfall Model Prototype Model Rapid Application Development (RAD) Iterative Model Spiral Model Concurrent Model Clean Room model
![Page 35: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/35.jpg)
35
MetodojiTanıtım: Sistem analiz ve tasarımı için güçlü bir yöntem denilebilir. Onlar stware process’lere dayalılarMetodoloji tipler: 1- Yapılandırılmış—Waterfall Modeline dayalı----Örnek: SSADM metodoloji (Logical Data Modeling, Data Flow Modeling, Entity Behavior Modeling) DETAILS: encapsulation, inheritance, polymorphismOrtak çoklu fonksiyonunun kullanılmasıYeni formatta Şelale süreç, iteratif bir süreç olarak tanıtılmış
2- Nesne Tabanlı--- Iterative modeline ve buna benzer bir çok modele dayalı olabilir--- Örnek: RUP metodolojisi ve UML diliOMT,OOSE ,Booch
3- Bileşen Tabanlı (Soyutlama düzeyini yükselterek)
RUP: Rational Unified ProcessUML: Uniform Modeling Language
SSADM: Structured systems analysis and design method
![Page 36: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/36.jpg)
36
Metodolojilerin gelişme aşamaları Yourdon’a göre:
Birinci Nesil Yöntemleri1- Process Oriented: Sistemin görevlerini ve fonksiyonlarını anlamak2- Data Oriented: Verileri ve sistemin içindeki bilgileri anlamakYapısal ProgramcılıkYapısal TasarımYapısal Analizİkinci Nesil YöntemleriÜçüncü Nesil Yöntemleri
Not: mevcut sistemi fazla zaman kaybetmeden iyi tanımak lazım
Sistem gereksinimlerini anlama yöntemleri Yourdon’a göre:
![Page 37: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/37.jpg)
37
RUP is based on a set of building blocks and content elements, describing what is to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are to be achieved. The main building blocks, or content elements, are the following:Roles (who) – A role defines a set of related skills, competencies and responsibilities.Work products (what) – A work product represents something resulting from a task, including all the documents and models produced while working through the process.Tasks (how) – A task describes a unit of work assigned to a Role that provides a meaningful result.Within each iteration, the tasks are categorized into nine disciplines:Six "engineering disciplines"
Business modelingRequirementsAnalysis and designImplementationTestDeployment
Three supporting disciplines Configuration and change managementProject managementtEnvoirnment
Rational unified process topics
![Page 38: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/38.jpg)
38
![Page 39: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/39.jpg)
Yazılım Geliştirme Stepleri
1- Sistem TanımıAvantaj: Diyagramlardan faydalandığı için daha anlaşılır ve özettirTanım yöntemleri: Hedefleri belirtmek, Prosesleri belirtmek, Görevleri belirtmekTanım stepleri: fizibilite çalışması, mevcut sistemi anlamak ve modellemek, ihtiyacları belirtmekTanımın hedefi: organizasyon ve faaliyet şemaları, bireylerin sorumluluklarını çıkarmak2- Analizİhtiyacların analizi ve daha sonra sistemin kabiliyetini bu ihtiyacların giderilmesi doğrultusunda belirtmek—’ne’ sorusuAnalizin hedefi: Business system option: mesela final sistemde öğrenci kendi kayıtını yapabilmese gerekirse BSO’dan internet kayıtı veya offline kaydını yapabilsin diye bu imkanı göze almak lazım
![Page 40: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/40.jpg)
40
Yazılım Geliştirme Stepleri...
3- TasarımSistem mimarisini belirtmek.. ‘nasıl’ sorusuTasarım stepleri: makro tasarım, code tasarımı, DB tasarımı, veri yapısı belirtmek...
4- Uygulama: kodlama ve test
5- Destekleme: sistemin montaji ve eğitim, klavuz gibi sonraki hizmetler
Inception
Analysis Design
Implementation Uygulama ve Destekleme
Requirements
BSO
PSO (Physical System Option)
Codes
*
![Page 41: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/41.jpg)
41
Fazlar:
A) Inception: sistemi tanımak için aşağıdaki yolu izleriz1- Organizasyon şemasını belirlemek çıktı: sistemin aktörleri
2- Bireylerin (aktörlerin) görevlerini belirlemek çıktı: sistemdeki bölümlerin görevleri
3- Faaliyet ve Kalite ihtiyaclarını her ünite için çıkan görevlere göre belirlemek çıktı: sonuç sistemin kabiliyetleri
![Page 42: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/42.jpg)
42
![Page 43: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/43.jpg)
43
MüdürMüdür
KasiyerKasiyer Yrd.MüdürYrd.Müdür
Maliye GörevlisiMaliye GörevlisiKrediler YetkilisiKrediler YetkilisiPostacıPostacı
Kasa SorumlusuKasa SorumlusuVadeli HesaplarYetkilisi
Vadeli HesaplarYetkilisi
Vadesiz HesaplarYetkilisi
Vadesiz HesaplarYetkilisi
Organizasyon şeması Örnek
![Page 44: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/44.jpg)
44
Bankanın işlemleri başkanlığıBankanın işlemleri başkanlığı
YönetmekYönetmek
Kasiyer işlemleri başkanlığıKasiyer işlemleri başkanlığı
Krediler tahsisiKrediler tahsisi Maliye işlemleriMaliye işlemleri Mektuplar işleriMektuplar işleri
Fonksiyonel Şeması Örnek
![Page 45: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/45.jpg)
45
Code Funtional Req. Type
1-1 Sistemin hesap açma/kapatma kabiliyeti olması lazım E
1-2 Sistem müşterinin bakiyesinin göstermelidir E
1-3 Sistem tüm müşterilerin bakiyelerine dayalı günlük kar oranını hesaplamalıdır
H
Sistemin amaçları ve yapılması gereken özellikleri ortaya koyarType: E(Event), H(Hidden), O(Optional)
Code Quality Req. Type
1-1 Sistem 5 saniye içinde yanıt vermesi lazım Response time
1-2 Sistem çeşitli işletim sistemlerinde çalışması lazım Environment
1-3 Sistem kablolu/kablosuz Mouse ve klavye ile uyum sağlaması lazım
Interface
Sistem üzerinde amaçlar ve özellikler nasıl yapılması gerektiğini ortaya koyarType: Fault tolerance, interface, response time, environment and easy of use **
10دفتر
![Page 46: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/46.jpg)
کیانی - فرزاد افزار نرم 46اصول
دو نكته اساسي :
يا دستيسيستم جاري ممكن است : نکته از اين دو باشدتركيبي و يا كامپيوتري
سيستم آتي
جاريسيستم
شناخت نيازها
![Page 47: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/47.jpg)
کیانی - فرزاد افزار نرم 47اصول
داليل مطالعه سيستم جاري )كنوني( : لزوم وجود برخي عملكردهاي سيستم موجود در سيستم جديد لزوم انتقال برخي اطالعات سيستم جاري به سيستم جديد انتقال مستندات سيستم جاري و استخراج الگوريتمها درصورت
مكانيزه بودن سيستم جاريدرك كلي از سازمان با مطالعه سيستم جاري انعكاس برخي از عمليات سيستم جاري در سيستم آتي لزوم درك كار افراد براي ايجاد سيستم مناسب كامپيوتري امكان مشخص كردن ميزان كارايي سيستم آتي با مطالعه
سيستم جاري
ادامه شناخت نيازها
![Page 48: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/48.jpg)
کیانی - فرزاد افزار نرم 48اصول
نيازها
سيستم چه كاري بايد انجام دهد يا : نيازهاي عملياتي چه انتظاراتي از سيستم مي رود
تعيين : نيازهاي كيفي
چگونگي ها
نيازهاي قابل استفاده بودن
ادامه شناخت نيازها
- تحمل خطا1
- رابط2
- زمان پاسخگويي3
- محيط اجرايي4
- سهولت در 5استفاده
![Page 49: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/49.jpg)
کیانی - فرزاد افزار نرم 49اصول
نمونه اي از نياز عملياتي
![Page 50: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/50.jpg)
کیانی - فرزاد افزار نرم 50اصول
نمونه اي از نياز کيفي
![Page 51: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/51.jpg)
کیانی - فرزاد افزار نرم 51اصول
روشهاي استخراج نيازها
مصاحبه - 1قبل از مصاحبه : بايد وقت مالقات و موضوع مالقات مشخص شوند
مصاحبه يك اتالف وقت براي مصاحبه شونده استنكته
تعيين وقت ، تعيين افراد مورد مصاحبه ، انتخاب افراد باتجربه : در مصاحبه ، ضرورري است .تعيين اهداف مصاحبه ، مصاحبه
مزيت : .ارتباط با افراد موجب مي شود آناليست پاسخگوي نيازهاي افراد باشد
آناليست ممكن است روشهاي ديگري براي ساده ترشدن كار افراد .پيشنهادكندمشکالت :
مصاحبه ها هزينه برند تنها انجام مصاحبه كافي نيست، بلكه آناليست بايد برروي نتايج كار كند و
Prototype تهيه نمايد . .مصاحبات وابسته به نقطه نظرهاي مصاحبه ـ شونده است
![Page 52: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/52.jpg)
کیانی - فرزاد افزار نرم 52اصول
ادامه روشهاي استخراج نيازها
- مشاهده2مشاهده در ارتباط با جنبه هاي مختلف انجام يك كار مي باشد:
مدت زمان انجام وظيفه توسط فرد تعداد خطاهاي ايجادشده در طي انجام كار فرد فاكتورهاي مهم در ارتقاء كارايي فرد
مزيت : .آشنايي با روشي كه سيستم جاري با آن كار مي كند
.ميزان كارايي سيستم جاري مشخص مي شوداطالعات گردآوري شده مبتني بر آن چيزي است كه در عمل انجام مي شود نه
.آنچه كه افراد ادعا مي كنند
افراد هنگامي كه احساس كنند تحت نظر هستند، طبق روال عادي مشکالت : .رفتار نمي كنند
![Page 53: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/53.jpg)
کیانی - فرزاد افزار نرم 53اصول
ادامه روشهاي استخراج نيازها
- ارجاع به مستندات 3 و گزارشهاي تهيه شده توسط افراد، بخصوص در هنگام Prototypeبا ارجاع به
.مصاحبه، بخش اعظمي از نيازها مشخص مي شوند
با ارجاع به اين فرمها، ميزان داده ها، فرمت داده ها و نهايتا ساختار بانكهاي .اطالعاتي و گزارشهايي كه بايد استخراج شوند، مشخص مي شود
مزيت : .حجم داده ها و اطالعات موردپردازش مشخص مي گردد
.فرمت داده ها تعيين مي گرددمشكالت و خطاهايي كه بواسطه پركردن دستي مستندات ايجاد مي گردد، تعيين
.مي شود
� تغيير كند، ممكن است اطالعاتي گردآوري مشکل : اگر قرارباشد سيستم كامال� نيازي به آنها نباشد .شود كه در آتيه اصال
![Page 54: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/54.jpg)
کیانی - فرزاد افزار نرم 54اصول
ادامه روشهاي استخراج نيازها
پرسشنامه – 4پرسشنامه ها مجموعه اي از سؤاالت هستند كه توسط مشاورين و كساني كه با
اهداف و عملكرد دستي سيستمها آشنايي دارند، تهيه شده و در يك سازمان پخش .مي شود و جوابها مطالعه مي گردند
مزيت : .بر مبناي پاسخها نيازها مشخص مي شوند
.با استفاده از پرسشنامه ها، تعداد افراد زيادي را مي توان به كارگرفت
مشکل : .تهيه پرسشنامه نياز به تجربه زياد دارد
.عدم دريافت پاسخ به موقع از افراد
![Page 55: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/55.jpg)
کیانی - فرزاد افزار نرم 55اصول
انواع نيازها
(Functional Requirement - نيازمنديهاي کارکردي )1
non-Functional - نيازمنديهاي غيرکارکردي )2Requirement)
نيازمنديهاي غير کارکردي اصوال در فاز تشريح مشخص ميشوند ولي گاهي در فاز ايجاد بوجود مي آيند
![Page 56: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/56.jpg)
کیانی - فرزاد افزار نرم 56اصول
تهيه چشم اندازي از پروژه
- مقدمه 1 ( هدفObjective :).هدف كلي از مستند را براي سيستم مشخص مي كند ( دامنهScope:) ،در هنگام مشخص كردن دامنه يا حوزه عملكرد سيستم
با ارتباط خارجي تعيين مي گردد. افراد يا اشيائي كه در خارج از موجوديتهايقراردارند، مشخص مي شوند. سيستم
( مراجعReferences:) در اين بخش مستنداتي كه جهت ايجاد سيستم به آنهاارجاع مي شود، آورده مي شوند. از جمله مستندات مي توان به : مستندات
اشاره نمود. شرح وظايف سازماني، روندهاي كاري و
موقعيت - 2سيستم كامپيوتري جايگزين مشخص مي كند هنگاميكه : موقعيت كاري
ايجاد خواهدشد. سيستم جاري شد، چه شرايطي و چه تسهيالتي : در اينجا مشكل سيستم و مزاياي سيستم كامپيوتري شرح مسئله
مطرح مي شود. : در اين قسمت توضيحي درمورد شرح كاربرها و نيازهاي شرح كاربرها
آنها تهيه شده و كاربرهاي اصلي مشخص مي شوند.
![Page 57: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/57.jpg)
کیانی - فرزاد افزار نرم 57اصول
ادامه تهيه چشم اندازي از پروژه
: در اين قسمت در قالب يك دياگرام توصيف محصول نرم افزاري- 3ازمحصولي كه بايد متن توصيفي
به مشتري تحويل داده شود، ارائه مي شود. قابليتهاي نرم افزار و ويژگيهاي آن، هزينه توليد و نكات مربوطه در
اين قسمت تعيين مي شود.
: بايد قسمتها را مشخص كرده و تعيين كرد كه براي هر قسمت هزينه ها -4در ارتباط با هزينه ها درمجموع مي بايست عمليات چه هزينه اي نياز است.هزينه انجام پروژه مشخص شود
نتيجه چشم انداز :• Business Modeling تعيين ليست نيازمنديها بر اساس سيستم جاري ••Use case هاي آتيكامل شدن نيازمنديها بر مبناي اين دو كاتالوگ •• )use case view)چه استفاده هايي ازسيستم كامپيوتري مي شود
![Page 58: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/58.jpg)
کیانی - فرزاد افزار نرم 58اصول
(Requirement Analysisتحليل نياز )
بعد از مشخص شدن نيازها ، گام بعدي تحليل نيازهاست .
نيازها به دو طريق مشخص مي شوند
نيازهاي متمرکز بر خواسته هاي کاربر- 1
- نيازهاي متمرکز بر خواسته هاي سيستم2
. پاسخ به نيازها ، تعيين قابليتهاست
ليستي از قابلتها ، مشخص کننده موارد استفاده هستند .
: براي سنجش عملکرد سيستم تعريف بهره وري
![Page 59: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/59.jpg)
کیانی - فرزاد افزار نرم 59اصول
(Use Case )مورد استفاده
شاخص امکاناتي هستند که سيستم کامپيوتري تعريف مورد استفاده : در اختيار اکتورهاي خود قرار مي دهد .
موجوديتي است که در تعامل با تعريف اکتور :
سيستم براي تکميل يک رويداد استثبت نام
حذف و اخذ
صدور كارنامه
تعيين برنامه آموزشي
دانشج و
مديريت دانشكده
استاد
آموزش مركزي
![Page 60: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/60.jpg)
کیانی - فرزاد افزار نرم 60اصول
(Use Caseمورد استفاده )
يك مورداستفاده كاري شاخص يك وظيفه است كه بوسيله � اصوال به انجام مي رسد. پس مورداستفاده Business workerچند يك يا
Business workerاي است كه توسط يك كاري نمايانگر مورداستفادهمورداستفاده قرارمي گيرد
براي انجام هر وظيفه ، شرح وظيفه اي وجود دارد كه مراحلهاي كاري مي Use caseانجام كار را مشخص ميكند. پس براي انجام
توا از شرح وظايف استفاده كرد.
عملكرد سيستم براساس سرويسهايي كه فراهم مي كند، مشخصمي گردد.
هر سرويس را يك مورداستفادهactor يا يك Use Case.مي نامند
![Page 61: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/61.jpg)
کیانی - فرزاد افزار نرم 61اصول
هر زيرسيستم ممكن است شامل چند Use Case.باشد
ممكن است يكBusiness Use case تبديل به يك � Use case مستقيماكامپيوتري شود.
Business Unit با � ها يا بسته هاي نرم افزاري Packageها معموالجايگزين مي شوند.
در دسته بندي كالسها به جاي اتالق اصطالح type ،به آنها stereotype را بكارخواهيم برد.
موارد استفاده ابزاي جهت تعيين پيامهاي ارسالي بين اجزا مي باشند
(Use Caseمورد استفاده )
![Page 62: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/62.jpg)
کیانی - فرزاد افزار نرم 62اصول
(Use Caseمورد استفاده )
اصوال موارد استفاده نبايد در ارتباط مستقيم هم قرار گيرند
انواع ارتباطات بين موارد استفاده
ديگري است .U.C هميشه شامل U.C : نشان مي دهد که يک Include- رابطه 1
: تحت شرايط مورد استفاده اي ، عملکرد مورد استفاده ي Extended- رابطه 2ديگري را توسعه مي دهد .
بايد Extended در هر شرايطي برقرار است ولي رابطه Include: رابطه نکته داراي شرايط خاص خود باشد .
![Page 63: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/63.jpg)
کیانی - فرزاد افزار نرم 63اصول
بررسيوضعيتدانشجو
دانشجو
(from use case)
مديرآموزش
(from use case)
تعرفه صدور
ثبتنام (from use case)
تاييد
واحد درج
<<include>>
بررسيظرفيتکالسها
<<include>>
بررسيپيشنياز (from use case)
بررسيبدهي
قبضبدهي صدور
<<include>>
<<include>>
<<include>>
<<extend>>
Use Case Diagramمثالي از
![Page 64: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/64.jpg)
کیانی - فرزاد افزار نرم 64اصول
سناريوي موردهاي استفاده
بخشي از توصيف مورد استفاده است که نشان مي دهد که تعريف سناريو : چگونه اکتور با سيستم ارتباط برقرار مي کند
سناريو از دو قسمت تشکيل ميشود
- يک بخش رويدادي است که توسط اکتور استفاده مي شود1
– بخش ديگر شامل پاسخ سيستم به رويدادهاي ايجاد شده توسط اکتور 2
است
مراحل نوشتن سناريو
- اکتورها 3 - نوع مرئ استفاده ) فرعي ، اصلي(2- نام مورد استفاده 1 – هدف4
- موارد ديگر7- نيازهاي تحت پوشش 6 – پيش فرض و پس فرض 5
![Page 65: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/65.jpg)
کیانی - فرزاد افزار نرم 65اصول
مي تواند فرعي يا اصلي باشد . معموال موارد نوع مورد استفاده دارند از نوع فرعي و Extended يا Includeاستفاده اي که رابطه
بقيه اصلي هستند
به U.C شرايطي است که بايد وجود داشته باشد تا پيش فرضهدف خود برسد و
شرايطي است که بعد از اجرا ايجاد ميشودپس فرض
ها پوشش دهنده کليه نيازها هستند U.C ، نيازهاي تحت پوشش اي تعيين U.Cبنابرين اگر نيازي وجود داشته باشد که براي آن
جديدي مشخص شودU.Cنشده باشد بايستي
اي ، U.C : بعد از رسم دياگرام مورد استفاده ، براي هر نکتهسناريو تهيه مي کنيم
![Page 66: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/66.jpg)
کیانی - فرزاد افزار نرم 66اصول
مثالي از سناريو : صندوق دار و مشتري اکتور : خريد اجناس مورد استفاده
: اصلي نوع
: وجود ليست خريد پيش فرض : ثبت يک فروش و يک پرداخت هدف
: دريافت برگه رسيد پس فرض
:موارد ديگر
- در صورتي که سيستم نتواند با کد کاال کارکند ، صندوق دار از طريق 2صفحه کليد ، کد کاال را ثبت کند
- اگر کد کاال نا معتبر باشد سيستم اعالم خطا کند2
- در صورتيکه به تعداد خواسته شده کاال موجود نباشد سيستم قبول نکند2
- در صورت عدم توانايي پرداخت مشتري ، تراکنش فروش حذف شود 7
![Page 67: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/67.jpg)
کیانی - فرزاد افزار نرم 67اصول
سيستم اکتور- مشتري در حالي که اجناس خريداري 1
شده را در دست دارد به صندوق نزديک مي شود
- سيستم با ارجاع به پرونده کاال 3قيمت آنرا مشخص و در تراکنش موقت
فروش ، اطالعات کاال را وارد ميکند
- صندوق دار بوسيله اسکنر کد کاال را 2مي خواند در صورتيکه تعداد بيش از يک
عدد باشد وارد سيستم مي کند
- سيستم کل مبلغ فروش را محاسبه 5و نمايش مي دهد
- صندوق دار براي تکميل ورود کاال 4دگمه جمع را فشار مي دهد
- صندوق دار جمع مبلغ را به مشتري 6اعالم مي کند
- سيستم سابقه فروش از تراکنش 8موقت را ثبت مي کند
- مشتري نوع پرداخت را مشخص مي 7کند
- وجه نقد - کارت اعتباري - چک
- بروز رساني موجودي انبار و تهيه 9رسيد
- صندوق دار به مشتري رسيد کاال را 10مي دهد
![Page 68: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/68.jpg)
کیانی - فرزاد افزار نرم 68اصول
تحقق موارد با objectبراي به واقعيت پيوستن موردهاي استفاده، مي بايست تعدادي استفاده
� سرويس موردنظر يكديگر همكاري كنند و درنتيجه همكاري اينها نهايتا فراهم گردد.Actorبراي
object ها در قالبBusiness worker و Business entityمشخص شدند.
(محاوره Interaction اين )object ها با يكديگر در قالبInteraction Diagram ميسر ميگردد.
سازماندهي اينobject ها در قالبobject model يا »مدل ارتباطي كالسها« مشخص ميگردد.
براي تشخيص عملكردuse case از دياگرام فعاليت يا activity Diagram.استفاده مي شود
![Page 69: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/69.jpg)
کیانی - فرزاد افزار نرم 69اصول
مثالي از تحقق موارد استفاده
![Page 70: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/70.jpg)
کیانی - فرزاد افزار نرم 70اصول
کالسها بعد از نوشتن سناريو براي هر مورد استفاده ، براي به تحقق رساندن موارد
استفاده ، بايستي کالسهايي از اشياء تعريف و ايجاد کرد
اين کالسها در قالب دياگرامهايي در رشنال مطرح ميشوند که در ادامه بيان خواهند شد
براي نمونه در شرح سناريو، كلمه كاال استفاده شده است. پس كاال بعنوان مشخص مي Logical viewيك كالس در نظر گرفته شده است. كالسها در
شوند.
پس از تعيين كالسها، مي بايست براي هر كالس مسئوليتها را نيز تعيين كردو مشخص نمود كه آن كالس با چه كالسهاي ديگري همكاري مي كند تا
مسئوليتهاي خود را به انجام رساند.
در دنياي واقعي نيز وقتي قراراست سرويسي ارائه شود، افراد مشخص ميشوند و اين افراد بايد با يكديگر همكاري كنند تا سرويس موردنظر ارائه گردد.
تبديل به اين وظايف شرح وظايفي دارد و دررابطه با كالسها ،هر فرديمتدهاي كالس مي شوند.
![Page 71: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/71.jpg)
کیانی - فرزاد افزار نرم 71اصول
CRC (Class Responsibilityبراي نمونه فرمهايي با عنوان Collaboration) آماده مي شود و بصورت زير مسئوليتهاي class
هاي وي مشخص مي شونديوهمكار
مسئوليتها نگهداري اطالعات نسخه ها در همكارهادريافت تقاضاي امانت عضو
برگشت يا امانت نسخه ها
نسخ ه
عضو كتابخانه
CRC Card (1)
ادامه کالسها
انواع کالسها :
1 -Boundary Class
2 - Control Class
3 -Entity Class
![Page 72: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/72.jpg)
کیانی - فرزاد افزار نرم 72اصول
مدل ارتباطي كالسها را عالوه بر كارتهايCRC از � مي توان مستقيماSequence Diagram استخراج كرد. اگر در داخل كارتهاي CRC كالس A
Logical دارد، در مدل ارتباطي كالسها تحت Bهمكاري بنام كالس View مي بايست يك خط ارتباط دهنده بين كالس ، A و كالس B
Object، اگر يك Sequence Diagramترسيم شود. به همين ترتيب از روي را فراخواني كند، Bكالس از نوعObject متدي از يك Aاز داخل كالس
بين اين دو كالس يك خط واصل ارتباطي ترسيم مي شود.
براي هرuse case براساس Sequence Diagram مي توان مدل ارتباطي كالسها را ايجادكرد.
ادامه کالسها
![Page 73: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/73.jpg)
کیانی - فرزاد افزار نرم 73اصول
مدل ارتباطي كالسها
رابطه بين كالسها
در حالت كلي رابطه بين دو كالس راassociationيا اجتماع بين دو كالس مي نامند.
رابطه بين دوobject را link.پيوند( بين اشياء مي نامند(
براي كالسها نيز درست مثل هر پست سازماني شرح وظايف تعيين
مي شود. شرح وظايف را در قالب متدهاي كالس پياده سازي مي كنند.
كالسي كه بدون پياده سازي بوده و تنها متدهاي آن تعيين شده معرفي مي شود.Abstract classباشد، بنام
![Page 74: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/74.jpg)
کیانی - فرزاد افزار نرم 74اصول
در دنياي واقعي چارت سازماني و در دنياي شيءگرا مدل ارتباطي كالسها مطرح است.
use case سرويسي است كه قراراست به كاربر ارائه شود. اينسرويس الزمه اش تعدادي كالس است.
ها تبديل به كالسهاي كنترلي مي Business workerدر صورت نيازشوند
Business entity ها تبديل به Entity class.مي شوند
Business Entity
Entity Class
![Page 75: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/75.jpg)
کیانی - فرزاد افزار نرم 75اصول
Association
در اين ارتباط اجتماعي از كالسها وجود دارد. هر اجتماعداراي يك نام است. براي مثال مسئول ثبت نام در ارتباط
ثبت نام قراردارد. پس نام ارتباط كنترل كنترل با تعرفهاست.
( براي هر اجتماع نقشroleتعيين مي كنيم. مسئول ) ثبتنام درنقش كنترل كننده و تعرفه ثبت نام در نقش كنترل
دارد شونده قرار
براي هر اجتماع تعداد را نيز مشخص مي كنيم. براي نمونهيك كنترل كننده ممكن است چند تعرفه ثبت نام را كنترل
نمايد
در اجتماع، جهت آن نيز مهم است. براي مثال از طرفكنترل كننده به طرف تعرفه ثبت نام.
![Page 76: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/76.jpg)
کیانی - فرزاد افزار نرم 76اصول
Association انواع
(1 is a kind of .نوعي است از :
� انسان نوعي حيوان است. مثال
(2is a part of .قسمتي است از :
� موتور قسمتي از اتومبيل است. مثال
)3 dependency .وابستگي :
وجود كالسي وابسته به كالس ديگر است.
(1Aggregation کالسي تشکيل شده از چند کالس از يک کالس : ديگر
انسان
حيوان
موتور
اتومبيل
دانشجودانشگاه
جنس
محموله
![Page 77: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/77.jpg)
کیانی - فرزاد افزار نرم 77اصول
دياگرام هاي مورد بحث
( دياگرام توالي Sequence Diagram)
( دياگرام همکاري Collaboration Diagram)
( دياگرام فعاليت Activity Diagram)
( دياگرام حالت State Diagram)
( کالس دياگرام Class Diagram)
تمام دياگرامهاي مطرح شده در اين قسمت در پروژه ها نکته :بايستي رعايت شوند .
![Page 78: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/78.jpg)
کیانی - فرزاد افزار نرم 78اصول
(Interaction Diagramدياگرام هاي تعامل )
ها هستند ) منظور از محقق U.Cابزاري براي به تحقق رساندن شدن مورد استفاده ، ارائه امکاناتي است تا مورد استفاده ، قابل
اجرا روي کامپيوتر باشد ( .
انواع دياگرامهاي تعامل
- دياگرام توالي 1
- دياگرام همکاري2
شروع عمليات از معموال : در ترسيم دياگرامهاي تعامل ، نکته اکتور است
![Page 79: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/79.jpg)
کیانی - فرزاد افزار نرم 79اصول
دياگرام توالي
،اين دياگرام دنباله اي از فراخوانيهايي است كه از طريق آنهاU.Cبه تحقق مي پيوندد
بازيگر
فرم رابط
مركز كنترل
پرونده
ت الح(
نهمو
ني
التو
م را
اگدي
ي(كل
ت الح(
نهمو
ني
التو
م را
اگدي
ي(كل
تقاضاي نمايش داده خواندن داده
خواندن دادهكنترل داده
ارسال داده جزئيات
![Page 80: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/80.jpg)
کیانی - فرزاد افزار نرم 80اصول
: شكل بيانگر اينست كه
دياگرام مربوط به نمايش جزئيات يك پرونده است. همانطور كهمشاهده كرديد، كاربر در مقابل كامپيوتر قرارمي گيرد. فرم رابط كه
است، براي وي نمايش داده مي Boundary classكالسي از نوع نمايش داده را بصورت انتخاب يك گزينه از فرم شود. كاربر تقاضاي
به كالس فرم ارسال مي كند.
در دنياي واقعي عمل كنترل عمليات يا انجام آنها برعهده كاركناناست ولي دردنياي كامپيوتري اين نقشها برعهده »كالسهاي كنترلي«
خواندن داده به مركزكنترل داده مي شود. و است. لذا درخواستمركز كنترل درخواست را براي پرونده موردنظرارسال مي كند.
Actor .در خارج سيستم قراردارد � در سيستم كامپيوتري معموال
![Page 81: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/81.jpg)
کیانی - فرزاد افزار نرم 81اصول
دياگرام همکارياين دياگرام در نرم افزار رشنال بعد از مشخص کردن دياگرام توالي
حاصل مي شودF5، با فشردن دگمه
![Page 82: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/82.jpg)
کیانی - فرزاد افزار نرم 82اصول
کالس دياگرام
الف ( شناسايي کالسها
) چون در مرور زمان ب( تعين صفات و توابع تا حد امکانکامل تر مي شوند (
ج( شناسايي ارتباطات بين کالسها
تعيين مدوليتي ) اجباري / اختياري (
تعيين درجه چند بودن رابطه
د( شناسايي روابط خاص
رابطه ارث بري
( Aggregation رابطه کل به جزء )
(Composition رابطه ترکيب )
(Dependency رابطه وابستگي )
رابطه تحقق / ادراکي
![Page 83: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/83.jpg)
کیانی - فرزاد افزار نرم 83اصول
مثالي از کالس دياگرام
![Page 84: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/84.jpg)
کیانی - فرزاد افزار نرم 84اصول
دياگرام فعاليت
ميله Join
ميله Fork
تصميم گيري
فعاليت آغازين
فعاليت پايان
فعاليت
دياگرام حالت
فعاليت آغازين
فعاليت پايان
حالت
![Page 85: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/85.jpg)
کیانی - فرزاد افزار نرم 85اصول
ادامه دياگرام فعاليت و حالت
) طبقه بندي رويدادها در نمودار وضعيت )دياگرام حالت
Call event- رخداد فراخواني : 1
when (viy=x)- رخداد تغيير: 2
:After (time)- رخداد زماني 3
()Signal- رخداد سيگنالي: 4
هر State Diagram فقط و فقط نشان دهنده يک Object. است
، هر وقت رويدادي رخ ندهد Object در همان حالت مي ماند و انتقال ، انتقال اتوماتيک نخواهد بود
§، در دياگرام فعاليت Swim lane : ) خطوط بندي بين چندين قسمت ) دپارتمان
![Page 86: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/86.jpg)
کیانی - فرزاد افزار نرم 86اصول
مطرح شده UML 2.0دياگرمهاي اضافي که در اند
( دياگرام زمان گذاري Timing Diagram)
( دياگرام دياگرام شي ء Object Diagram)
انواع فريم ها در دياگرام توالي
( نمودار ارتباط Communication Diagram)
ترکيب دياگرام توالي و فعاليت
( دياگرام بسته Package Diagram)
( دياگرام ترکيب Composite Diagram)
![Page 87: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/87.jpg)
کیانی - فرزاد افزار نرم 87اصول
مرحله طراحي
: طراحي معماري براي سيستم مورد نظرهدف
Package ( هاsubsystem.به طريقي به هم متصلند )ها
pipeline اين نوع معماري، امكاني ايجاد كرده است كه يك : بگيرد، از خروجي keyboardقسمت به جاي اينكه ورودي را از
قسمت ديگر مي گيرد.
3اين معماري از سه اليه اليه : user interface ، application و بانك اطالعاتي تشكيل مي شود.
هراليه مستقل از اليه بااليي ساخته مي شود.� الگوي pattern در اينجا . observerها مطرح مي شوند.مثال
![Page 88: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/88.jpg)
کیانی - فرزاد افزار نرم 88اصول
ادامه مرحله طراحي
مثال برايobserver pattern:
بطور نمونه اگر مدير مي خواهد اطالعاتي را كه مشاهده مي جدا از اليه interfaceكند در قالب چارت باشد، پس بايد اليه
زيرين باشد، تا اين كار به آساني صورت گرفته و بتوان اطالعات آماري را سريع و آسان به چارت تبديل نمود.
تهيه اطالعات مربوط به اليهapplicationاست Application اين اطالعات را بايد از بانكهاي اطالعاتي مختلف بدست آورد.
هر زمان كه بخواهيم، مي توانيم بدون تغيير برنامه، تنها مزيت :در اليه مربوطه تغييرات را اعمال نماييم.
![Page 89: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/89.jpg)
کیانی - فرزاد افزار نرم 89اصول
ارائه طرح سه اليه اي
( : شامل کالسهاي باندري و Application Layer- اليه کابردي )1کنترلي
Entity( : شامل کالسهاي Business Layer- اليه کاري )2
: شامل کالسهاي آماده (Middleware Layer- اليه ميان افزار )3 .و ... مثل بسته هاي گرافيکي ،بسته زبان برنامه نويسي
: در تمام طرحهاي معماري سه اليه اي ، اليه همگاني نکته(Global Layerوجود دارد )
چرا اليه بندي مي کنيم ؟معموال فرمها و کالسهاي کنترلي مرکز کار برنامه را کنترل مي کنند يعني در
برنامه ديگري از آنها نمي توان استفاده کرد
![Page 90: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/90.jpg)
کیانی - فرزاد افزار نرم 90اصول
نمايش گرافيکي معماري سه اليه اي
![Page 91: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/91.jpg)
کیانی - فرزاد افزار نرم 91اصول
کالسهاي موجود در اليه کاربردي
![Page 92: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/92.jpg)
کیانی - فرزاد افزار نرم 92اصول
کالسهاي موجود در اليه کاري
کالسهايي بيشتر مورد استفاده قرار مي گيرند که در اليه Businessهستند
![Page 93: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/93.jpg)
کیانی - فرزاد افزار نرم 93اصول
کالسهاي موجود در اليه ميان افزار ) براي مثال (
در اليه ميان افزار ، کالسهايي قرار مي گيرند که در اليه هاي بااليي استفاده ميشوند
![Page 94: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/94.jpg)
کیانی - فرزاد افزار نرم 94اصول
ديدگاه قطعات بعد از اتمام کار طراحي ، وارد مرحله اي بنام ديدگاه قطعات (Component Viewمي شويم )
در ديدگاه قطعات ، شماي فيزيکي برنامه ها مشخص مي شود
هر قطعه در واقع يک فايل مجزا از برنامه را بخود تخصيص مي دهد و مجموعه اي از کالسهاست و حاوي يک ماژول يا پيمانه از
کد برنامه است
در ديدگاه قطعات ، کالسها را ازديد برنامه نويس و کد برنامه ها دسته بندي مي کنيم
در روش شي گرا ، به هرفايل ، قطعه گويند
مي بايست براي هر قطعه ، زبان برنامه نويسي را مشخص کرد
اساس تخصيص کالسها به مولفه ها ، اصول ماژوالريتي يا پيمانه بندي است
![Page 95: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/95.jpg)
کیانی - فرزاد افزار نرم 95اصول
(Modularityاصول پيمانه بندي )
- پيوستگي پيمانه اي : کليه کالسهاي درون يک ماژول ، عمليات 1مرتبط به هم دارند
) چسبندگي به هم (
2 -Modular ortogonity يک ماژول مي بايست مستقل باشد ولي از : آنجايي که در يک سيستم ، همه ماژولها به هم نياز دارند بنابرين
آنهايي که کمتر به يکديگر مرتبطند ، در ماژولهاي مجزايي قرار مي گيرند و از اينرو حداقل اتصاالت در داخل ماژولها مورد نياز است
3 -Modular Understandability: کالسهاي داخل يک ماژول ، عمل مفهومي از ديدگاه کاربر انجام مي دهند
: در حالت کلي ، منظور از قطعه ، پيمانه يا يک ماژول از برنامه استنکته
![Page 96: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/96.jpg)
کیانی - فرزاد افزار نرم 96اصول
ديدگاه قطعات
مشخص مي كنيم يك پروژه از چه فايلهايي تشكيل شده است.
ما در اصل فايلهاي برنامه را مشخص مي به عنوان Componentكنيم. در هر فايل، يك
» برنامه اصلي « مشخص مي شود. شكل برنامه اصلي بدين صورت است
قطعه معمولي به اين صورت است :
ها Taskنوع ديگر از قطعات هستند :
![Page 97: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/97.jpg)
کیانی - فرزاد افزار نرم 97اصول
Task ها قطعاتي هستند كه بصورت يك Trend به موازات برنامه. در اين مرحله هر قطعه يك فايل برنامه مي آيند دراصلي به اجرا
مي باشد.
** ديدگاه قطعات بخش نگهباني در سيستم کارت ساعت **
![Page 98: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/98.jpg)
کیانی - فرزاد افزار نرم 98اصول
نحوه کار با ديدگاه قطعات در محيط رشنال رز
براي مثال : انتخاب كنيد، تحت گزينه اي VB اگر زبان برنامه نويسي را
Realizeبنام بر روي هر R_clickليست تمامي كالسها نمايان مي گردد. با
كالس، كنيد.component ، Assignمي توانيد آن را به
)پيمانه Moduleاصل برنامه شيء گرا به ما مي گويد كه هر يا قطعه( شامل تعدادي كالس است.
در ارتباط براي هر قطعه كالسهايي را انتخاب مي كنيم كهتنگاتنگ با يكديگر باشند.
هايي است كه بسيار آبجکت« داراي نگهبانيبراي مثال، » پيمانه يكديگر را فراخواني ميكنند.
كردن كالسها به يك قطعه، ميزان همكاري كالسها Assignمعيار : نکتهبا يكديگر است.
![Page 99: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/99.jpg)
کیانی - فرزاد افزار نرم 99اصول
Deploymentديدگاه سطح بکارگيري )View(
ديدگاه سطح بکارگيري ، داراي عناصر دو وضعيتي است
(Device- سخت افزارهاي خاص )1
2 -Platform هايي که بستر خاصي دارند (Environment ٍExecution )
تمام عناصر را با مکعب هاي مستطيلي نشان مي دهند
![Page 100: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/100.jpg)
کیانی - فرزاد افزار نرم 100اصول
مثالي از نمودار بکارگيري
![Page 101: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/101.jpg)
کیانی - فرزاد افزار نرم 101اصول
خالصه عملکرد مکانيزه کردن يک سيستم
- شناخت سيستم وشناسايي نيازها1
- تعريف قابليتهاي مورد نظر براي نرم افزار آتي2
ها براي تعيين قابليتهاU.C- استفاده از 3
U.C- بيان سناريو براي هر 4
U.C و تعيين کالسها و متودهاي مرتبط با U.C- تحقق 4
- استفاده از ديدگاه مولفه گرايي 5
– پياده سازي سيستم تحليل شده6
![Page 102: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/102.jpg)
کیانی - فرزاد افزار نرم اصول 102
بخش دوم درس اصول نرم افزار
مدلسازي کسب و کار (Business Modeling)
Email: [email protected]
![Page 103: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/103.jpg)
کیانی - فرزاد افزار نرم 103اصول
(Business Modelingمدلسازي کسب و کار)
مدلسازي کسب و کار اولين قدم در توليد نرم افزارهاي مکانيزه باشد Business Expertاست و براي اين مدل ، يک سيستم بايستي
(E-business)
اين طرح توسط RUP ايجاد شده است براي همين چرخه حيات RUPاوليه را مرور دوباره اي مي کنيم شناخت تشريح ايجاد تحول
توسعه
نيازكاري تعيين
لوليه قدم قدم قدم قدم قدم قدم قدم قدم 1# 2# n# 1+n# 1+m# 2+n# m#
نياز وتبديل تفهيم
وتحليل تجزيه
سازي پياده
آزمون
تغييرات كنترل
عملياتي محيط تعيين
![Page 104: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/104.jpg)
کیانی - فرزاد افزار نرم 104اصول
UMLمدلسازي در
Business Modelingمراحل
(Business Goal Modeling- مدلسازي اهداف حرفه )1
Business Resource- مدلسازي منابع حرفه )2 Modeling)
Business Roles- مدلسازي نقشهاي حرفه )3 Modeling)
(Business Rules Modeling- مدلسازي قواعد حرفه )4
Business Process) - مدلسازي فرايند حرفه5 Modeling)
![Page 105: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/105.jpg)
کیانی - فرزاد افزار نرم 105اصول
مدلسازي اهداف حرفه
اهداف شامل کسب سود و به طريقه
درختي است
![Page 106: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/106.jpg)
کیانی - فرزاد افزار نرم 106اصول
ادامه مدلسازي اهداف حرفه
حالتهاي اهداف
- تامين هدف1
- عدم تامين 2هدف
- وضعيت 3U نامعلوم
نامعلوم به سمت مثبتU+
نامعلوم به سمت منفي U- + برخي اهداف همديگر را تقويت مي کنند
++ برخي اهداف به شدت همديگر را تقويت مي کنند
- برخي اهداف همديگر را تضعيف مي کنند
-- برخي اهداف به شدت همديگر را تقويت مي کنند
* برخي اهداف با همديگر تضاد دارند
برخي اهداف AND و OR دارند
![Page 107: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/107.jpg)
کیانی - فرزاد افزار نرم 107اصول
+ ++ - -- U
U+ U- X U
X U- U U+ U+ U
* U U U U U
U U U U U U
استفاده از روش چانگ براي بررسي تاثير مقادير يالها در نتيجه
![Page 108: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/108.jpg)
کیانی - فرزاد افزار نرم 108اصول
استفاده از روش چانگ براي بررسي تاثير مقادير گره ها بر هم
U X
*
U U X
X * X X
![Page 109: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/109.jpg)
کیانی - فرزاد افزار نرم 109اصول
سرعت رشد حالتهاي اهداف
U <=
X <
X <= *
+ U
- U
Max کردن گره ها ، OR و موقع Min کردن گره ها ، ANDموقع گيري مي کنيم
![Page 110: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/110.jpg)
کیانی - فرزاد افزار نرم 110اصول
منبع مدلسازي منابع حرفه حرفه
منبع فيزيکي
منبع انتزاعي
منابع انساني
ساير منابع فيزيکي
منابع اطالعاتي
منابع غير اطالعاتي
دانش فني
ISAاعتبار
انرژي
Goal-will
Brand
Patent
ماشين آالت
مواد مصرفي
محل
مواد اوليه
نشان مي Class Diagram ، اين نوع مدلسازي را با UML : در نکتهدهند
![Page 111: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/111.jpg)
کیانی - فرزاد افزار نرم 111اصول
مدلسازي قواعد حرفه قواعد حرفه
قيود اشتقاقي
قيود قيودوجودي
قواعد استنتاجي
قواعد محاسباتي
قواعد ساختاري
قواعد رفتاري
قواعد محرک و عکس و
العمل
![Page 112: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/112.jpg)
کیانی - فرزاد افزار نرم 112اصول
: قواعدي که از قوانين کلي مشتق شده اندقواعد اشتقاقي
: قاعده را در ساختار ، به صورت استاتيک قرار قواعد ساختاريمي دهيم
*** در اين قاعده ، موقع رخ دادن حادثه اي بايد قبل و بعد آن مشخص شود ***
: تک گزينه اي است زيرا هميشه يک رفتار مورد قاعده رفتاريبحث است
: چند گزينه اي است زيرا شامل قاعده محرک و عکس العملچندين رفتار است
، حکم مي کندObject : به وجود آمدن يک قواعد وجودي
ادامه مدلسازي قواعد حرفه
![Page 113: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/113.jpg)
کیانی - فرزاد افزار نرم 113اصول
ادامه مدلسازي قواعد حرفه
OCLاين قاعده ، با زبانهاي فرمال بحث مي شود ) زبان (OMGمحصول شرکت
:OCL (Object Constant Language)آشنايي مختصر با
مانند عملگرهاي ياء منطقي ، مساوي ، - اپراتورهاي ساده : 1 بزرگتر و ....
خروجي ابن توابع به صورت - توابع پيچيده )مجموعه اي ( : 2 زير است
Collection
SetBAG Sequence
![Page 114: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/114.jpg)
کیانی - فرزاد افزار نرم 114اصول
Ruleنحوه نوشتن
ادامه مدلسازي قواعد حرفه
Context ) نام قاعده نام حوزه ) کالس inv :
% 5هزار باشد، 10- چنانچه مجموع سفارش بيش از 1مثال : قاعده تخفيف لحاظ خواهد شد
Context Order Myrule1 inv :
if or_sum>10000 then or_Dis=or_sum*.05
![Page 115: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/115.jpg)
کیانی - فرزاد افزار نرم 115اصول
مدلسازي نقشهاي حرفه
دسته بندي نقشها بر اساس تشابه بهم
دسته بندي نقشها بر اساس همگرايي نام
نقشتمام توابعي که توسط اين نقش ايجاد شده ، نوشته ميشود
: تمرکز و يکجا بودن توابع ، حل شدن مشکل اول ، مزيتفهميدن وظايف هر نقش
هايي اين نقش در آنها مشارکت دارند را ترسيم مي U.Cتمامي کنيم
: در يک فرايند مستمر کار مي کند ، فهميدن وظيفه مزيتاکتورها از ديدهم ، همکاري بين اکتورها ) نقشها (
هر نوع توضيح گرافيکي يا متني براي فهم
بيششتر
نشان Package Diagram ، اين نوع مدلسازي را با UML : در نکتهمي دهند
![Page 116: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/116.jpg)
کیانی - فرزاد افزار نرم 116اصول
مدلسازي فرايند حرفه
نقطه مرکزي مدلسازي UML و مراحل B.M ، BPM است
اين مدلسازي ، پيوند دهنده تمامي مدلسازي هاي ديگر B.M است
نتيجه مدلسازي فرايند حرفه
1 -Business Process Improvement( BPI)توسعه فرايند
تغيير فرايندهاي سازمان به سمت بهبود
: عيب : کم هزينه ، ريسک پايين مزيتزمان اجراي طوالني
2 -Business Process Reengineering Service (BPR)
تغيير کامل و اساسي در جهت ساخت جديد
: عيب : تغييرات اساسي )انقالب ( مزيتبسيار پر هزينه و ريسک آور
![Page 117: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/117.jpg)
کیانی - فرزاد افزار نرم 117اصول
ديدگاه جزئي روي هر فرايند حرفه
![Page 118: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/118.jpg)
کیانی - فرزاد افزار نرم 118اصول
ارتباط اجزاي مدلسازي به يکديگر
ادامه مدلسازي فرايند حرفه
![Page 119: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/119.jpg)
کیانی - فرزاد افزار نرم اصول 119
بخش سوم درس اصول نرم افزار
آزمون نرم افزاري
rُSoftware Testing
Email: [email protected]
![Page 120: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/120.jpg)
کیانی - فرزاد افزار نرم 120اصول
(Software Testingآزمون نرم افزاري (§
هيج نرم افزاري Bug Free يا Error Freeنيست
آزمون نرم افزاري
تکنيکهاي مبتني بر رهيافت White Box
تکنيکهاي مبتني بر رهيافت Black Box
آزمون مسيرهاي پايه
تست شرط
تست حلقه
افرازهايي به مجموعه معادل
تحليل مقادير مرزي
آزمون مقايسه اي
![Page 121: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/121.jpg)
کیانی - فرزاد افزار نرم 121اصول
White Box کليه اجزاي سيستم با تمامي جزئيات آن قابل مشاهده : است
Black Box به کل سيستم دسترسي نيست )اکثر سيستمهاي : TV )امروزي مثل
(Software Testingآزمون نرم افزاري (§
Blackعلت استفاده از Box
نياز به تخصص باال براي تست جعبه سفيد
سريع نبودن عمل تست در جعبه سفيد
نياز به صرف هزينه باال براي جعبه سفيد
![Page 122: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/122.jpg)
کیانی - فرزاد افزار نرم 122اصول
Whiteتکنيکهاي مبتني بر رهيافت Box
آزمون مسيرهاي پايه
- تبديل کد برنامه به گراف پيچيدگي1
بعد از تبديل : تعيين يا محاسبه تعداد مسيرهاي پايه- 2 گراف ، بايد تعداد مسيرهاي پايه را پيدا کنيم
توالي
Do/While
If / Else
| تعداد گره – =الف( تعداد مسيرهاي پايه 2تعدا يال | +
گره هاي تعداد =ب( تعداد مسيرهاي پايه 1 + شرطي
تعداد مسيرهاي =ج( تعداد مسيرهاي پايه 1بسته +
گره هايي که بيش از يک يال ازآنها خارج شده باشد
![Page 123: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/123.jpg)
کیانی - فرزاد افزار نرم 123اصول
شروع از گره آغازين : - مشخص کردن آدرس مسيرهاي پايه3و با استفاده از مسيرهاي مستقل ، تا به گره پاياني برسيم
: مسيري است که در آن حداقل يک يال وجود دارد که مسير مستقلقبال پيمايش نشده است
(Test Case )- تدوين برنامه تست4
Whiteتکنيکهاي مبتني بر رهيافت Box
ادامه آزمون مسيرهاي پايه
![Page 124: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/124.jpg)
کیانی - فرزاد افزار نرم 124اصول
White Boxتکنيکهاي مبتني بر رهيافت
Testدر شرطها بخصوص شرطهاي مرکب ، بايد : تست شرطCase به صورتي نوشته شود که الزاما تمامي اجزاي شرط مرکب چک
شود و بعد آن داخل شرط شود
تست حلقه :
- حلقه هاي ساده1
- حلقه هاي مرکب2
حلقه هاي متصل
حلقه هاي تودرتو
حلقه هاي نامنظم نيمه ساخت يافته
![Page 125: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/125.jpg)
کیانی - فرزاد افزار نرم 125اصول
ادامه تست حلقه :
: زنجيره اي از حلقه هاي ساده استآزمون حلقه هاي متصل
: اين حلقه ها دو مشکل دارندآزمون حلقه هاي تودرتو
- تعداد تکرارها بخصوص براي حلقه هاي داخلي ميتواند بسار 1 زياد باشد
- حلقه ها به يکديگر وابسته اند2
: هيچ ساختار آزمون حلقه هاي نامنظم نيمه ساخت يافتهمشخصي ندارند و ناشي از عدم مهارت طراح مي باشد ) دستور
Go to)
حلقه هاي متصل
حلقه هاي تودرتو
حلقه هاي نامنظم نيمه ساخت يافته
![Page 126: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/126.jpg)
کیانی - فرزاد افزار نرم 126اصول
Blackتکنيکهاي مبتني بر رهيافت Box
گروه تقسيم 4 : همه وروديها به افراز به مجموعه هاي معادلمي شوند
1 -set {a1,a1,…,an}
2 -Range[ a…b]
3 -Value {a}
4 -Boolean {T,F}
: در مواردي که وروديها عدد هستند تحليل مقادير مرزي) رقمي ( ، کاربرد دارد
: تست دقيق نمونه و مقايسه ساير نمونه ها آزمون مقايسه ايبا آن
![Page 127: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/127.jpg)
کیانی - فرزاد افزار نرم 127اصول
آزمون نرم افزارهاي شي ء گرا
( ساخت يافتهTop-Down)( شي گرا Bottom-Up)
بعضي روشها ، نرم افزارهاي آماده را اندازه گيري نرم افزار : و برخي ، مراحل توليد نرم افزار را اندازه گيري مي کنيد
تکنيک هاي اندازه گيري(Qualitative -اندازه گيري کيفي ) 1 ) Quantity-اندازه گيري کمي )2
![Page 128: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/128.jpg)
کیانی - فرزاد افزار نرم 128اصول
FURPS) يک روش براي اندازه گيري نرم افزار (
1 -Functionality :بررسي ميزان در حال استفاده بودن نرم افزار
2 -Usabilityبررسي ميزان سادگي کار با نرم افزار :
3 -Reliability : بررسي ميزان اطمينان و تحمل پذيري خطاي نرمافزار
4 -Performance : بررسي ميزان مقرون به صرفه بودن و قابليتگذردهي نرم افزار
5 -Supportability : بررسي ميزان نگهداري و پشتيباني بررسي ميزان
![Page 129: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/129.jpg)
کیانی - فرزاد افزار نرم 129اصول
Function Point( Object Point) روش
براي مقايسه دو مدل تحليل بکار مي رود
پارامترهاي قابل اندازه گيري در
مدل تحليل
(Form- تعداد ورودي ها از کاربر )1
(Report- تعداد خروجي ها به کاربر )2
(File- تعداد فايلها يا انباره هاي داده )3
(Query- تعداد پرس و جوهاي کاربر )4
(Interface- تعداد واسطهاي کاربر )5
ميزان پيچيدگي
- ساده1
- متوسط2
- پيچيده3
![Page 130: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/130.jpg)
کیانی - فرزاد افزار نرم 130اصول
پارامتر تعداد ساده متوسط
پيچيده مجموع
Form 3 3 4 6 12
Report 4 4 5 7 16
File 3 3 4 6 12
Query 5 7 10 15 50
Interface 3 5 7 10 30
Count Total : 120
Function Point( Object Point) روش
![Page 131: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/131.jpg)
کیانی - فرزاد افزار نرم 131اصول
FP= Count Total * ( 0.65 + 0.01 * F(i)) i=1 to 14
کمتر ، پيچيدگي کمتر و در نتيجه مدل تحليلي ساده و FPهرچه بهتر خواهد بود
Function Point( Object Point) روش
اندازه گيري و مقايسه در مدل
طراحي
Fenton- روش 1
Card & Glass - روش 2
DSQI- روش 3
![Page 132: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/132.jpg)
کیانی - فرزاد افزار نرم 132اصول
Fentonروش
مبتني بر شکل شناسي است
اندازه هر طرح را برابر سايز آن طرح مي گيرد
اين روش ساده است ولي زياد دقيق نيست
سيستم از تعدادي ماژول تشکيل شده است
Size = تعداد گره ها + تعدادلينک ها
Size = 5+4
![Page 133: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/133.jpg)
کیانی - فرزاد افزار نرم 133اصول
Card & Glassروش
Fout خروجي ماژول( : تعداد ماژولهايي است که از آن استفاده( مي کنند
پيچيدگي يک سيستم ، فرايندي از مجموع ماژولهاست
Cs= C(i) i=1 to m
C(i)=S(i) + D(i)
S(i)= Fout ^ 2
D(i)= V(i) * ( Fout + 1 )
S(i)پيچيدگي ساختاري : D(i)پيچيدگي داده اي : V(i) تعداد ماژولهايي که بين ماژولهاي :
ديگر و خود ماژول رد و بدل مي شود
![Page 134: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/134.jpg)
کیانی - فرزاد افزار نرم 134اصول
DSQIروش 7 ، پارامتر 6 مورد در طرح محاسبه مي شود و از روي آنها
بدست مي آيد
S1تعداد ماژولهاي تعريف شده در معماري سيستم :
S2 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ديگر : است و يا ماژولهاي ديگر از خروجي آنها استفاده مي کنند
S3 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ماقبل : خودشان است
²§S4)تعدا عناصر پايگاه داده ) با تکرار :
S5 تعداد عناصر منحصر بفرد پايگاه داده :
S6تعداد ماژولهايي که فقط يک نقطه ورود و خروج دارند :
S1….S6
D1….D7
![Page 135: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/135.jpg)
کیانی - فرزاد افزار نرم 135اصول
DSQIروش
تا D1محاسبه D6 :
D1= D2 = 1 – ( S2 / S1 ) اگر متودولوژي طراحي نداشته 0
باشيم
اگر متودولوژي طراحي داشته 1باشيم
D3 = 1 – ( S3 / S1 )
D4 = 1 – ( S5 / S4 )
D5 = 1 – ( S6 / S4 )
D6 = 1 – ( S7 / S1 )
![Page 136: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/136.jpg)
کیانی - فرزاد افزار نرم 136اصول
روش اندازه گيري کد نرم افزار
روش : Line of code- روش 1 قديمي
Halstead- روش 2
N1 : تعدا کلOperatorها
N2 تعداد کل : Operandها
n1 تعداد : operator هاي غيرتکراري
n2 : تعدادoperand هاي غيرتکراري
V ( حجم برنامه : Volume)
N = n1 * ln(n1) + n2 * ln(n2)
V = N * ln(n1+n2)
![Page 137: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/137.jpg)
کیانی - فرزاد افزار نرم 137اصول
روش اندازه گيري کد نرم افزار
SMI (Software - روش شاخص بلوغ نرم افزار )3Maturity Index))
SMI = (M(t) - ( F(a) +F(b) + F(d)) / M(t) 0 <= SMI
F(a)تعداد ماژولهايي که نسبت به نگاشت قبلي اضافه شده اند :
F(b)تعداد ماژولهايي که نسبت به نگاشت قبلي تغيير يافته اند :
F(d) تعداد ماژولهايي که نسبت به نگاشت قبلي حذف شده اند :
M(t) تعداد کل ماژولها :
If SMI = 1 then F(a) = F(b) = F(d) =0 نکته :
![Page 138: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/138.jpg)
کیانی - فرزاد افزار نرم اصول 138
بخش چهارم درس اصول نرم افزار
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
Email: [email protected]
![Page 139: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/139.jpg)
کیانی - فرزاد افزار نرم 139اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
اکتورها :
![Page 140: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/140.jpg)
کیانی - فرزاد افزار نرم 140اصول
توضيحات Actorنام
کاربري که بعد از خواندن راهنماي برنامه در سيستم ثبت نام کرده است و سوابق او در سيستم ذخيره شده و از طرف سيستم
رمز ورورد دريافت کرده است و به او يک شماره کاربري داده دشده است که اين کاربر مي تواند دانشجو مدير ويا استاد باش
User
کاربر به عنوان دانشجو در سيستم ثبت نام کرده است و مي تواند با گرفتن مجوز در آزمون الکترونيکي مذبور شرکت نمايد
Student
کاربر به عنوان مدير در سيستم ثبت نام کرده است و بعد از تعريف دروس و اساتيد مربوطه به اساتيد مجوز طرح سوال را
مي دهد
Manager
کاربر به عنوان استاد در سيستم ثبت نام کرده است و در يک درس خاص سوال طرح مي کند و به دانشجويان متقاضي
مجوز امتحان مي دهد
Teacher
Use case Modeling Guidelines
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
![Page 141: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/141.jpg)
کیانی - فرزاد افزار نرم 141اصول
Use case Modeling Guidelines
توضيحات use caseنام
در اين قسمت هر يک از کاربران با کد کاربري خود وارد قسمت مربوطه خودشان ميشوند
Sign In
در اين قسمت هر يک از کاربران با کد کاربري خود از آن خارج مي شوند
Sign Out
در اين قسمت از طرف استاد يک مجوز براي دادن امتحان دانشجو صادر ميشود تا دانشجو بتواند در امتحان شرکت کند
Permission
در اين قسمت دانشجو ميتواند بعد از گرفتن مجوز بر حسب رشته تحصيلي خود امتحان ده
Examination
در اين قسمت هردانشجو استفاده کننده از سيستم ثبت نام ميکند و داده مي شودUser _ passwordبه وي يک
Register
در اين قسمت استاد سواالي را بر اساس رشته تخصصي خود طرح صورت :سخت-آسان و متوسط 3مي کند که اين سواالت به
طبقه بندي شده اند و همچنين همراه هر سوال کليد و منبع آن را نيز درج مي کند
Question
Define Lesson مورد نظر استدروساين قسمت شامل تعريف
اين قسمت شامل تعريف استادهاي مورد نظر است Define Teacher
![Page 142: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/142.jpg)
کیانی - فرزاد افزار نرم 142اصول
: )بر اساس اولويت نيازها(نيازهاي عملياتي دانشجو
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت شرکت در آزمون را داشته باشد2 - سيستم بايد قابليت درخواست مجوز براي شركت در آزمون 3
را داشته باشد- سيستم بايد قابليت انتخاب رشته و درس امتحاني را داشته 4
باشد- سيستم بايد قابليت نمايش كارنامه را داشته باشد5 - سيستم بايد قابليت نمايش نتيجه آزمون به همراه كليد و 6
سطح سواالت را داشته باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد7
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
![Page 143: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/143.jpg)
کیانی - فرزاد افزار نرم 143اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
)بر اساس اولويت نيازها(نيازهاي عملياتي استاد :
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت انتخاب درس و رشته جهت طرح سواالت 2
را داشته باشد- سيستم بايد قابليت طرح بانك سواالت را داشته باشد3 - سيستم بايد قابليت دادن مجوز براي شركت در آزمون را 4
داشته باشد- سيستم بايد قابليت نمايش نتيجه آزمون را داشته باشد5 - سيستم بايد قابليت دسترسي به ايميل را داشته باشد6
![Page 144: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/144.jpg)
کیانی - فرزاد افزار نرم 144اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
)بر اساس اولويت نيازها(نيازهاي عملياتي مدير :
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت تعريف دروس را داشته باشد2 - سيستم بايد قابليت تعريف استاد براي هر درس را داشته 3
باشد- سيستم بايد قابليت نمايش نتيجه آزمون دانشجويان را داشته 4
باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد5
![Page 145: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/145.jpg)
کیانی - فرزاد افزار نرم 145اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
نيازهاي کيفي دانشجورابط سيستم بايد با صفحه كليد و ماوس قابل استفاده
باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل باشد اجرا
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
تحمل خطا سيستم بايد زمان شروع و مدت آزمون را محاسبه كند
زمان پاسخگويي
سيستم بايد در پنج ثانيه کارنامه را صادر كند
زمان پاسخگويي
سيستم بايد در صورت بسته نشدن صفحه آزمون دقيقه صفحه را ببندد5حدکثر تا
زمان پاسخگويي
سيستم بايد در پنج ثانيه اطالعات دانشجو را ثبتكند
![Page 146: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/146.jpg)
کیانی - فرزاد افزار نرم 146اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
مدير نيازهاي کيفي
زمان پاسخگويي
سيستم بايد در پنج ثانيه مجوز را صادر كند
رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
زمان پاسخگويي
سيستم بايد در پنج ثانيه کارنامه را صادر كند
![Page 147: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/147.jpg)
کیانی - فرزاد افزار نرم 147اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
استاد نيازهاي کيفي
رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
زمان پاسخگويي
نج ثانيه انجام دهد1سيستم بايد معرفي دانشجو را در
![Page 148: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/148.jpg)
کیانی - فرزاد افزار نرم 148اصول
- احتمال اينکه در طول پروژه ، هارد کامپيوتر خراب شود و يا اينکه 1ريسک هاي احتمالي در طول پروژه شود پس بعد از اتمام هر کار از پروژه Deleteتوسط افراد ديگر
يک نسخه پشتيبان تهيه مي شود .
- احتمال اينکه يکي از افراد پروژه به داليلي نتواند وظيفه اش را 2انجام دهد پس در اولين فرصت وظيفه او را بين اعضاي ديگر تقسيم
مي کنيم تا لطمه اي به اتمام پروژه وارد نشود .
- بعد از اتمام هر کار در مورد پروژه روي کامپيوتر حتما آن را 3ذخيره مي کنيم تا اگر برق قطع شود از بين نرود.
- اگر يکي از افراد به داليلي بخواهد به سفر برود وظايف او را در 4اولويت کار قرار مي دهيم .
- در هر مرحله انجام پروژه ، گزارش گيري مي کنيم و با توجه به 5پيشرفت روند پروژه در صورت لزوم جهت تمديد مدت تحويل به
کارفرما اعالم نماييم.
- هنگام اعالن وقت تحويل پروژه چند روزي براي احتياط اضافه 6اعالم مي کنيم.
![Page 149: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/149.jpg)
کیانی - فرزاد افزار نرم 149اصول
برآورد کلي هزينه و زمان
ماه در نسخه هاي آلفا و بتا تهيه 3اين پروژه بصورت کامل در مدت مي شود و براي آزمايش به مدير پروژه تحويل داده مي شود و مدت
.مرحله بعدي پروژه با توجه به تغييرات بعدي اعالم مي شود
بصورتي که ما در بين گروه خود در مورد تحويل دو فاز پروژه تقسيم . روز به اتمام خواهد رسيد10کار نموده ايم اين دو فاز در مدت
در بازار امروز ، تيم مهندسي ما اين پروژه را به قيمت حدود ريال تحويل کارفرما مي دهد . ابتدا تمامي آموزش هاي 5000000
الزم در مورد نحوه کارکرد اين برنامه ، توسط تيم بصورت رايگان .انجام خواهد شد
![Page 150: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/150.jpg)
کیانی - فرزاد افزار نرم 150اصول
U.C.D:
![Page 151: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/151.jpg)
کیانی - فرزاد افزار نرم 151اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکيشرکت سناريو : در آزمون
- سيستم فرم را نمايش مي دهد2 - دانشجو بعد از وارد شدن به سيستم 1درخواست نمايش فرم ثبت نام مي كند
- سيستم به دانشجو يك اسم کاربري و رمز 4عبور مي دهد
- دانشجو اطالعات خود را در اين سيستم وارد 3مي كند
- سيستم مجوز شركت در آزمون را مي دهد6 - دانشجو براي شركت در آزمون نام کاربري و 5رمز عبور را وارد مي كند
- سيستم سواالت را نمايش مي دهد 7
- سيستم زمان پاسخگوئي را در نظر مي گيرد8
- سيستم اعالم پايان زمان پاسخگوئي را مي 10دهد
- دانشجو سواالت را مشاهده مي كند و به آنها 9پاسخ مي دهد
- سيستم نتيجه را همراه با كليد سواالت 12نمايش مي دهد
- دانشجو در خواست نتيجه آزمون و كليد 11سواالت را مي دهد
- سيستم بسته مي شود14 - دانشجو از سيستم خارج مي شود13
![Page 152: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/152.jpg)
کیانی - فرزاد افزار نرم 152اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
دياگرام توالي مورد استفاده تعريف درس / استاد
![Page 153: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/153.jpg)
کیانی - فرزاد افزار نرم 153اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
دياگرام همکاري مورد استفاده تعريف درس / استاد
![Page 154: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/154.jpg)
کیانی - فرزاد افزار نرم 154اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
کالس دياگرام مورد استفاده مجوز شرکت در آزمون
![Page 155: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/155.jpg)
کیانی - فرزاد افزار نرم 155اصول
مدل ارتباطي کالسها براي مجوز طراحي سواالت
![Page 156: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/156.jpg)
کیانی - فرزاد افزار نرم 156اصول
Glossaryتوضيح نام لغت
نام كاربري كه از طرف سيستم به كاربران اختصاص داده مي شود. User Name
رمزي كه كاربر براي وارد شدن به سيستم از طرف سيستم دريافت مي كند. Password
سيستم در هنگام ثبت نام كاربران به هر يك از آنها شماره كاربري جهت دسترسي به سوابق كاربران اختصاص مي دهد.
شماره كاربري
تا سوال بصورت رندم انتخاب 200 تا سوال بصورت چهار گزينه اي كه از 20همان ورقه حاوي شده و دانشجو به آنها پاسخ مي دهد و پس از اتمام وقت آزمون نمره و نتيجه آزمون به نمايش
در مي آيد.
آزمون
اطالعاتي در مورد دانشجو كه شامل نام . نام خانوادگي . شماره كاربري . شماره درس . نام درس و نمره كسب شده و همچنين نتيجه آزمون مي باشد كه در پايگاه داده سيستم ذخيره مي
شود.
کارنامه
همان اعالم قبولي يا ردي دانشجو از طرف سيستم مي باشد. نتيجه آزمون
زماني كه براي پاسخگويي به سواالت آزمون از طرف سيستم در نظر گرفته مي شود زمان آزمون
صفحه راهنماي جامع برنامه Help
کاربر هنگام ثبت نام بايد مشخصات خود چون )نام ،نام خانوادگي ،نام پدر ،سن،محل تولد، شماره شناسنامه، شماره ملي،...( در سيستم وارد کند
اطالعات شخصي کاربر
کار بايد هنگام ثبت نام اطالعات تخصصي خود )ميزان تحصيالت، رشته تخصصي، محل تحصيل، آخرين مدرک تحصيلي و ...( را نيز وارد کند
اطالعات تخصصي کاربر
کاربر با وار کردن کلمه عبور و رمز عبور جهت استفاده از برنامه وارد سيستم ميشود Sign In
کاربر بعد از اتمام کار خود در سيستم با زدن کليدي از برنامه خارج ميشود . Sign Out
دانشجو با انتخاب گزينه صحيح سئوالت در سيستم عمل آزمون انجام ميدهد عمل آزمون
مجوز مربوطه غير فعال خواهد بود . Buttomاگر کاربر در عمليات مربوطه خود مجوز نداشته باشد
هر کاربر که در سيستم ثبت نام ميکند به او يک پست الکترونيکي تعلق مي يابد
Email کاربر
![Page 157: SW](https://reader030.fdocument.pub/reader030/viewer/2022033018/55cf92d5550346f57b99fb63/html5/thumbnails/157.jpg)
کیانی - فرزاد افزار نرم 157اصول
موفق باشيد فرزاد کياني
Thank You… Any ??
Thank You… Any ??