documentsw

157
Yazılım Sistemlerinin Analiz ve Tasarımı 1 Yazılım Mühendisliği Yrd.Doç.Dr.Farzad Kiani İstanbul Sabahattin Zaim Üniversitesi

Upload: burakizu

Post on 25-Dec-2015

26 views

Category:

Documents


0 download

DESCRIPTION

yazılım

TRANSCRIPT

Page 1: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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 7: DocumentSW

7

Sistem Analizi ve Tasarımı) )

Email: [email protected]

Page 8: DocumentSW

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: DocumentSW

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: DocumentSW

10

Software Applications

Real – time softwareBusiness softwareEngineering and scientific softwareEmbedded softwarePersonal computer softwareWeb-based softwareArtificial intelligence software

Page 11: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

38

Page 39: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

42

Page 43: DocumentSW

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: DocumentSW

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: DocumentSW

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: DocumentSW

کیانی - فرزاد افزار نرم 46اصول

دو نكته اساسي :

يا دستيسيستم جاري ممكن است : نکته از اين دو باشدتركيبي و يا كامپيوتري

سيستم آتي

جاريسيستم

شناخت نيازها

Page 47: DocumentSW

کیانی - فرزاد افزار نرم 47اصول

داليل مطالعه سيستم جاري )كنوني( : لزوم وجود برخي عملكردهاي سيستم موجود در سيستم جديد لزوم انتقال برخي اطالعات سيستم جاري به سيستم جديد انتقال مستندات سيستم جاري و استخراج الگوريتمها درصورت

مكانيزه بودن سيستم جاريدرك كلي از سازمان با مطالعه سيستم جاري انعكاس برخي از عمليات سيستم جاري در سيستم آتي لزوم درك كار افراد براي ايجاد سيستم مناسب كامپيوتري امكان مشخص كردن ميزان كارايي سيستم آتي با مطالعه

سيستم جاري

ادامه شناخت نيازها

Page 48: DocumentSW

کیانی - فرزاد افزار نرم 48اصول

نيازها

سيستم چه كاري بايد انجام دهد يا : نيازهاي عملياتي چه انتظاراتي از سيستم مي رود

تعيين : نيازهاي كيفي

چگونگي ها

نيازهاي قابل استفاده بودن

ادامه شناخت نيازها

- تحمل خطا1

- رابط2

- زمان پاسخگويي3

- محيط اجرايي4

- سهولت در 5استفاده

Page 49: DocumentSW

کیانی - فرزاد افزار نرم 49اصول

نمونه اي از نياز عملياتي

Page 50: DocumentSW

کیانی - فرزاد افزار نرم 50اصول

نمونه اي از نياز کيفي

Page 51: DocumentSW

کیانی - فرزاد افزار نرم 51اصول

روشهاي استخراج نيازها

مصاحبه - 1قبل از مصاحبه : بايد وقت مالقات و موضوع مالقات مشخص شوند

مصاحبه يك اتالف وقت براي مصاحبه شونده استنكته

تعيين وقت ، تعيين افراد مورد مصاحبه ، انتخاب افراد باتجربه : در مصاحبه ، ضرورري است .تعيين اهداف مصاحبه ، مصاحبه

مزيت : .ارتباط با افراد موجب مي شود آناليست پاسخگوي نيازهاي افراد باشد

آناليست ممكن است روشهاي ديگري براي ساده ترشدن كار افراد .پيشنهادكندمشکالت :

مصاحبه ها هزينه برند تنها انجام مصاحبه كافي نيست، بلكه آناليست بايد برروي نتايج كار كند و

Prototype تهيه نمايد . .مصاحبات وابسته به نقطه نظرهاي مصاحبه ـ شونده است

Page 52: DocumentSW

کیانی - فرزاد افزار نرم 52اصول

ادامه روشهاي استخراج نيازها

- مشاهده2مشاهده در ارتباط با جنبه هاي مختلف انجام يك كار مي باشد:

مدت زمان انجام وظيفه توسط فرد تعداد خطاهاي ايجادشده در طي انجام كار فرد فاكتورهاي مهم در ارتقاء كارايي فرد

مزيت : .آشنايي با روشي كه سيستم جاري با آن كار مي كند

.ميزان كارايي سيستم جاري مشخص مي شوداطالعات گردآوري شده مبتني بر آن چيزي است كه در عمل انجام مي شود نه

.آنچه كه افراد ادعا مي كنند

افراد هنگامي كه احساس كنند تحت نظر هستند، طبق روال عادي مشکالت : .رفتار نمي كنند

Page 53: DocumentSW

کیانی - فرزاد افزار نرم 53اصول

ادامه روشهاي استخراج نيازها

- ارجاع به مستندات 3 و گزارشهاي تهيه شده توسط افراد، بخصوص در هنگام Prototypeبا ارجاع به

.مصاحبه، بخش اعظمي از نيازها مشخص مي شوند

با ارجاع به اين فرمها، ميزان داده ها، فرمت داده ها و نهايتا ساختار بانكهاي .اطالعاتي و گزارشهايي كه بايد استخراج شوند، مشخص مي شود

مزيت : .حجم داده ها و اطالعات موردپردازش مشخص مي گردد

.فرمت داده ها تعيين مي گرددمشكالت و خطاهايي كه بواسطه پركردن دستي مستندات ايجاد مي گردد، تعيين

.مي شود

� تغيير كند، ممكن است اطالعاتي گردآوري مشکل : اگر قرارباشد سيستم كامال� نيازي به آنها نباشد .شود كه در آتيه اصال

Page 54: DocumentSW

کیانی - فرزاد افزار نرم 54اصول

ادامه روشهاي استخراج نيازها

پرسشنامه – 4پرسشنامه ها مجموعه اي از سؤاالت هستند كه توسط مشاورين و كساني كه با

اهداف و عملكرد دستي سيستمها آشنايي دارند، تهيه شده و در يك سازمان پخش .مي شود و جوابها مطالعه مي گردند

مزيت : .بر مبناي پاسخها نيازها مشخص مي شوند

.با استفاده از پرسشنامه ها، تعداد افراد زيادي را مي توان به كارگرفت

مشکل : .تهيه پرسشنامه نياز به تجربه زياد دارد

.عدم دريافت پاسخ به موقع از افراد

Page 55: DocumentSW

کیانی - فرزاد افزار نرم 55اصول

انواع نيازها

(Functional Requirement - نيازمنديهاي کارکردي )1

non-Functional - نيازمنديهاي غيرکارکردي )2Requirement)

نيازمنديهاي غير کارکردي اصوال در فاز تشريح مشخص ميشوند ولي گاهي در فاز ايجاد بوجود مي آيند

Page 56: DocumentSW

کیانی - فرزاد افزار نرم 56اصول

تهيه چشم اندازي از پروژه

- مقدمه 1 ( هدفObjective :).هدف كلي از مستند را براي سيستم مشخص مي كند ( دامنهScope:) ،در هنگام مشخص كردن دامنه يا حوزه عملكرد سيستم

با ارتباط خارجي تعيين مي گردد. افراد يا اشيائي كه در خارج از موجوديتهايقراردارند، مشخص مي شوند. سيستم

( مراجعReferences:) در اين بخش مستنداتي كه جهت ايجاد سيستم به آنهاارجاع مي شود، آورده مي شوند. از جمله مستندات مي توان به : مستندات

اشاره نمود. شرح وظايف سازماني، روندهاي كاري و

موقعيت - 2سيستم كامپيوتري جايگزين مشخص مي كند هنگاميكه : موقعيت كاري

ايجاد خواهدشد. سيستم جاري شد، چه شرايطي و چه تسهيالتي : در اينجا مشكل سيستم و مزاياي سيستم كامپيوتري شرح مسئله

مطرح مي شود. : در اين قسمت توضيحي درمورد شرح كاربرها و نيازهاي شرح كاربرها

آنها تهيه شده و كاربرهاي اصلي مشخص مي شوند.

Page 57: DocumentSW

کیانی - فرزاد افزار نرم 57اصول

ادامه تهيه چشم اندازي از پروژه

: در اين قسمت در قالب يك دياگرام توصيف محصول نرم افزاري- 3ازمحصولي كه بايد متن توصيفي

به مشتري تحويل داده شود، ارائه مي شود. قابليتهاي نرم افزار و ويژگيهاي آن، هزينه توليد و نكات مربوطه در

اين قسمت تعيين مي شود.

: بايد قسمتها را مشخص كرده و تعيين كرد كه براي هر قسمت هزينه ها -4در ارتباط با هزينه ها درمجموع مي بايست عمليات چه هزينه اي نياز است.هزينه انجام پروژه مشخص شود

نتيجه چشم انداز :• Business Modeling تعيين ليست نيازمنديها بر اساس سيستم جاري ••Use case هاي آتيكامل شدن نيازمنديها بر مبناي اين دو كاتالوگ •• )use case view)چه استفاده هايي ازسيستم كامپيوتري مي شود

Page 58: DocumentSW

کیانی - فرزاد افزار نرم 58اصول

(Requirement Analysisتحليل نياز )

بعد از مشخص شدن نيازها ، گام بعدي تحليل نيازهاست .

نيازها به دو طريق مشخص مي شوند

نيازهاي متمرکز بر خواسته هاي کاربر- 1

- نيازهاي متمرکز بر خواسته هاي سيستم2

. پاسخ به نيازها ، تعيين قابليتهاست

ليستي از قابلتها ، مشخص کننده موارد استفاده هستند .

: براي سنجش عملکرد سيستم تعريف بهره وري

Page 59: DocumentSW

کیانی - فرزاد افزار نرم 59اصول

(Use Case )مورد استفاده

شاخص امکاناتي هستند که سيستم کامپيوتري تعريف مورد استفاده : در اختيار اکتورهاي خود قرار مي دهد .

موجوديتي است که در تعامل با تعريف اکتور :

سيستم براي تکميل يک رويداد استثبت نام

حذف و اخذ

صدور كارنامه

تعيين برنامه آموزشي

دانشج و

مديريت دانشكده

استاد

آموزش مركزي

Page 60: DocumentSW

کیانی - فرزاد افزار نرم 60اصول

(Use Caseمورد استفاده )

يك مورداستفاده كاري شاخص يك وظيفه است كه بوسيله � اصوال به انجام مي رسد. پس مورداستفاده Business workerچند يك يا

Business workerاي است كه توسط يك كاري نمايانگر مورداستفادهمورداستفاده قرارمي گيرد

براي انجام هر وظيفه ، شرح وظيفه اي وجود دارد كه مراحلهاي كاري مي Use caseانجام كار را مشخص ميكند. پس براي انجام

توا از شرح وظايف استفاده كرد.

عملكرد سيستم براساس سرويسهايي كه فراهم مي كند، مشخصمي گردد.

هر سرويس را يك مورداستفادهactor يا يك Use Case.مي نامند

Page 61: DocumentSW

کیانی - فرزاد افزار نرم 61اصول

هر زيرسيستم ممكن است شامل چند Use Case.باشد

ممكن است يكBusiness Use case تبديل به يك � Use case مستقيماكامپيوتري شود.

Business Unit با � ها يا بسته هاي نرم افزاري Packageها معموالجايگزين مي شوند.

در دسته بندي كالسها به جاي اتالق اصطالح type ،به آنها stereotype را بكارخواهيم برد.

موارد استفاده ابزاي جهت تعيين پيامهاي ارسالي بين اجزا مي باشند

(Use Caseمورد استفاده )

Page 62: DocumentSW

کیانی - فرزاد افزار نرم 62اصول

(Use Caseمورد استفاده )

اصوال موارد استفاده نبايد در ارتباط مستقيم هم قرار گيرند

انواع ارتباطات بين موارد استفاده

ديگري است .U.C هميشه شامل U.C : نشان مي دهد که يک Include- رابطه 1

: تحت شرايط مورد استفاده اي ، عملکرد مورد استفاده ي Extended- رابطه 2ديگري را توسعه مي دهد .

بايد Extended در هر شرايطي برقرار است ولي رابطه Include: رابطه نکته داراي شرايط خاص خود باشد .

Page 63: DocumentSW

کیانی - فرزاد افزار نرم 63اصول

بررسيوضعيتدانشجو

دانشجو

(from use case)

مديرآموزش

(from use case)

تعرفه صدور

ثبتنام (from use case)

تاييد

واحد درج

<<include>>

بررسيظرفيتکالسها

<<include>>

بررسيپيشنياز (from use case)

بررسيبدهي

قبضبدهي صدور

<<include>>

<<include>>

<<include>>

<<extend>>

Use Case Diagramمثالي از

Page 64: DocumentSW

کیانی - فرزاد افزار نرم 64اصول

سناريوي موردهاي استفاده

بخشي از توصيف مورد استفاده است که نشان مي دهد که تعريف سناريو : چگونه اکتور با سيستم ارتباط برقرار مي کند

سناريو از دو قسمت تشکيل ميشود

- يک بخش رويدادي است که توسط اکتور استفاده مي شود1

– بخش ديگر شامل پاسخ سيستم به رويدادهاي ايجاد شده توسط اکتور 2

است

مراحل نوشتن سناريو

- اکتورها 3 - نوع مرئ استفاده ) فرعي ، اصلي(2- نام مورد استفاده 1 – هدف4

- موارد ديگر7- نيازهاي تحت پوشش 6 – پيش فرض و پس فرض 5

Page 65: DocumentSW

کیانی - فرزاد افزار نرم 65اصول

مي تواند فرعي يا اصلي باشد . معموال موارد نوع مورد استفاده دارند از نوع فرعي و Extended يا Includeاستفاده اي که رابطه

بقيه اصلي هستند

به U.C شرايطي است که بايد وجود داشته باشد تا پيش فرضهدف خود برسد و

شرايطي است که بعد از اجرا ايجاد ميشودپس فرض

ها پوشش دهنده کليه نيازها هستند U.C ، نيازهاي تحت پوشش اي تعيين U.Cبنابرين اگر نيازي وجود داشته باشد که براي آن

جديدي مشخص شودU.Cنشده باشد بايستي

اي ، U.C : بعد از رسم دياگرام مورد استفاده ، براي هر نکتهسناريو تهيه مي کنيم

Page 66: DocumentSW

کیانی - فرزاد افزار نرم 66اصول

مثالي از سناريو : صندوق دار و مشتري اکتور : خريد اجناس مورد استفاده

: اصلي نوع

: وجود ليست خريد پيش فرض : ثبت يک فروش و يک پرداخت هدف

: دريافت برگه رسيد پس فرض

:موارد ديگر

- در صورتي که سيستم نتواند با کد کاال کارکند ، صندوق دار از طريق 2صفحه کليد ، کد کاال را ثبت کند

- اگر کد کاال نا معتبر باشد سيستم اعالم خطا کند2

- در صورتيکه به تعداد خواسته شده کاال موجود نباشد سيستم قبول نکند2

- در صورت عدم توانايي پرداخت مشتري ، تراکنش فروش حذف شود 7

Page 67: DocumentSW

کیانی - فرزاد افزار نرم 67اصول

سيستم اکتور- مشتري در حالي که اجناس خريداري 1

شده را در دست دارد به صندوق نزديک مي شود

- سيستم با ارجاع به پرونده کاال 3قيمت آنرا مشخص و در تراکنش موقت

فروش ، اطالعات کاال را وارد ميکند

- صندوق دار بوسيله اسکنر کد کاال را 2مي خواند در صورتيکه تعداد بيش از يک

عدد باشد وارد سيستم مي کند

- سيستم کل مبلغ فروش را محاسبه 5و نمايش مي دهد

- صندوق دار براي تکميل ورود کاال 4دگمه جمع را فشار مي دهد

- صندوق دار جمع مبلغ را به مشتري 6اعالم مي کند

- سيستم سابقه فروش از تراکنش 8موقت را ثبت مي کند

- مشتري نوع پرداخت را مشخص مي 7کند

- وجه نقد - کارت اعتباري - چک

- بروز رساني موجودي انبار و تهيه 9رسيد

- صندوق دار به مشتري رسيد کاال را 10مي دهد

Page 68: DocumentSW

کیانی - فرزاد افزار نرم 68اصول

تحقق موارد با objectبراي به واقعيت پيوستن موردهاي استفاده، مي بايست تعدادي استفاده

� سرويس موردنظر يكديگر همكاري كنند و درنتيجه همكاري اينها نهايتا فراهم گردد.Actorبراي

object ها در قالبBusiness worker و Business entityمشخص شدند.

(محاوره Interaction اين )object ها با يكديگر در قالبInteraction Diagram ميسر ميگردد.

سازماندهي اينobject ها در قالبobject model يا »مدل ارتباطي كالسها« مشخص ميگردد.

براي تشخيص عملكردuse case از دياگرام فعاليت يا activity Diagram.استفاده مي شود

Page 69: DocumentSW

کیانی - فرزاد افزار نرم 69اصول

مثالي از تحقق موارد استفاده

Page 70: DocumentSW

کیانی - فرزاد افزار نرم 70اصول

کالسها بعد از نوشتن سناريو براي هر مورد استفاده ، براي به تحقق رساندن موارد

استفاده ، بايستي کالسهايي از اشياء تعريف و ايجاد کرد

اين کالسها در قالب دياگرامهايي در رشنال مطرح ميشوند که در ادامه بيان خواهند شد

براي نمونه در شرح سناريو، كلمه كاال استفاده شده است. پس كاال بعنوان مشخص مي Logical viewيك كالس در نظر گرفته شده است. كالسها در

شوند.

پس از تعيين كالسها، مي بايست براي هر كالس مسئوليتها را نيز تعيين كردو مشخص نمود كه آن كالس با چه كالسهاي ديگري همكاري مي كند تا

مسئوليتهاي خود را به انجام رساند.

در دنياي واقعي نيز وقتي قراراست سرويسي ارائه شود، افراد مشخص ميشوند و اين افراد بايد با يكديگر همكاري كنند تا سرويس موردنظر ارائه گردد.

تبديل به اين وظايف شرح وظايفي دارد و دررابطه با كالسها ،هر فرديمتدهاي كالس مي شوند.

Page 71: DocumentSW

کیانی - فرزاد افزار نرم 71اصول

CRC (Class Responsibilityبراي نمونه فرمهايي با عنوان Collaboration) آماده مي شود و بصورت زير مسئوليتهاي class

هاي وي مشخص مي شونديوهمكار

مسئوليتها نگهداري اطالعات نسخه ها در همكارهادريافت تقاضاي امانت عضو

برگشت يا امانت نسخه ها

نسخ ه

عضو كتابخانه

CRC Card (1)

ادامه کالسها

انواع کالسها :

1 -Boundary Class

2 - Control Class

3 -Entity Class

Page 72: DocumentSW

کیانی - فرزاد افزار نرم 72اصول

مدل ارتباطي كالسها را عالوه بر كارتهايCRC از � مي توان مستقيماSequence Diagram استخراج كرد. اگر در داخل كارتهاي CRC كالس A

Logical دارد، در مدل ارتباطي كالسها تحت Bهمكاري بنام كالس View مي بايست يك خط ارتباط دهنده بين كالس ، A و كالس B

Object، اگر يك Sequence Diagramترسيم شود. به همين ترتيب از روي را فراخواني كند، Bكالس از نوعObject متدي از يك Aاز داخل كالس

بين اين دو كالس يك خط واصل ارتباطي ترسيم مي شود.

براي هرuse case براساس Sequence Diagram مي توان مدل ارتباطي كالسها را ايجادكرد.

ادامه کالسها

Page 73: DocumentSW

کیانی - فرزاد افزار نرم 73اصول

مدل ارتباطي كالسها

رابطه بين كالسها

در حالت كلي رابطه بين دو كالس راassociationيا اجتماع بين دو كالس مي نامند.

رابطه بين دوobject را link.پيوند( بين اشياء مي نامند(

براي كالسها نيز درست مثل هر پست سازماني شرح وظايف تعيين

مي شود. شرح وظايف را در قالب متدهاي كالس پياده سازي مي كنند.

كالسي كه بدون پياده سازي بوده و تنها متدهاي آن تعيين شده معرفي مي شود.Abstract classباشد، بنام

Page 74: DocumentSW

کیانی - فرزاد افزار نرم 74اصول

در دنياي واقعي چارت سازماني و در دنياي شيءگرا مدل ارتباطي كالسها مطرح است.

use case سرويسي است كه قراراست به كاربر ارائه شود. اينسرويس الزمه اش تعدادي كالس است.

ها تبديل به كالسهاي كنترلي مي Business workerدر صورت نيازشوند

Business entity ها تبديل به Entity class.مي شوند

Business Entity

Entity Class

Page 75: DocumentSW

کیانی - فرزاد افزار نرم 75اصول

Association

در اين ارتباط اجتماعي از كالسها وجود دارد. هر اجتماعداراي يك نام است. براي مثال مسئول ثبت نام در ارتباط

ثبت نام قراردارد. پس نام ارتباط كنترل كنترل با تعرفهاست.

( براي هر اجتماع نقشroleتعيين مي كنيم. مسئول ) ثبتنام درنقش كنترل كننده و تعرفه ثبت نام در نقش كنترل

دارد شونده قرار

براي هر اجتماع تعداد را نيز مشخص مي كنيم. براي نمونهيك كنترل كننده ممكن است چند تعرفه ثبت نام را كنترل

نمايد

در اجتماع، جهت آن نيز مهم است. براي مثال از طرفكنترل كننده به طرف تعرفه ثبت نام.

Page 76: DocumentSW

کیانی - فرزاد افزار نرم 76اصول

Association انواع

(1 is a kind of .نوعي است از :

� انسان نوعي حيوان است. مثال

(2is a part of .قسمتي است از :

� موتور قسمتي از اتومبيل است. مثال

)3 dependency .وابستگي :

وجود كالسي وابسته به كالس ديگر است.

(1Aggregation کالسي تشکيل شده از چند کالس از يک کالس : ديگر

انسان

حيوان

موتور

اتومبيل

دانشجودانشگاه

جنس

محموله

Page 77: DocumentSW

کیانی - فرزاد افزار نرم 77اصول

دياگرام هاي مورد بحث

( دياگرام توالي Sequence Diagram)

( دياگرام همکاري Collaboration Diagram)

( دياگرام فعاليت Activity Diagram)

( دياگرام حالت State Diagram)

( کالس دياگرام Class Diagram)

تمام دياگرامهاي مطرح شده در اين قسمت در پروژه ها نکته :بايستي رعايت شوند .

Page 78: DocumentSW

کیانی - فرزاد افزار نرم 78اصول

(Interaction Diagramدياگرام هاي تعامل )

ها هستند ) منظور از محقق U.Cابزاري براي به تحقق رساندن شدن مورد استفاده ، ارائه امکاناتي است تا مورد استفاده ، قابل

اجرا روي کامپيوتر باشد ( .

انواع دياگرامهاي تعامل

- دياگرام توالي 1

- دياگرام همکاري2

شروع عمليات از معموال : در ترسيم دياگرامهاي تعامل ، نکته اکتور است

Page 79: DocumentSW

کیانی - فرزاد افزار نرم 79اصول

دياگرام توالي

،اين دياگرام دنباله اي از فراخوانيهايي است كه از طريق آنهاU.Cبه تحقق مي پيوندد

بازيگر

فرم رابط

مركز كنترل

پرونده

ت الح(

نهمو

ني

التو

م را

اگدي

ي(كل

ت الح(

نهمو

ني

التو

م را

اگدي

ي(كل

تقاضاي نمايش داده خواندن داده

خواندن دادهكنترل داده

ارسال داده جزئيات

Page 80: DocumentSW

کیانی - فرزاد افزار نرم 80اصول

: شكل بيانگر اينست كه

دياگرام مربوط به نمايش جزئيات يك پرونده است. همانطور كهمشاهده كرديد، كاربر در مقابل كامپيوتر قرارمي گيرد. فرم رابط كه

است، براي وي نمايش داده مي Boundary classكالسي از نوع نمايش داده را بصورت انتخاب يك گزينه از فرم شود. كاربر تقاضاي

به كالس فرم ارسال مي كند.

در دنياي واقعي عمل كنترل عمليات يا انجام آنها برعهده كاركناناست ولي دردنياي كامپيوتري اين نقشها برعهده »كالسهاي كنترلي«

خواندن داده به مركزكنترل داده مي شود. و است. لذا درخواستمركز كنترل درخواست را براي پرونده موردنظرارسال مي كند.

Actor .در خارج سيستم قراردارد � در سيستم كامپيوتري معموال

Page 81: DocumentSW

کیانی - فرزاد افزار نرم 81اصول

دياگرام همکارياين دياگرام در نرم افزار رشنال بعد از مشخص کردن دياگرام توالي

حاصل مي شودF5، با فشردن دگمه

Page 82: DocumentSW

کیانی - فرزاد افزار نرم 82اصول

کالس دياگرام

الف ( شناسايي کالسها

) چون در مرور زمان ب( تعين صفات و توابع تا حد امکانکامل تر مي شوند (

ج( شناسايي ارتباطات بين کالسها

تعيين مدوليتي ) اجباري / اختياري (

تعيين درجه چند بودن رابطه

د( شناسايي روابط خاص

رابطه ارث بري

( Aggregation رابطه کل به جزء )

(Composition رابطه ترکيب )

(Dependency رابطه وابستگي )

رابطه تحقق / ادراکي

Page 83: DocumentSW

کیانی - فرزاد افزار نرم 83اصول

مثالي از کالس دياگرام

Page 84: DocumentSW

کیانی - فرزاد افزار نرم 84اصول

دياگرام فعاليت

ميله Join

ميله Fork

تصميم گيري

فعاليت آغازين

فعاليت پايان

فعاليت

دياگرام حالت

فعاليت آغازين

فعاليت پايان

حالت

Page 85: DocumentSW

کیانی - فرزاد افزار نرم 85اصول

ادامه دياگرام فعاليت و حالت

) طبقه بندي رويدادها در نمودار وضعيت )دياگرام حالت

Call event- رخداد فراخواني : 1

when (viy=x)- رخداد تغيير: 2

:After (time)- رخداد زماني 3

()Signal- رخداد سيگنالي: 4

هر State Diagram فقط و فقط نشان دهنده يک Object. است

، هر وقت رويدادي رخ ندهد Object در همان حالت مي ماند و انتقال ، انتقال اتوماتيک نخواهد بود

§، در دياگرام فعاليت Swim lane : ) خطوط بندي بين چندين قسمت ) دپارتمان

Page 86: DocumentSW

کیانی - فرزاد افزار نرم 86اصول

مطرح شده UML 2.0دياگرمهاي اضافي که در اند

( دياگرام زمان گذاري Timing Diagram)

( دياگرام دياگرام شي ء Object Diagram)

انواع فريم ها در دياگرام توالي

( نمودار ارتباط Communication Diagram)

ترکيب دياگرام توالي و فعاليت

( دياگرام بسته Package Diagram)

( دياگرام ترکيب Composite Diagram)

Page 87: DocumentSW

کیانی - فرزاد افزار نرم 87اصول

مرحله طراحي

: طراحي معماري براي سيستم مورد نظرهدف

Package ( هاsubsystem.به طريقي به هم متصلند )ها

pipeline اين نوع معماري، امكاني ايجاد كرده است كه يك : بگيرد، از خروجي keyboardقسمت به جاي اينكه ورودي را از

قسمت ديگر مي گيرد.

3اين معماري از سه اليه اليه : user interface ، application و بانك اطالعاتي تشكيل مي شود.

هراليه مستقل از اليه بااليي ساخته مي شود.� الگوي pattern در اينجا . observerها مطرح مي شوند.مثال

Page 88: DocumentSW

کیانی - فرزاد افزار نرم 88اصول

ادامه مرحله طراحي

مثال برايobserver pattern:

بطور نمونه اگر مدير مي خواهد اطالعاتي را كه مشاهده مي جدا از اليه interfaceكند در قالب چارت باشد، پس بايد اليه

زيرين باشد، تا اين كار به آساني صورت گرفته و بتوان اطالعات آماري را سريع و آسان به چارت تبديل نمود.

تهيه اطالعات مربوط به اليهapplicationاست Application اين اطالعات را بايد از بانكهاي اطالعاتي مختلف بدست آورد.

هر زمان كه بخواهيم، مي توانيم بدون تغيير برنامه، تنها مزيت :در اليه مربوطه تغييرات را اعمال نماييم.

Page 89: DocumentSW

کیانی - فرزاد افزار نرم 89اصول

ارائه طرح سه اليه اي

( : شامل کالسهاي باندري و Application Layer- اليه کابردي )1کنترلي

Entity( : شامل کالسهاي Business Layer- اليه کاري )2

: شامل کالسهاي آماده (Middleware Layer- اليه ميان افزار )3 .و ... مثل بسته هاي گرافيکي ،بسته زبان برنامه نويسي

: در تمام طرحهاي معماري سه اليه اي ، اليه همگاني نکته(Global Layerوجود دارد )

چرا اليه بندي مي کنيم ؟معموال فرمها و کالسهاي کنترلي مرکز کار برنامه را کنترل مي کنند يعني در

برنامه ديگري از آنها نمي توان استفاده کرد

Page 90: DocumentSW

کیانی - فرزاد افزار نرم 90اصول

نمايش گرافيکي معماري سه اليه اي

Page 91: DocumentSW

کیانی - فرزاد افزار نرم 91اصول

کالسهاي موجود در اليه کاربردي

Page 92: DocumentSW

کیانی - فرزاد افزار نرم 92اصول

کالسهاي موجود در اليه کاري

کالسهايي بيشتر مورد استفاده قرار مي گيرند که در اليه Businessهستند

Page 93: DocumentSW

کیانی - فرزاد افزار نرم 93اصول

کالسهاي موجود در اليه ميان افزار ) براي مثال (

در اليه ميان افزار ، کالسهايي قرار مي گيرند که در اليه هاي بااليي استفاده ميشوند

Page 94: DocumentSW

کیانی - فرزاد افزار نرم 94اصول

ديدگاه قطعات بعد از اتمام کار طراحي ، وارد مرحله اي بنام ديدگاه قطعات (Component Viewمي شويم )

در ديدگاه قطعات ، شماي فيزيکي برنامه ها مشخص مي شود

هر قطعه در واقع يک فايل مجزا از برنامه را بخود تخصيص مي دهد و مجموعه اي از کالسهاست و حاوي يک ماژول يا پيمانه از

کد برنامه است

در ديدگاه قطعات ، کالسها را ازديد برنامه نويس و کد برنامه ها دسته بندي مي کنيم

در روش شي گرا ، به هرفايل ، قطعه گويند

مي بايست براي هر قطعه ، زبان برنامه نويسي را مشخص کرد

اساس تخصيص کالسها به مولفه ها ، اصول ماژوالريتي يا پيمانه بندي است

Page 95: DocumentSW

کیانی - فرزاد افزار نرم 95اصول

(Modularityاصول پيمانه بندي )

- پيوستگي پيمانه اي : کليه کالسهاي درون يک ماژول ، عمليات 1مرتبط به هم دارند

) چسبندگي به هم (

2 -Modular ortogonity يک ماژول مي بايست مستقل باشد ولي از : آنجايي که در يک سيستم ، همه ماژولها به هم نياز دارند بنابرين

آنهايي که کمتر به يکديگر مرتبطند ، در ماژولهاي مجزايي قرار مي گيرند و از اينرو حداقل اتصاالت در داخل ماژولها مورد نياز است

3 -Modular Understandability: کالسهاي داخل يک ماژول ، عمل مفهومي از ديدگاه کاربر انجام مي دهند

: در حالت کلي ، منظور از قطعه ، پيمانه يا يک ماژول از برنامه استنکته

Page 96: DocumentSW

کیانی - فرزاد افزار نرم 96اصول

ديدگاه قطعات

مشخص مي كنيم يك پروژه از چه فايلهايي تشكيل شده است.

ما در اصل فايلهاي برنامه را مشخص مي به عنوان Componentكنيم. در هر فايل، يك

» برنامه اصلي « مشخص مي شود. شكل برنامه اصلي بدين صورت است

قطعه معمولي به اين صورت است :

ها Taskنوع ديگر از قطعات هستند :

Page 97: DocumentSW

کیانی - فرزاد افزار نرم 97اصول

Task ها قطعاتي هستند كه بصورت يك Trend به موازات برنامه. در اين مرحله هر قطعه يك فايل برنامه مي آيند دراصلي به اجرا

مي باشد.

** ديدگاه قطعات بخش نگهباني در سيستم کارت ساعت **

Page 98: DocumentSW

کیانی - فرزاد افزار نرم 98اصول

نحوه کار با ديدگاه قطعات در محيط رشنال رز

براي مثال : انتخاب كنيد، تحت گزينه اي VB اگر زبان برنامه نويسي را

Realizeبنام بر روي هر R_clickليست تمامي كالسها نمايان مي گردد. با

كالس، كنيد.component ، Assignمي توانيد آن را به

)پيمانه Moduleاصل برنامه شيء گرا به ما مي گويد كه هر يا قطعه( شامل تعدادي كالس است.

در ارتباط براي هر قطعه كالسهايي را انتخاب مي كنيم كهتنگاتنگ با يكديگر باشند.

هايي است كه بسيار آبجکت« داراي نگهبانيبراي مثال، » پيمانه يكديگر را فراخواني ميكنند.

كردن كالسها به يك قطعه، ميزان همكاري كالسها Assignمعيار : نکتهبا يكديگر است.

Page 99: DocumentSW

کیانی - فرزاد افزار نرم 99اصول

Deploymentديدگاه سطح بکارگيري )View(

ديدگاه سطح بکارگيري ، داراي عناصر دو وضعيتي است

(Device- سخت افزارهاي خاص )1

2 -Platform هايي که بستر خاصي دارند (Environment ٍExecution )

تمام عناصر را با مکعب هاي مستطيلي نشان مي دهند

Page 100: DocumentSW

کیانی - فرزاد افزار نرم 100اصول

مثالي از نمودار بکارگيري

Page 101: DocumentSW

کیانی - فرزاد افزار نرم 101اصول

خالصه عملکرد مکانيزه کردن يک سيستم

- شناخت سيستم وشناسايي نيازها1

- تعريف قابليتهاي مورد نظر براي نرم افزار آتي2

ها براي تعيين قابليتهاU.C- استفاده از 3

U.C- بيان سناريو براي هر 4

U.C و تعيين کالسها و متودهاي مرتبط با U.C- تحقق 4

- استفاده از ديدگاه مولفه گرايي 5

– پياده سازي سيستم تحليل شده6

Page 102: DocumentSW

کیانی - فرزاد افزار نرم اصول 102

بخش دوم درس اصول نرم افزار

مدلسازي کسب و کار (Business Modeling)

Email: [email protected]

Page 103: DocumentSW

کیانی - فرزاد افزار نرم 103اصول

(Business Modelingمدلسازي کسب و کار)

مدلسازي کسب و کار اولين قدم در توليد نرم افزارهاي مکانيزه باشد Business Expertاست و براي اين مدل ، يک سيستم بايستي

(E-business)

اين طرح توسط RUP ايجاد شده است براي همين چرخه حيات RUPاوليه را مرور دوباره اي مي کنيم شناخت تشريح ايجاد تحول

توسعه

نيازكاري تعيين

لوليه قدم قدم قدم قدم قدم قدم قدم قدم 1# 2# n# 1+n# 1+m# 2+n# m#

نياز وتبديل تفهيم

وتحليل تجزيه

سازي پياده

آزمون

تغييرات كنترل

عملياتي محيط تعيين

Page 104: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 105اصول

مدلسازي اهداف حرفه

اهداف شامل کسب سود و به طريقه

درختي است

Page 106: DocumentSW

کیانی - فرزاد افزار نرم 106اصول

ادامه مدلسازي اهداف حرفه

حالتهاي اهداف

- تامين هدف1

- عدم تامين 2هدف

- وضعيت 3U نامعلوم

نامعلوم به سمت مثبتU+

نامعلوم به سمت منفي U- + برخي اهداف همديگر را تقويت مي کنند

++ برخي اهداف به شدت همديگر را تقويت مي کنند

- برخي اهداف همديگر را تضعيف مي کنند

-- برخي اهداف به شدت همديگر را تقويت مي کنند

* برخي اهداف با همديگر تضاد دارند

برخي اهداف AND و OR دارند

Page 107: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 108اصول

استفاده از روش چانگ براي بررسي تاثير مقادير گره ها بر هم

U X

*

U U X

X * X X

Page 109: DocumentSW

کیانی - فرزاد افزار نرم 109اصول

سرعت رشد حالتهاي اهداف

U <=

X <

X <= *

+ U

- U

Max کردن گره ها ، OR و موقع Min کردن گره ها ، ANDموقع گيري مي کنيم

Page 110: DocumentSW

کیانی - فرزاد افزار نرم 110اصول

منبع مدلسازي منابع حرفه حرفه

منبع فيزيکي

منبع انتزاعي

منابع انساني

ساير منابع فيزيکي

منابع اطالعاتي

منابع غير اطالعاتي

دانش فني

ISAاعتبار

انرژي

Goal-will

Brand

Patent

ماشين آالت

مواد مصرفي

محل

مواد اوليه

نشان مي Class Diagram ، اين نوع مدلسازي را با UML : در نکتهدهند

Page 111: DocumentSW

کیانی - فرزاد افزار نرم 111اصول

مدلسازي قواعد حرفه قواعد حرفه

قيود اشتقاقي

قيود قيودوجودي

قواعد استنتاجي

قواعد محاسباتي

قواعد ساختاري

قواعد رفتاري

قواعد محرک و عکس و

العمل

Page 112: DocumentSW

کیانی - فرزاد افزار نرم 112اصول

: قواعدي که از قوانين کلي مشتق شده اندقواعد اشتقاقي

: قاعده را در ساختار ، به صورت استاتيک قرار قواعد ساختاريمي دهيم

*** در اين قاعده ، موقع رخ دادن حادثه اي بايد قبل و بعد آن مشخص شود ***

: تک گزينه اي است زيرا هميشه يک رفتار مورد قاعده رفتاريبحث است

: چند گزينه اي است زيرا شامل قاعده محرک و عکس العملچندين رفتار است

، حکم مي کندObject : به وجود آمدن يک قواعد وجودي

ادامه مدلسازي قواعد حرفه

Page 113: DocumentSW

کیانی - فرزاد افزار نرم 113اصول

ادامه مدلسازي قواعد حرفه

OCLاين قاعده ، با زبانهاي فرمال بحث مي شود ) زبان (OMGمحصول شرکت

:OCL (Object Constant Language)آشنايي مختصر با

مانند عملگرهاي ياء منطقي ، مساوي ، - اپراتورهاي ساده : 1 بزرگتر و ....

خروجي ابن توابع به صورت - توابع پيچيده )مجموعه اي ( : 2 زير است

Collection

SetBAG Sequence

Page 114: DocumentSW

کیانی - فرزاد افزار نرم 114اصول

Ruleنحوه نوشتن

ادامه مدلسازي قواعد حرفه

Context ) نام قاعده نام حوزه ) کالس inv :

% 5هزار باشد، 10- چنانچه مجموع سفارش بيش از 1مثال : قاعده تخفيف لحاظ خواهد شد

Context Order Myrule1 inv :

if or_sum>10000 then or_Dis=or_sum*.05

Page 115: DocumentSW

کیانی - فرزاد افزار نرم 115اصول

مدلسازي نقشهاي حرفه

دسته بندي نقشها بر اساس تشابه بهم

دسته بندي نقشها بر اساس همگرايي نام

نقشتمام توابعي که توسط اين نقش ايجاد شده ، نوشته ميشود

: تمرکز و يکجا بودن توابع ، حل شدن مشکل اول ، مزيتفهميدن وظايف هر نقش

هايي اين نقش در آنها مشارکت دارند را ترسيم مي U.Cتمامي کنيم

: در يک فرايند مستمر کار مي کند ، فهميدن وظيفه مزيتاکتورها از ديدهم ، همکاري بين اکتورها ) نقشها (

هر نوع توضيح گرافيکي يا متني براي فهم

بيششتر

نشان Package Diagram ، اين نوع مدلسازي را با UML : در نکتهمي دهند

Page 116: DocumentSW

کیانی - فرزاد افزار نرم 116اصول

مدلسازي فرايند حرفه

نقطه مرکزي مدلسازي UML و مراحل B.M ، BPM است

اين مدلسازي ، پيوند دهنده تمامي مدلسازي هاي ديگر B.M است

نتيجه مدلسازي فرايند حرفه

1 -Business Process Improvement( BPI)توسعه فرايند

تغيير فرايندهاي سازمان به سمت بهبود

: عيب : کم هزينه ، ريسک پايين مزيتزمان اجراي طوالني

2 -Business Process Reengineering Service (BPR)

تغيير کامل و اساسي در جهت ساخت جديد

: عيب : تغييرات اساسي )انقالب ( مزيتبسيار پر هزينه و ريسک آور

Page 117: DocumentSW

کیانی - فرزاد افزار نرم 117اصول

ديدگاه جزئي روي هر فرايند حرفه

Page 118: DocumentSW

کیانی - فرزاد افزار نرم 118اصول

ارتباط اجزاي مدلسازي به يکديگر

ادامه مدلسازي فرايند حرفه

Page 119: DocumentSW

کیانی - فرزاد افزار نرم اصول 119

بخش سوم درس اصول نرم افزار

آزمون نرم افزاري

rُSoftware Testing

Email: [email protected]

Page 120: DocumentSW

کیانی - فرزاد افزار نرم 120اصول

(Software Testingآزمون نرم افزاري (§

هيج نرم افزاري Bug Free يا Error Freeنيست

آزمون نرم افزاري

تکنيکهاي مبتني بر رهيافت White Box

تکنيکهاي مبتني بر رهيافت Black Box

آزمون مسيرهاي پايه

تست شرط

تست حلقه

افرازهايي به مجموعه معادل

تحليل مقادير مرزي

آزمون مقايسه اي

Page 121: DocumentSW

کیانی - فرزاد افزار نرم 121اصول

White Box کليه اجزاي سيستم با تمامي جزئيات آن قابل مشاهده : است

Black Box به کل سيستم دسترسي نيست )اکثر سيستمهاي : TV )امروزي مثل

(Software Testingآزمون نرم افزاري (§

Blackعلت استفاده از Box

نياز به تخصص باال براي تست جعبه سفيد

سريع نبودن عمل تست در جعبه سفيد

نياز به صرف هزينه باال براي جعبه سفيد

Page 122: DocumentSW

کیانی - فرزاد افزار نرم 122اصول

Whiteتکنيکهاي مبتني بر رهيافت Box

آزمون مسيرهاي پايه

- تبديل کد برنامه به گراف پيچيدگي1

بعد از تبديل : تعيين يا محاسبه تعداد مسيرهاي پايه- 2 گراف ، بايد تعداد مسيرهاي پايه را پيدا کنيم

توالي

Do/While

If / Else

| تعداد گره – =الف( تعداد مسيرهاي پايه 2تعدا يال | +

گره هاي تعداد =ب( تعداد مسيرهاي پايه 1 + شرطي

تعداد مسيرهاي =ج( تعداد مسيرهاي پايه 1بسته +

گره هايي که بيش از يک يال ازآنها خارج شده باشد

Page 123: DocumentSW

کیانی - فرزاد افزار نرم 123اصول

شروع از گره آغازين : - مشخص کردن آدرس مسيرهاي پايه3و با استفاده از مسيرهاي مستقل ، تا به گره پاياني برسيم

: مسيري است که در آن حداقل يک يال وجود دارد که مسير مستقلقبال پيمايش نشده است

(Test Case )- تدوين برنامه تست4

Whiteتکنيکهاي مبتني بر رهيافت Box

ادامه آزمون مسيرهاي پايه

Page 124: DocumentSW

کیانی - فرزاد افزار نرم 124اصول

White Boxتکنيکهاي مبتني بر رهيافت

Testدر شرطها بخصوص شرطهاي مرکب ، بايد : تست شرطCase به صورتي نوشته شود که الزاما تمامي اجزاي شرط مرکب چک

شود و بعد آن داخل شرط شود

تست حلقه :

- حلقه هاي ساده1

- حلقه هاي مرکب2

حلقه هاي متصل

حلقه هاي تودرتو

حلقه هاي نامنظم نيمه ساخت يافته

Page 125: DocumentSW

کیانی - فرزاد افزار نرم 125اصول

ادامه تست حلقه :

: زنجيره اي از حلقه هاي ساده استآزمون حلقه هاي متصل

: اين حلقه ها دو مشکل دارندآزمون حلقه هاي تودرتو

- تعداد تکرارها بخصوص براي حلقه هاي داخلي ميتواند بسار 1 زياد باشد

- حلقه ها به يکديگر وابسته اند2

: هيچ ساختار آزمون حلقه هاي نامنظم نيمه ساخت يافتهمشخصي ندارند و ناشي از عدم مهارت طراح مي باشد ) دستور

Go to)

حلقه هاي متصل

حلقه هاي تودرتو

حلقه هاي نامنظم نيمه ساخت يافته

Page 126: DocumentSW

کیانی - فرزاد افزار نرم 126اصول

Blackتکنيکهاي مبتني بر رهيافت Box

گروه تقسيم 4 : همه وروديها به افراز به مجموعه هاي معادلمي شوند

1 -set {a1,a1,…,an}

2 -Range[ a…b]

3 -Value {a}

4 -Boolean {T,F}

: در مواردي که وروديها عدد هستند تحليل مقادير مرزي) رقمي ( ، کاربرد دارد

: تست دقيق نمونه و مقايسه ساير نمونه ها آزمون مقايسه ايبا آن

Page 127: DocumentSW

کیانی - فرزاد افزار نرم 127اصول

آزمون نرم افزارهاي شي ء گرا

( ساخت يافتهTop-Down)( شي گرا Bottom-Up)

بعضي روشها ، نرم افزارهاي آماده را اندازه گيري نرم افزار : و برخي ، مراحل توليد نرم افزار را اندازه گيري مي کنيد

تکنيک هاي اندازه گيري(Qualitative -اندازه گيري کيفي ) 1 ) Quantity-اندازه گيري کمي )2

Page 128: DocumentSW

کیانی - فرزاد افزار نرم 128اصول

FURPS) يک روش براي اندازه گيري نرم افزار (

1 -Functionality :بررسي ميزان در حال استفاده بودن نرم افزار

2 -Usabilityبررسي ميزان سادگي کار با نرم افزار :

3 -Reliability : بررسي ميزان اطمينان و تحمل پذيري خطاي نرمافزار

4 -Performance : بررسي ميزان مقرون به صرفه بودن و قابليتگذردهي نرم افزار

5 -Supportability : بررسي ميزان نگهداري و پشتيباني بررسي ميزان

Page 129: DocumentSW

کیانی - فرزاد افزار نرم 129اصول

Function Point( Object Point) روش

براي مقايسه دو مدل تحليل بکار مي رود

پارامترهاي قابل اندازه گيري در

مدل تحليل

(Form- تعداد ورودي ها از کاربر )1

(Report- تعداد خروجي ها به کاربر )2

(File- تعداد فايلها يا انباره هاي داده )3

(Query- تعداد پرس و جوهاي کاربر )4

(Interface- تعداد واسطهاي کاربر )5

ميزان پيچيدگي

- ساده1

- متوسط2

- پيچيده3

Page 130: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 132اصول

Fentonروش

مبتني بر شکل شناسي است

اندازه هر طرح را برابر سايز آن طرح مي گيرد

اين روش ساده است ولي زياد دقيق نيست

سيستم از تعدادي ماژول تشکيل شده است

Size = تعداد گره ها + تعدادلينک ها

Size = 5+4

Page 133: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 134اصول

DSQIروش 7 ، پارامتر 6 مورد در طرح محاسبه مي شود و از روي آنها

بدست مي آيد

S1تعداد ماژولهاي تعريف شده در معماري سيستم :

S2 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ديگر : است و يا ماژولهاي ديگر از خروجي آنها استفاده مي کنند

S3 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ماقبل : خودشان است

²§S4)تعدا عناصر پايگاه داده ) با تکرار :

S5 تعداد عناصر منحصر بفرد پايگاه داده :

S6تعداد ماژولهايي که فقط يک نقطه ورود و خروج دارند :

S1….S6

D1….D7

Page 135: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم 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: DocumentSW

کیانی - فرزاد افزار نرم اصول 138

بخش چهارم درس اصول نرم افزار

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

Email: [email protected]

Page 139: DocumentSW

کیانی - فرزاد افزار نرم 139اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

اکتورها :

Page 140: DocumentSW

کیانی - فرزاد افزار نرم 140اصول

توضيحات Actorنام

کاربري که بعد از خواندن راهنماي برنامه در سيستم ثبت نام کرده است و سوابق او در سيستم ذخيره شده و از طرف سيستم

رمز ورورد دريافت کرده است و به او يک شماره کاربري داده دشده است که اين کاربر مي تواند دانشجو مدير ويا استاد باش

User

کاربر به عنوان دانشجو در سيستم ثبت نام کرده است و مي تواند با گرفتن مجوز در آزمون الکترونيکي مذبور شرکت نمايد

Student

کاربر به عنوان مدير در سيستم ثبت نام کرده است و بعد از تعريف دروس و اساتيد مربوطه به اساتيد مجوز طرح سوال را

مي دهد

Manager

کاربر به عنوان استاد در سيستم ثبت نام کرده است و در يک درس خاص سوال طرح مي کند و به دانشجويان متقاضي

مجوز امتحان مي دهد

Teacher

Use case Modeling Guidelines

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

Page 141: DocumentSW

کیانی - فرزاد افزار نرم 141اصول

Use case Modeling Guidelines

توضيحات use caseنام

در اين قسمت هر يک از کاربران با کد کاربري خود وارد قسمت مربوطه خودشان ميشوند

Sign In

در اين قسمت هر يک از کاربران با کد کاربري خود از آن خارج مي شوند

Sign Out

در اين قسمت از طرف استاد يک مجوز براي دادن امتحان دانشجو صادر ميشود تا دانشجو بتواند در امتحان شرکت کند

Permission

در اين قسمت دانشجو ميتواند بعد از گرفتن مجوز بر حسب رشته تحصيلي خود امتحان ده

Examination

در اين قسمت هردانشجو استفاده کننده از سيستم ثبت نام ميکند و داده مي شودUser _ passwordبه وي يک

Register

در اين قسمت استاد سواالي را بر اساس رشته تخصصي خود طرح صورت :سخت-آسان و متوسط 3مي کند که اين سواالت به

طبقه بندي شده اند و همچنين همراه هر سوال کليد و منبع آن را نيز درج مي کند

Question

Define Lesson مورد نظر استدروساين قسمت شامل تعريف

اين قسمت شامل تعريف استادهاي مورد نظر است Define Teacher

Page 142: DocumentSW

کیانی - فرزاد افزار نرم 142اصول

: )بر اساس اولويت نيازها(نيازهاي عملياتي دانشجو

- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت شرکت در آزمون را داشته باشد2 - سيستم بايد قابليت درخواست مجوز براي شركت در آزمون 3

را داشته باشد- سيستم بايد قابليت انتخاب رشته و درس امتحاني را داشته 4

باشد- سيستم بايد قابليت نمايش كارنامه را داشته باشد5 - سيستم بايد قابليت نمايش نتيجه آزمون به همراه كليد و 6

سطح سواالت را داشته باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد7

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

Page 143: DocumentSW

کیانی - فرزاد افزار نرم 143اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

)بر اساس اولويت نيازها(نيازهاي عملياتي استاد :

- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت انتخاب درس و رشته جهت طرح سواالت 2

را داشته باشد- سيستم بايد قابليت طرح بانك سواالت را داشته باشد3 - سيستم بايد قابليت دادن مجوز براي شركت در آزمون را 4

داشته باشد- سيستم بايد قابليت نمايش نتيجه آزمون را داشته باشد5 - سيستم بايد قابليت دسترسي به ايميل را داشته باشد6

Page 144: DocumentSW

کیانی - فرزاد افزار نرم 144اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

)بر اساس اولويت نيازها(نيازهاي عملياتي مدير :

- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت تعريف دروس را داشته باشد2 - سيستم بايد قابليت تعريف استاد براي هر درس را داشته 3

باشد- سيستم بايد قابليت نمايش نتيجه آزمون دانشجويان را داشته 4

باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد5

Page 145: DocumentSW

کیانی - فرزاد افزار نرم 145اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

نيازهاي کيفي دانشجورابط سيستم بايد با صفحه كليد و ماوس قابل استفاده

باشد

محيط اجرائي

سيستم بايد بر روي انواع سيستم عامل ها قابل باشد اجرا

تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد

محيط اجرائي

سيستم بايد تحت وب باشد

تحمل خطا سيستم بايد زمان شروع و مدت آزمون را محاسبه كند

زمان پاسخگويي

سيستم بايد در پنج ثانيه کارنامه را صادر كند

زمان پاسخگويي

سيستم بايد در صورت بسته نشدن صفحه آزمون دقيقه صفحه را ببندد5حدکثر تا

زمان پاسخگويي

سيستم بايد در پنج ثانيه اطالعات دانشجو را ثبتكند

Page 146: DocumentSW

کیانی - فرزاد افزار نرم 146اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

مدير نيازهاي کيفي

زمان پاسخگويي

سيستم بايد در پنج ثانيه مجوز را صادر كند

رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد

محيط اجرائي

سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد

تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد

محيط اجرائي

سيستم بايد تحت وب باشد

زمان پاسخگويي

سيستم بايد در پنج ثانيه کارنامه را صادر كند

Page 147: DocumentSW

کیانی - فرزاد افزار نرم 147اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

استاد نيازهاي کيفي

رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد

محيط اجرائي

سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد

تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد

محيط اجرائي

سيستم بايد تحت وب باشد

زمان پاسخگويي

نج ثانيه انجام دهد1سيستم بايد معرفي دانشجو را در

Page 148: DocumentSW

کیانی - فرزاد افزار نرم 148اصول

- احتمال اينکه در طول پروژه ، هارد کامپيوتر خراب شود و يا اينکه 1ريسک هاي احتمالي در طول پروژه شود پس بعد از اتمام هر کار از پروژه Deleteتوسط افراد ديگر

يک نسخه پشتيبان تهيه مي شود .

- احتمال اينکه يکي از افراد پروژه به داليلي نتواند وظيفه اش را 2انجام دهد پس در اولين فرصت وظيفه او را بين اعضاي ديگر تقسيم

مي کنيم تا لطمه اي به اتمام پروژه وارد نشود .

- بعد از اتمام هر کار در مورد پروژه روي کامپيوتر حتما آن را 3ذخيره مي کنيم تا اگر برق قطع شود از بين نرود.

- اگر يکي از افراد به داليلي بخواهد به سفر برود وظايف او را در 4اولويت کار قرار مي دهيم .

- در هر مرحله انجام پروژه ، گزارش گيري مي کنيم و با توجه به 5پيشرفت روند پروژه در صورت لزوم جهت تمديد مدت تحويل به

کارفرما اعالم نماييم.

- هنگام اعالن وقت تحويل پروژه چند روزي براي احتياط اضافه 6اعالم مي کنيم.

Page 149: DocumentSW

کیانی - فرزاد افزار نرم 149اصول

برآورد کلي هزينه و زمان

ماه در نسخه هاي آلفا و بتا تهيه 3اين پروژه بصورت کامل در مدت مي شود و براي آزمايش به مدير پروژه تحويل داده مي شود و مدت

.مرحله بعدي پروژه با توجه به تغييرات بعدي اعالم مي شود

بصورتي که ما در بين گروه خود در مورد تحويل دو فاز پروژه تقسيم . روز به اتمام خواهد رسيد10کار نموده ايم اين دو فاز در مدت

در بازار امروز ، تيم مهندسي ما اين پروژه را به قيمت حدود ريال تحويل کارفرما مي دهد . ابتدا تمامي آموزش هاي 5000000

الزم در مورد نحوه کارکرد اين برنامه ، توسط تيم بصورت رايگان .انجام خواهد شد

Page 150: DocumentSW

کیانی - فرزاد افزار نرم 150اصول

U.C.D:

Page 151: DocumentSW

کیانی - فرزاد افزار نرم 151اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکيشرکت سناريو : در آزمون

- سيستم فرم را نمايش مي دهد2 - دانشجو بعد از وارد شدن به سيستم 1درخواست نمايش فرم ثبت نام مي كند

- سيستم به دانشجو يك اسم کاربري و رمز 4عبور مي دهد

- دانشجو اطالعات خود را در اين سيستم وارد 3مي كند

- سيستم مجوز شركت در آزمون را مي دهد6 - دانشجو براي شركت در آزمون نام کاربري و 5رمز عبور را وارد مي كند

- سيستم سواالت را نمايش مي دهد 7

- سيستم زمان پاسخگوئي را در نظر مي گيرد8

- سيستم اعالم پايان زمان پاسخگوئي را مي 10دهد

- دانشجو سواالت را مشاهده مي كند و به آنها 9پاسخ مي دهد

- سيستم نتيجه را همراه با كليد سواالت 12نمايش مي دهد

- دانشجو در خواست نتيجه آزمون و كليد 11سواالت را مي دهد

- سيستم بسته مي شود14 - دانشجو از سيستم خارج مي شود13

Page 152: DocumentSW

کیانی - فرزاد افزار نرم 152اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

دياگرام توالي مورد استفاده تعريف درس / استاد

Page 153: DocumentSW

کیانی - فرزاد افزار نرم 153اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

دياگرام همکاري مورد استفاده تعريف درس / استاد

Page 154: DocumentSW

کیانی - فرزاد افزار نرم 154اصول

تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي

کالس دياگرام مورد استفاده مجوز شرکت در آزمون

Page 155: DocumentSW

کیانی - فرزاد افزار نرم 155اصول

مدل ارتباطي کالسها براي مجوز طراحي سواالت

Page 156: DocumentSW

کیانی - فرزاد افزار نرم 156اصول

Glossaryتوضيح نام لغت

نام كاربري كه از طرف سيستم به كاربران اختصاص داده مي شود. User Name

رمزي كه كاربر براي وارد شدن به سيستم از طرف سيستم دريافت مي كند. Password

سيستم در هنگام ثبت نام كاربران به هر يك از آنها شماره كاربري جهت دسترسي به سوابق كاربران اختصاص مي دهد.

شماره كاربري

تا سوال بصورت رندم انتخاب 200 تا سوال بصورت چهار گزينه اي كه از 20همان ورقه حاوي شده و دانشجو به آنها پاسخ مي دهد و پس از اتمام وقت آزمون نمره و نتيجه آزمون به نمايش

در مي آيد.

آزمون

اطالعاتي در مورد دانشجو كه شامل نام . نام خانوادگي . شماره كاربري . شماره درس . نام درس و نمره كسب شده و همچنين نتيجه آزمون مي باشد كه در پايگاه داده سيستم ذخيره مي

شود.

کارنامه

همان اعالم قبولي يا ردي دانشجو از طرف سيستم مي باشد. نتيجه آزمون

زماني كه براي پاسخگويي به سواالت آزمون از طرف سيستم در نظر گرفته مي شود زمان آزمون

صفحه راهنماي جامع برنامه Help

کاربر هنگام ثبت نام بايد مشخصات خود چون )نام ،نام خانوادگي ،نام پدر ،سن،محل تولد، شماره شناسنامه، شماره ملي،...( در سيستم وارد کند

اطالعات شخصي کاربر

کار بايد هنگام ثبت نام اطالعات تخصصي خود )ميزان تحصيالت، رشته تخصصي، محل تحصيل، آخرين مدرک تحصيلي و ...( را نيز وارد کند

اطالعات تخصصي کاربر

کاربر با وار کردن کلمه عبور و رمز عبور جهت استفاده از برنامه وارد سيستم ميشود Sign In

کاربر بعد از اتمام کار خود در سيستم با زدن کليدي از برنامه خارج ميشود . Sign Out

دانشجو با انتخاب گزينه صحيح سئوالت در سيستم عمل آزمون انجام ميدهد عمل آزمون

مجوز مربوطه غير فعال خواهد بود . Buttomاگر کاربر در عمليات مربوطه خود مجوز نداشته باشد

هر کاربر که در سيستم ثبت نام ميکند به او يک پست الکترونيکي تعلق مي يابد

Email کاربر

Page 157: DocumentSW

کیانی - فرزاد افزار نرم 157اصول

موفق باشيد فرزاد کياني

Thank You… Any ??

Thank You… Any ??