documentsw
DESCRIPTION
yazılımTRANSCRIPT
Yazılım Sistemlerinin Analiz ve Tasarımı
1
Yazılım Mühendisliği
Yrd.Doç.Dr.Farzad Kiani
İstanbul Sabahattin Zaim Üniversitesi
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
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
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
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
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
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
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
10
Software Applications
Real – time softwareBusiness softwareEngineering and scientific softwareEmbedded softwarePersonal computer softwareWeb-based softwareArtificial intelligence software
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.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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 .
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 .
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.
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)
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 .
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.
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 .
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.
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 .
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
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.
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 .
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
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
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
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:
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
38
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
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
*
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
42
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
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
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دفتر
کیانی - فرزاد افزار نرم 46اصول
دو نكته اساسي :
يا دستيسيستم جاري ممكن است : نکته از اين دو باشدتركيبي و يا كامپيوتري
سيستم آتي
جاريسيستم
شناخت نيازها
کیانی - فرزاد افزار نرم 47اصول
داليل مطالعه سيستم جاري )كنوني( : لزوم وجود برخي عملكردهاي سيستم موجود در سيستم جديد لزوم انتقال برخي اطالعات سيستم جاري به سيستم جديد انتقال مستندات سيستم جاري و استخراج الگوريتمها درصورت
مكانيزه بودن سيستم جاريدرك كلي از سازمان با مطالعه سيستم جاري انعكاس برخي از عمليات سيستم جاري در سيستم آتي لزوم درك كار افراد براي ايجاد سيستم مناسب كامپيوتري امكان مشخص كردن ميزان كارايي سيستم آتي با مطالعه
سيستم جاري
ادامه شناخت نيازها
کیانی - فرزاد افزار نرم 48اصول
نيازها
سيستم چه كاري بايد انجام دهد يا : نيازهاي عملياتي چه انتظاراتي از سيستم مي رود
تعيين : نيازهاي كيفي
چگونگي ها
نيازهاي قابل استفاده بودن
ادامه شناخت نيازها
- تحمل خطا1
- رابط2
- زمان پاسخگويي3
- محيط اجرايي4
- سهولت در 5استفاده
کیانی - فرزاد افزار نرم 49اصول
نمونه اي از نياز عملياتي
کیانی - فرزاد افزار نرم 50اصول
نمونه اي از نياز کيفي
کیانی - فرزاد افزار نرم 51اصول
روشهاي استخراج نيازها
مصاحبه - 1قبل از مصاحبه : بايد وقت مالقات و موضوع مالقات مشخص شوند
مصاحبه يك اتالف وقت براي مصاحبه شونده استنكته
تعيين وقت ، تعيين افراد مورد مصاحبه ، انتخاب افراد باتجربه : در مصاحبه ، ضرورري است .تعيين اهداف مصاحبه ، مصاحبه
مزيت : .ارتباط با افراد موجب مي شود آناليست پاسخگوي نيازهاي افراد باشد
آناليست ممكن است روشهاي ديگري براي ساده ترشدن كار افراد .پيشنهادكندمشکالت :
مصاحبه ها هزينه برند تنها انجام مصاحبه كافي نيست، بلكه آناليست بايد برروي نتايج كار كند و
Prototype تهيه نمايد . .مصاحبات وابسته به نقطه نظرهاي مصاحبه ـ شونده است
کیانی - فرزاد افزار نرم 52اصول
ادامه روشهاي استخراج نيازها
- مشاهده2مشاهده در ارتباط با جنبه هاي مختلف انجام يك كار مي باشد:
مدت زمان انجام وظيفه توسط فرد تعداد خطاهاي ايجادشده در طي انجام كار فرد فاكتورهاي مهم در ارتقاء كارايي فرد
مزيت : .آشنايي با روشي كه سيستم جاري با آن كار مي كند
.ميزان كارايي سيستم جاري مشخص مي شوداطالعات گردآوري شده مبتني بر آن چيزي است كه در عمل انجام مي شود نه
.آنچه كه افراد ادعا مي كنند
افراد هنگامي كه احساس كنند تحت نظر هستند، طبق روال عادي مشکالت : .رفتار نمي كنند
کیانی - فرزاد افزار نرم 53اصول
ادامه روشهاي استخراج نيازها
- ارجاع به مستندات 3 و گزارشهاي تهيه شده توسط افراد، بخصوص در هنگام Prototypeبا ارجاع به
.مصاحبه، بخش اعظمي از نيازها مشخص مي شوند
با ارجاع به اين فرمها، ميزان داده ها، فرمت داده ها و نهايتا ساختار بانكهاي .اطالعاتي و گزارشهايي كه بايد استخراج شوند، مشخص مي شود
مزيت : .حجم داده ها و اطالعات موردپردازش مشخص مي گردد
.فرمت داده ها تعيين مي گرددمشكالت و خطاهايي كه بواسطه پركردن دستي مستندات ايجاد مي گردد، تعيين
.مي شود
� تغيير كند، ممكن است اطالعاتي گردآوري مشکل : اگر قرارباشد سيستم كامال� نيازي به آنها نباشد .شود كه در آتيه اصال
کیانی - فرزاد افزار نرم 54اصول
ادامه روشهاي استخراج نيازها
پرسشنامه – 4پرسشنامه ها مجموعه اي از سؤاالت هستند كه توسط مشاورين و كساني كه با
اهداف و عملكرد دستي سيستمها آشنايي دارند، تهيه شده و در يك سازمان پخش .مي شود و جوابها مطالعه مي گردند
مزيت : .بر مبناي پاسخها نيازها مشخص مي شوند
.با استفاده از پرسشنامه ها، تعداد افراد زيادي را مي توان به كارگرفت
مشکل : .تهيه پرسشنامه نياز به تجربه زياد دارد
.عدم دريافت پاسخ به موقع از افراد
کیانی - فرزاد افزار نرم 55اصول
انواع نيازها
(Functional Requirement - نيازمنديهاي کارکردي )1
non-Functional - نيازمنديهاي غيرکارکردي )2Requirement)
نيازمنديهاي غير کارکردي اصوال در فاز تشريح مشخص ميشوند ولي گاهي در فاز ايجاد بوجود مي آيند
کیانی - فرزاد افزار نرم 56اصول
تهيه چشم اندازي از پروژه
- مقدمه 1 ( هدفObjective :).هدف كلي از مستند را براي سيستم مشخص مي كند ( دامنهScope:) ،در هنگام مشخص كردن دامنه يا حوزه عملكرد سيستم
با ارتباط خارجي تعيين مي گردد. افراد يا اشيائي كه در خارج از موجوديتهايقراردارند، مشخص مي شوند. سيستم
( مراجعReferences:) در اين بخش مستنداتي كه جهت ايجاد سيستم به آنهاارجاع مي شود، آورده مي شوند. از جمله مستندات مي توان به : مستندات
اشاره نمود. شرح وظايف سازماني، روندهاي كاري و
موقعيت - 2سيستم كامپيوتري جايگزين مشخص مي كند هنگاميكه : موقعيت كاري
ايجاد خواهدشد. سيستم جاري شد، چه شرايطي و چه تسهيالتي : در اينجا مشكل سيستم و مزاياي سيستم كامپيوتري شرح مسئله
مطرح مي شود. : در اين قسمت توضيحي درمورد شرح كاربرها و نيازهاي شرح كاربرها
آنها تهيه شده و كاربرهاي اصلي مشخص مي شوند.
کیانی - فرزاد افزار نرم 57اصول
ادامه تهيه چشم اندازي از پروژه
: در اين قسمت در قالب يك دياگرام توصيف محصول نرم افزاري- 3ازمحصولي كه بايد متن توصيفي
به مشتري تحويل داده شود، ارائه مي شود. قابليتهاي نرم افزار و ويژگيهاي آن، هزينه توليد و نكات مربوطه در
اين قسمت تعيين مي شود.
: بايد قسمتها را مشخص كرده و تعيين كرد كه براي هر قسمت هزينه ها -4در ارتباط با هزينه ها درمجموع مي بايست عمليات چه هزينه اي نياز است.هزينه انجام پروژه مشخص شود
نتيجه چشم انداز :• Business Modeling تعيين ليست نيازمنديها بر اساس سيستم جاري ••Use case هاي آتيكامل شدن نيازمنديها بر مبناي اين دو كاتالوگ •• )use case view)چه استفاده هايي ازسيستم كامپيوتري مي شود
کیانی - فرزاد افزار نرم 58اصول
(Requirement Analysisتحليل نياز )
بعد از مشخص شدن نيازها ، گام بعدي تحليل نيازهاست .
نيازها به دو طريق مشخص مي شوند
نيازهاي متمرکز بر خواسته هاي کاربر- 1
- نيازهاي متمرکز بر خواسته هاي سيستم2
. پاسخ به نيازها ، تعيين قابليتهاست
ليستي از قابلتها ، مشخص کننده موارد استفاده هستند .
: براي سنجش عملکرد سيستم تعريف بهره وري
کیانی - فرزاد افزار نرم 59اصول
(Use Case )مورد استفاده
شاخص امکاناتي هستند که سيستم کامپيوتري تعريف مورد استفاده : در اختيار اکتورهاي خود قرار مي دهد .
موجوديتي است که در تعامل با تعريف اکتور :
سيستم براي تکميل يک رويداد استثبت نام
حذف و اخذ
صدور كارنامه
تعيين برنامه آموزشي
دانشج و
مديريت دانشكده
استاد
آموزش مركزي
کیانی - فرزاد افزار نرم 60اصول
(Use Caseمورد استفاده )
يك مورداستفاده كاري شاخص يك وظيفه است كه بوسيله � اصوال به انجام مي رسد. پس مورداستفاده Business workerچند يك يا
Business workerاي است كه توسط يك كاري نمايانگر مورداستفادهمورداستفاده قرارمي گيرد
براي انجام هر وظيفه ، شرح وظيفه اي وجود دارد كه مراحلهاي كاري مي Use caseانجام كار را مشخص ميكند. پس براي انجام
توا از شرح وظايف استفاده كرد.
عملكرد سيستم براساس سرويسهايي كه فراهم مي كند، مشخصمي گردد.
هر سرويس را يك مورداستفادهactor يا يك Use Case.مي نامند
کیانی - فرزاد افزار نرم 61اصول
هر زيرسيستم ممكن است شامل چند Use Case.باشد
ممكن است يكBusiness Use case تبديل به يك � Use case مستقيماكامپيوتري شود.
Business Unit با � ها يا بسته هاي نرم افزاري Packageها معموالجايگزين مي شوند.
در دسته بندي كالسها به جاي اتالق اصطالح type ،به آنها stereotype را بكارخواهيم برد.
موارد استفاده ابزاي جهت تعيين پيامهاي ارسالي بين اجزا مي باشند
(Use Caseمورد استفاده )
کیانی - فرزاد افزار نرم 62اصول
(Use Caseمورد استفاده )
اصوال موارد استفاده نبايد در ارتباط مستقيم هم قرار گيرند
انواع ارتباطات بين موارد استفاده
ديگري است .U.C هميشه شامل U.C : نشان مي دهد که يک Include- رابطه 1
: تحت شرايط مورد استفاده اي ، عملکرد مورد استفاده ي Extended- رابطه 2ديگري را توسعه مي دهد .
بايد Extended در هر شرايطي برقرار است ولي رابطه Include: رابطه نکته داراي شرايط خاص خود باشد .
کیانی - فرزاد افزار نرم 63اصول
بررسيوضعيتدانشجو
دانشجو
(from use case)
مديرآموزش
(from use case)
تعرفه صدور
ثبتنام (from use case)
تاييد
واحد درج
<<include>>
بررسيظرفيتکالسها
<<include>>
بررسيپيشنياز (from use case)
بررسيبدهي
قبضبدهي صدور
<<include>>
<<include>>
<<include>>
<<extend>>
Use Case Diagramمثالي از
کیانی - فرزاد افزار نرم 64اصول
سناريوي موردهاي استفاده
بخشي از توصيف مورد استفاده است که نشان مي دهد که تعريف سناريو : چگونه اکتور با سيستم ارتباط برقرار مي کند
سناريو از دو قسمت تشکيل ميشود
- يک بخش رويدادي است که توسط اکتور استفاده مي شود1
– بخش ديگر شامل پاسخ سيستم به رويدادهاي ايجاد شده توسط اکتور 2
است
مراحل نوشتن سناريو
- اکتورها 3 - نوع مرئ استفاده ) فرعي ، اصلي(2- نام مورد استفاده 1 – هدف4
- موارد ديگر7- نيازهاي تحت پوشش 6 – پيش فرض و پس فرض 5
کیانی - فرزاد افزار نرم 65اصول
مي تواند فرعي يا اصلي باشد . معموال موارد نوع مورد استفاده دارند از نوع فرعي و Extended يا Includeاستفاده اي که رابطه
بقيه اصلي هستند
به U.C شرايطي است که بايد وجود داشته باشد تا پيش فرضهدف خود برسد و
شرايطي است که بعد از اجرا ايجاد ميشودپس فرض
ها پوشش دهنده کليه نيازها هستند U.C ، نيازهاي تحت پوشش اي تعيين U.Cبنابرين اگر نيازي وجود داشته باشد که براي آن
جديدي مشخص شودU.Cنشده باشد بايستي
اي ، U.C : بعد از رسم دياگرام مورد استفاده ، براي هر نکتهسناريو تهيه مي کنيم
کیانی - فرزاد افزار نرم 66اصول
مثالي از سناريو : صندوق دار و مشتري اکتور : خريد اجناس مورد استفاده
: اصلي نوع
: وجود ليست خريد پيش فرض : ثبت يک فروش و يک پرداخت هدف
: دريافت برگه رسيد پس فرض
:موارد ديگر
- در صورتي که سيستم نتواند با کد کاال کارکند ، صندوق دار از طريق 2صفحه کليد ، کد کاال را ثبت کند
- اگر کد کاال نا معتبر باشد سيستم اعالم خطا کند2
- در صورتيکه به تعداد خواسته شده کاال موجود نباشد سيستم قبول نکند2
- در صورت عدم توانايي پرداخت مشتري ، تراکنش فروش حذف شود 7
کیانی - فرزاد افزار نرم 67اصول
سيستم اکتور- مشتري در حالي که اجناس خريداري 1
شده را در دست دارد به صندوق نزديک مي شود
- سيستم با ارجاع به پرونده کاال 3قيمت آنرا مشخص و در تراکنش موقت
فروش ، اطالعات کاال را وارد ميکند
- صندوق دار بوسيله اسکنر کد کاال را 2مي خواند در صورتيکه تعداد بيش از يک
عدد باشد وارد سيستم مي کند
- سيستم کل مبلغ فروش را محاسبه 5و نمايش مي دهد
- صندوق دار براي تکميل ورود کاال 4دگمه جمع را فشار مي دهد
- صندوق دار جمع مبلغ را به مشتري 6اعالم مي کند
- سيستم سابقه فروش از تراکنش 8موقت را ثبت مي کند
- مشتري نوع پرداخت را مشخص مي 7کند
- وجه نقد - کارت اعتباري - چک
- بروز رساني موجودي انبار و تهيه 9رسيد
- صندوق دار به مشتري رسيد کاال را 10مي دهد
کیانی - فرزاد افزار نرم 68اصول
تحقق موارد با objectبراي به واقعيت پيوستن موردهاي استفاده، مي بايست تعدادي استفاده
� سرويس موردنظر يكديگر همكاري كنند و درنتيجه همكاري اينها نهايتا فراهم گردد.Actorبراي
object ها در قالبBusiness worker و Business entityمشخص شدند.
(محاوره Interaction اين )object ها با يكديگر در قالبInteraction Diagram ميسر ميگردد.
سازماندهي اينobject ها در قالبobject model يا »مدل ارتباطي كالسها« مشخص ميگردد.
براي تشخيص عملكردuse case از دياگرام فعاليت يا activity Diagram.استفاده مي شود
کیانی - فرزاد افزار نرم 69اصول
مثالي از تحقق موارد استفاده
کیانی - فرزاد افزار نرم 70اصول
کالسها بعد از نوشتن سناريو براي هر مورد استفاده ، براي به تحقق رساندن موارد
استفاده ، بايستي کالسهايي از اشياء تعريف و ايجاد کرد
اين کالسها در قالب دياگرامهايي در رشنال مطرح ميشوند که در ادامه بيان خواهند شد
براي نمونه در شرح سناريو، كلمه كاال استفاده شده است. پس كاال بعنوان مشخص مي Logical viewيك كالس در نظر گرفته شده است. كالسها در
شوند.
پس از تعيين كالسها، مي بايست براي هر كالس مسئوليتها را نيز تعيين كردو مشخص نمود كه آن كالس با چه كالسهاي ديگري همكاري مي كند تا
مسئوليتهاي خود را به انجام رساند.
در دنياي واقعي نيز وقتي قراراست سرويسي ارائه شود، افراد مشخص ميشوند و اين افراد بايد با يكديگر همكاري كنند تا سرويس موردنظر ارائه گردد.
تبديل به اين وظايف شرح وظايفي دارد و دررابطه با كالسها ،هر فرديمتدهاي كالس مي شوند.
کیانی - فرزاد افزار نرم 71اصول
CRC (Class Responsibilityبراي نمونه فرمهايي با عنوان Collaboration) آماده مي شود و بصورت زير مسئوليتهاي class
هاي وي مشخص مي شونديوهمكار
مسئوليتها نگهداري اطالعات نسخه ها در همكارهادريافت تقاضاي امانت عضو
برگشت يا امانت نسخه ها
نسخ ه
عضو كتابخانه
CRC Card (1)
ادامه کالسها
انواع کالسها :
1 -Boundary Class
2 - Control Class
3 -Entity Class
کیانی - فرزاد افزار نرم 72اصول
مدل ارتباطي كالسها را عالوه بر كارتهايCRC از � مي توان مستقيماSequence Diagram استخراج كرد. اگر در داخل كارتهاي CRC كالس A
Logical دارد، در مدل ارتباطي كالسها تحت Bهمكاري بنام كالس View مي بايست يك خط ارتباط دهنده بين كالس ، A و كالس B
Object، اگر يك Sequence Diagramترسيم شود. به همين ترتيب از روي را فراخواني كند، Bكالس از نوعObject متدي از يك Aاز داخل كالس
بين اين دو كالس يك خط واصل ارتباطي ترسيم مي شود.
براي هرuse case براساس Sequence Diagram مي توان مدل ارتباطي كالسها را ايجادكرد.
ادامه کالسها
کیانی - فرزاد افزار نرم 73اصول
مدل ارتباطي كالسها
رابطه بين كالسها
در حالت كلي رابطه بين دو كالس راassociationيا اجتماع بين دو كالس مي نامند.
رابطه بين دوobject را link.پيوند( بين اشياء مي نامند(
براي كالسها نيز درست مثل هر پست سازماني شرح وظايف تعيين
مي شود. شرح وظايف را در قالب متدهاي كالس پياده سازي مي كنند.
كالسي كه بدون پياده سازي بوده و تنها متدهاي آن تعيين شده معرفي مي شود.Abstract classباشد، بنام
کیانی - فرزاد افزار نرم 74اصول
در دنياي واقعي چارت سازماني و در دنياي شيءگرا مدل ارتباطي كالسها مطرح است.
use case سرويسي است كه قراراست به كاربر ارائه شود. اينسرويس الزمه اش تعدادي كالس است.
ها تبديل به كالسهاي كنترلي مي Business workerدر صورت نيازشوند
Business entity ها تبديل به Entity class.مي شوند
Business Entity
Entity Class
کیانی - فرزاد افزار نرم 75اصول
Association
در اين ارتباط اجتماعي از كالسها وجود دارد. هر اجتماعداراي يك نام است. براي مثال مسئول ثبت نام در ارتباط
ثبت نام قراردارد. پس نام ارتباط كنترل كنترل با تعرفهاست.
( براي هر اجتماع نقشroleتعيين مي كنيم. مسئول ) ثبتنام درنقش كنترل كننده و تعرفه ثبت نام در نقش كنترل
دارد شونده قرار
براي هر اجتماع تعداد را نيز مشخص مي كنيم. براي نمونهيك كنترل كننده ممكن است چند تعرفه ثبت نام را كنترل
نمايد
در اجتماع، جهت آن نيز مهم است. براي مثال از طرفكنترل كننده به طرف تعرفه ثبت نام.
کیانی - فرزاد افزار نرم 76اصول
Association انواع
(1 is a kind of .نوعي است از :
� انسان نوعي حيوان است. مثال
(2is a part of .قسمتي است از :
� موتور قسمتي از اتومبيل است. مثال
)3 dependency .وابستگي :
وجود كالسي وابسته به كالس ديگر است.
(1Aggregation کالسي تشکيل شده از چند کالس از يک کالس : ديگر
انسان
حيوان
موتور
اتومبيل
دانشجودانشگاه
جنس
محموله
کیانی - فرزاد افزار نرم 77اصول
دياگرام هاي مورد بحث
( دياگرام توالي Sequence Diagram)
( دياگرام همکاري Collaboration Diagram)
( دياگرام فعاليت Activity Diagram)
( دياگرام حالت State Diagram)
( کالس دياگرام Class Diagram)
تمام دياگرامهاي مطرح شده در اين قسمت در پروژه ها نکته :بايستي رعايت شوند .
کیانی - فرزاد افزار نرم 78اصول
(Interaction Diagramدياگرام هاي تعامل )
ها هستند ) منظور از محقق U.Cابزاري براي به تحقق رساندن شدن مورد استفاده ، ارائه امکاناتي است تا مورد استفاده ، قابل
اجرا روي کامپيوتر باشد ( .
انواع دياگرامهاي تعامل
- دياگرام توالي 1
- دياگرام همکاري2
شروع عمليات از معموال : در ترسيم دياگرامهاي تعامل ، نکته اکتور است
کیانی - فرزاد افزار نرم 79اصول
دياگرام توالي
،اين دياگرام دنباله اي از فراخوانيهايي است كه از طريق آنهاU.Cبه تحقق مي پيوندد
بازيگر
فرم رابط
مركز كنترل
پرونده
ت الح(
نهمو
ني
التو
م را
اگدي
ي(كل
ت الح(
نهمو
ني
التو
م را
اگدي
ي(كل
تقاضاي نمايش داده خواندن داده
خواندن دادهكنترل داده
ارسال داده جزئيات
کیانی - فرزاد افزار نرم 80اصول
: شكل بيانگر اينست كه
دياگرام مربوط به نمايش جزئيات يك پرونده است. همانطور كهمشاهده كرديد، كاربر در مقابل كامپيوتر قرارمي گيرد. فرم رابط كه
است، براي وي نمايش داده مي Boundary classكالسي از نوع نمايش داده را بصورت انتخاب يك گزينه از فرم شود. كاربر تقاضاي
به كالس فرم ارسال مي كند.
در دنياي واقعي عمل كنترل عمليات يا انجام آنها برعهده كاركناناست ولي دردنياي كامپيوتري اين نقشها برعهده »كالسهاي كنترلي«
خواندن داده به مركزكنترل داده مي شود. و است. لذا درخواستمركز كنترل درخواست را براي پرونده موردنظرارسال مي كند.
Actor .در خارج سيستم قراردارد � در سيستم كامپيوتري معموال
کیانی - فرزاد افزار نرم 81اصول
دياگرام همکارياين دياگرام در نرم افزار رشنال بعد از مشخص کردن دياگرام توالي
حاصل مي شودF5، با فشردن دگمه
کیانی - فرزاد افزار نرم 82اصول
کالس دياگرام
الف ( شناسايي کالسها
) چون در مرور زمان ب( تعين صفات و توابع تا حد امکانکامل تر مي شوند (
ج( شناسايي ارتباطات بين کالسها
تعيين مدوليتي ) اجباري / اختياري (
تعيين درجه چند بودن رابطه
د( شناسايي روابط خاص
رابطه ارث بري
( Aggregation رابطه کل به جزء )
(Composition رابطه ترکيب )
(Dependency رابطه وابستگي )
رابطه تحقق / ادراکي
کیانی - فرزاد افزار نرم 83اصول
مثالي از کالس دياگرام
کیانی - فرزاد افزار نرم 84اصول
دياگرام فعاليت
ميله Join
ميله Fork
تصميم گيري
فعاليت آغازين
فعاليت پايان
فعاليت
دياگرام حالت
فعاليت آغازين
فعاليت پايان
حالت
کیانی - فرزاد افزار نرم 85اصول
ادامه دياگرام فعاليت و حالت
) طبقه بندي رويدادها در نمودار وضعيت )دياگرام حالت
Call event- رخداد فراخواني : 1
when (viy=x)- رخداد تغيير: 2
:After (time)- رخداد زماني 3
()Signal- رخداد سيگنالي: 4
هر State Diagram فقط و فقط نشان دهنده يک Object. است
، هر وقت رويدادي رخ ندهد Object در همان حالت مي ماند و انتقال ، انتقال اتوماتيک نخواهد بود
§، در دياگرام فعاليت Swim lane : ) خطوط بندي بين چندين قسمت ) دپارتمان
کیانی - فرزاد افزار نرم 86اصول
مطرح شده UML 2.0دياگرمهاي اضافي که در اند
( دياگرام زمان گذاري Timing Diagram)
( دياگرام دياگرام شي ء Object Diagram)
انواع فريم ها در دياگرام توالي
( نمودار ارتباط Communication Diagram)
ترکيب دياگرام توالي و فعاليت
( دياگرام بسته Package Diagram)
( دياگرام ترکيب Composite Diagram)
کیانی - فرزاد افزار نرم 87اصول
مرحله طراحي
: طراحي معماري براي سيستم مورد نظرهدف
Package ( هاsubsystem.به طريقي به هم متصلند )ها
pipeline اين نوع معماري، امكاني ايجاد كرده است كه يك : بگيرد، از خروجي keyboardقسمت به جاي اينكه ورودي را از
قسمت ديگر مي گيرد.
3اين معماري از سه اليه اليه : user interface ، application و بانك اطالعاتي تشكيل مي شود.
هراليه مستقل از اليه بااليي ساخته مي شود.� الگوي pattern در اينجا . observerها مطرح مي شوند.مثال
کیانی - فرزاد افزار نرم 88اصول
ادامه مرحله طراحي
مثال برايobserver pattern:
بطور نمونه اگر مدير مي خواهد اطالعاتي را كه مشاهده مي جدا از اليه interfaceكند در قالب چارت باشد، پس بايد اليه
زيرين باشد، تا اين كار به آساني صورت گرفته و بتوان اطالعات آماري را سريع و آسان به چارت تبديل نمود.
تهيه اطالعات مربوط به اليهapplicationاست Application اين اطالعات را بايد از بانكهاي اطالعاتي مختلف بدست آورد.
هر زمان كه بخواهيم، مي توانيم بدون تغيير برنامه، تنها مزيت :در اليه مربوطه تغييرات را اعمال نماييم.
کیانی - فرزاد افزار نرم 89اصول
ارائه طرح سه اليه اي
( : شامل کالسهاي باندري و Application Layer- اليه کابردي )1کنترلي
Entity( : شامل کالسهاي Business Layer- اليه کاري )2
: شامل کالسهاي آماده (Middleware Layer- اليه ميان افزار )3 .و ... مثل بسته هاي گرافيکي ،بسته زبان برنامه نويسي
: در تمام طرحهاي معماري سه اليه اي ، اليه همگاني نکته(Global Layerوجود دارد )
چرا اليه بندي مي کنيم ؟معموال فرمها و کالسهاي کنترلي مرکز کار برنامه را کنترل مي کنند يعني در
برنامه ديگري از آنها نمي توان استفاده کرد
کیانی - فرزاد افزار نرم 90اصول
نمايش گرافيکي معماري سه اليه اي
کیانی - فرزاد افزار نرم 91اصول
کالسهاي موجود در اليه کاربردي
کیانی - فرزاد افزار نرم 92اصول
کالسهاي موجود در اليه کاري
کالسهايي بيشتر مورد استفاده قرار مي گيرند که در اليه Businessهستند
کیانی - فرزاد افزار نرم 93اصول
کالسهاي موجود در اليه ميان افزار ) براي مثال (
در اليه ميان افزار ، کالسهايي قرار مي گيرند که در اليه هاي بااليي استفاده ميشوند
کیانی - فرزاد افزار نرم 94اصول
ديدگاه قطعات بعد از اتمام کار طراحي ، وارد مرحله اي بنام ديدگاه قطعات (Component Viewمي شويم )
در ديدگاه قطعات ، شماي فيزيکي برنامه ها مشخص مي شود
هر قطعه در واقع يک فايل مجزا از برنامه را بخود تخصيص مي دهد و مجموعه اي از کالسهاست و حاوي يک ماژول يا پيمانه از
کد برنامه است
در ديدگاه قطعات ، کالسها را ازديد برنامه نويس و کد برنامه ها دسته بندي مي کنيم
در روش شي گرا ، به هرفايل ، قطعه گويند
مي بايست براي هر قطعه ، زبان برنامه نويسي را مشخص کرد
اساس تخصيص کالسها به مولفه ها ، اصول ماژوالريتي يا پيمانه بندي است
کیانی - فرزاد افزار نرم 95اصول
(Modularityاصول پيمانه بندي )
- پيوستگي پيمانه اي : کليه کالسهاي درون يک ماژول ، عمليات 1مرتبط به هم دارند
) چسبندگي به هم (
2 -Modular ortogonity يک ماژول مي بايست مستقل باشد ولي از : آنجايي که در يک سيستم ، همه ماژولها به هم نياز دارند بنابرين
آنهايي که کمتر به يکديگر مرتبطند ، در ماژولهاي مجزايي قرار مي گيرند و از اينرو حداقل اتصاالت در داخل ماژولها مورد نياز است
3 -Modular Understandability: کالسهاي داخل يک ماژول ، عمل مفهومي از ديدگاه کاربر انجام مي دهند
: در حالت کلي ، منظور از قطعه ، پيمانه يا يک ماژول از برنامه استنکته
کیانی - فرزاد افزار نرم 96اصول
ديدگاه قطعات
مشخص مي كنيم يك پروژه از چه فايلهايي تشكيل شده است.
ما در اصل فايلهاي برنامه را مشخص مي به عنوان Componentكنيم. در هر فايل، يك
» برنامه اصلي « مشخص مي شود. شكل برنامه اصلي بدين صورت است
قطعه معمولي به اين صورت است :
ها Taskنوع ديگر از قطعات هستند :
کیانی - فرزاد افزار نرم 97اصول
Task ها قطعاتي هستند كه بصورت يك Trend به موازات برنامه. در اين مرحله هر قطعه يك فايل برنامه مي آيند دراصلي به اجرا
مي باشد.
** ديدگاه قطعات بخش نگهباني در سيستم کارت ساعت **
کیانی - فرزاد افزار نرم 98اصول
نحوه کار با ديدگاه قطعات در محيط رشنال رز
براي مثال : انتخاب كنيد، تحت گزينه اي VB اگر زبان برنامه نويسي را
Realizeبنام بر روي هر R_clickليست تمامي كالسها نمايان مي گردد. با
كالس، كنيد.component ، Assignمي توانيد آن را به
)پيمانه Moduleاصل برنامه شيء گرا به ما مي گويد كه هر يا قطعه( شامل تعدادي كالس است.
در ارتباط براي هر قطعه كالسهايي را انتخاب مي كنيم كهتنگاتنگ با يكديگر باشند.
هايي است كه بسيار آبجکت« داراي نگهبانيبراي مثال، » پيمانه يكديگر را فراخواني ميكنند.
كردن كالسها به يك قطعه، ميزان همكاري كالسها Assignمعيار : نکتهبا يكديگر است.
کیانی - فرزاد افزار نرم 99اصول
Deploymentديدگاه سطح بکارگيري )View(
ديدگاه سطح بکارگيري ، داراي عناصر دو وضعيتي است
(Device- سخت افزارهاي خاص )1
2 -Platform هايي که بستر خاصي دارند (Environment ٍExecution )
تمام عناصر را با مکعب هاي مستطيلي نشان مي دهند
کیانی - فرزاد افزار نرم 100اصول
مثالي از نمودار بکارگيري
کیانی - فرزاد افزار نرم 101اصول
خالصه عملکرد مکانيزه کردن يک سيستم
- شناخت سيستم وشناسايي نيازها1
- تعريف قابليتهاي مورد نظر براي نرم افزار آتي2
ها براي تعيين قابليتهاU.C- استفاده از 3
U.C- بيان سناريو براي هر 4
U.C و تعيين کالسها و متودهاي مرتبط با U.C- تحقق 4
- استفاده از ديدگاه مولفه گرايي 5
– پياده سازي سيستم تحليل شده6
کیانی - فرزاد افزار نرم اصول 102
بخش دوم درس اصول نرم افزار
مدلسازي کسب و کار (Business Modeling)
Email: [email protected]
کیانی - فرزاد افزار نرم 103اصول
(Business Modelingمدلسازي کسب و کار)
مدلسازي کسب و کار اولين قدم در توليد نرم افزارهاي مکانيزه باشد Business Expertاست و براي اين مدل ، يک سيستم بايستي
(E-business)
اين طرح توسط RUP ايجاد شده است براي همين چرخه حيات RUPاوليه را مرور دوباره اي مي کنيم شناخت تشريح ايجاد تحول
توسعه
نيازكاري تعيين
لوليه قدم قدم قدم قدم قدم قدم قدم قدم 1# 2# n# 1+n# 1+m# 2+n# m#
نياز وتبديل تفهيم
وتحليل تجزيه
سازي پياده
آزمون
تغييرات كنترل
عملياتي محيط تعيين
کیانی - فرزاد افزار نرم 104اصول
UMLمدلسازي در
Business Modelingمراحل
(Business Goal Modeling- مدلسازي اهداف حرفه )1
Business Resource- مدلسازي منابع حرفه )2 Modeling)
Business Roles- مدلسازي نقشهاي حرفه )3 Modeling)
(Business Rules Modeling- مدلسازي قواعد حرفه )4
Business Process) - مدلسازي فرايند حرفه5 Modeling)
کیانی - فرزاد افزار نرم 105اصول
مدلسازي اهداف حرفه
اهداف شامل کسب سود و به طريقه
درختي است
کیانی - فرزاد افزار نرم 106اصول
ادامه مدلسازي اهداف حرفه
حالتهاي اهداف
- تامين هدف1
- عدم تامين 2هدف
- وضعيت 3U نامعلوم
نامعلوم به سمت مثبتU+
نامعلوم به سمت منفي U- + برخي اهداف همديگر را تقويت مي کنند
++ برخي اهداف به شدت همديگر را تقويت مي کنند
- برخي اهداف همديگر را تضعيف مي کنند
-- برخي اهداف به شدت همديگر را تقويت مي کنند
* برخي اهداف با همديگر تضاد دارند
برخي اهداف AND و OR دارند
کیانی - فرزاد افزار نرم 107اصول
+ ++ - -- U
U+ U- X U
X U- U U+ U+ U
* U U U U U
U U U U U U
استفاده از روش چانگ براي بررسي تاثير مقادير يالها در نتيجه
کیانی - فرزاد افزار نرم 108اصول
استفاده از روش چانگ براي بررسي تاثير مقادير گره ها بر هم
U X
*
U U X
X * X X
کیانی - فرزاد افزار نرم 109اصول
سرعت رشد حالتهاي اهداف
U <=
X <
X <= *
+ U
- U
Max کردن گره ها ، OR و موقع Min کردن گره ها ، ANDموقع گيري مي کنيم
کیانی - فرزاد افزار نرم 110اصول
منبع مدلسازي منابع حرفه حرفه
منبع فيزيکي
منبع انتزاعي
منابع انساني
ساير منابع فيزيکي
منابع اطالعاتي
منابع غير اطالعاتي
دانش فني
ISAاعتبار
انرژي
Goal-will
Brand
Patent
ماشين آالت
مواد مصرفي
محل
مواد اوليه
نشان مي Class Diagram ، اين نوع مدلسازي را با UML : در نکتهدهند
کیانی - فرزاد افزار نرم 111اصول
مدلسازي قواعد حرفه قواعد حرفه
قيود اشتقاقي
قيود قيودوجودي
قواعد استنتاجي
قواعد محاسباتي
قواعد ساختاري
قواعد رفتاري
قواعد محرک و عکس و
العمل
کیانی - فرزاد افزار نرم 112اصول
: قواعدي که از قوانين کلي مشتق شده اندقواعد اشتقاقي
: قاعده را در ساختار ، به صورت استاتيک قرار قواعد ساختاريمي دهيم
*** در اين قاعده ، موقع رخ دادن حادثه اي بايد قبل و بعد آن مشخص شود ***
: تک گزينه اي است زيرا هميشه يک رفتار مورد قاعده رفتاريبحث است
: چند گزينه اي است زيرا شامل قاعده محرک و عکس العملچندين رفتار است
، حکم مي کندObject : به وجود آمدن يک قواعد وجودي
ادامه مدلسازي قواعد حرفه
کیانی - فرزاد افزار نرم 113اصول
ادامه مدلسازي قواعد حرفه
OCLاين قاعده ، با زبانهاي فرمال بحث مي شود ) زبان (OMGمحصول شرکت
:OCL (Object Constant Language)آشنايي مختصر با
مانند عملگرهاي ياء منطقي ، مساوي ، - اپراتورهاي ساده : 1 بزرگتر و ....
خروجي ابن توابع به صورت - توابع پيچيده )مجموعه اي ( : 2 زير است
Collection
SetBAG Sequence
کیانی - فرزاد افزار نرم 114اصول
Ruleنحوه نوشتن
ادامه مدلسازي قواعد حرفه
Context ) نام قاعده نام حوزه ) کالس inv :
% 5هزار باشد، 10- چنانچه مجموع سفارش بيش از 1مثال : قاعده تخفيف لحاظ خواهد شد
Context Order Myrule1 inv :
if or_sum>10000 then or_Dis=or_sum*.05
کیانی - فرزاد افزار نرم 115اصول
مدلسازي نقشهاي حرفه
دسته بندي نقشها بر اساس تشابه بهم
دسته بندي نقشها بر اساس همگرايي نام
نقشتمام توابعي که توسط اين نقش ايجاد شده ، نوشته ميشود
: تمرکز و يکجا بودن توابع ، حل شدن مشکل اول ، مزيتفهميدن وظايف هر نقش
هايي اين نقش در آنها مشارکت دارند را ترسيم مي U.Cتمامي کنيم
: در يک فرايند مستمر کار مي کند ، فهميدن وظيفه مزيتاکتورها از ديدهم ، همکاري بين اکتورها ) نقشها (
هر نوع توضيح گرافيکي يا متني براي فهم
بيششتر
نشان Package Diagram ، اين نوع مدلسازي را با UML : در نکتهمي دهند
کیانی - فرزاد افزار نرم 116اصول
مدلسازي فرايند حرفه
نقطه مرکزي مدلسازي UML و مراحل B.M ، BPM است
اين مدلسازي ، پيوند دهنده تمامي مدلسازي هاي ديگر B.M است
نتيجه مدلسازي فرايند حرفه
1 -Business Process Improvement( BPI)توسعه فرايند
تغيير فرايندهاي سازمان به سمت بهبود
: عيب : کم هزينه ، ريسک پايين مزيتزمان اجراي طوالني
2 -Business Process Reengineering Service (BPR)
تغيير کامل و اساسي در جهت ساخت جديد
: عيب : تغييرات اساسي )انقالب ( مزيتبسيار پر هزينه و ريسک آور
کیانی - فرزاد افزار نرم 117اصول
ديدگاه جزئي روي هر فرايند حرفه
کیانی - فرزاد افزار نرم 118اصول
ارتباط اجزاي مدلسازي به يکديگر
ادامه مدلسازي فرايند حرفه
کیانی - فرزاد افزار نرم اصول 119
بخش سوم درس اصول نرم افزار
آزمون نرم افزاري
rُSoftware Testing
Email: [email protected]
کیانی - فرزاد افزار نرم 120اصول
(Software Testingآزمون نرم افزاري (§
هيج نرم افزاري Bug Free يا Error Freeنيست
آزمون نرم افزاري
تکنيکهاي مبتني بر رهيافت White Box
تکنيکهاي مبتني بر رهيافت Black Box
آزمون مسيرهاي پايه
تست شرط
تست حلقه
افرازهايي به مجموعه معادل
تحليل مقادير مرزي
آزمون مقايسه اي
کیانی - فرزاد افزار نرم 121اصول
White Box کليه اجزاي سيستم با تمامي جزئيات آن قابل مشاهده : است
Black Box به کل سيستم دسترسي نيست )اکثر سيستمهاي : TV )امروزي مثل
(Software Testingآزمون نرم افزاري (§
Blackعلت استفاده از Box
نياز به تخصص باال براي تست جعبه سفيد
سريع نبودن عمل تست در جعبه سفيد
نياز به صرف هزينه باال براي جعبه سفيد
کیانی - فرزاد افزار نرم 122اصول
Whiteتکنيکهاي مبتني بر رهيافت Box
آزمون مسيرهاي پايه
- تبديل کد برنامه به گراف پيچيدگي1
بعد از تبديل : تعيين يا محاسبه تعداد مسيرهاي پايه- 2 گراف ، بايد تعداد مسيرهاي پايه را پيدا کنيم
توالي
Do/While
If / Else
| تعداد گره – =الف( تعداد مسيرهاي پايه 2تعدا يال | +
گره هاي تعداد =ب( تعداد مسيرهاي پايه 1 + شرطي
تعداد مسيرهاي =ج( تعداد مسيرهاي پايه 1بسته +
گره هايي که بيش از يک يال ازآنها خارج شده باشد
کیانی - فرزاد افزار نرم 123اصول
شروع از گره آغازين : - مشخص کردن آدرس مسيرهاي پايه3و با استفاده از مسيرهاي مستقل ، تا به گره پاياني برسيم
: مسيري است که در آن حداقل يک يال وجود دارد که مسير مستقلقبال پيمايش نشده است
(Test Case )- تدوين برنامه تست4
Whiteتکنيکهاي مبتني بر رهيافت Box
ادامه آزمون مسيرهاي پايه
کیانی - فرزاد افزار نرم 124اصول
White Boxتکنيکهاي مبتني بر رهيافت
Testدر شرطها بخصوص شرطهاي مرکب ، بايد : تست شرطCase به صورتي نوشته شود که الزاما تمامي اجزاي شرط مرکب چک
شود و بعد آن داخل شرط شود
تست حلقه :
- حلقه هاي ساده1
- حلقه هاي مرکب2
حلقه هاي متصل
حلقه هاي تودرتو
حلقه هاي نامنظم نيمه ساخت يافته
کیانی - فرزاد افزار نرم 125اصول
ادامه تست حلقه :
: زنجيره اي از حلقه هاي ساده استآزمون حلقه هاي متصل
: اين حلقه ها دو مشکل دارندآزمون حلقه هاي تودرتو
- تعداد تکرارها بخصوص براي حلقه هاي داخلي ميتواند بسار 1 زياد باشد
- حلقه ها به يکديگر وابسته اند2
: هيچ ساختار آزمون حلقه هاي نامنظم نيمه ساخت يافتهمشخصي ندارند و ناشي از عدم مهارت طراح مي باشد ) دستور
Go to)
حلقه هاي متصل
حلقه هاي تودرتو
حلقه هاي نامنظم نيمه ساخت يافته
کیانی - فرزاد افزار نرم 126اصول
Blackتکنيکهاي مبتني بر رهيافت Box
گروه تقسيم 4 : همه وروديها به افراز به مجموعه هاي معادلمي شوند
1 -set {a1,a1,…,an}
2 -Range[ a…b]
3 -Value {a}
4 -Boolean {T,F}
: در مواردي که وروديها عدد هستند تحليل مقادير مرزي) رقمي ( ، کاربرد دارد
: تست دقيق نمونه و مقايسه ساير نمونه ها آزمون مقايسه ايبا آن
کیانی - فرزاد افزار نرم 127اصول
آزمون نرم افزارهاي شي ء گرا
( ساخت يافتهTop-Down)( شي گرا Bottom-Up)
بعضي روشها ، نرم افزارهاي آماده را اندازه گيري نرم افزار : و برخي ، مراحل توليد نرم افزار را اندازه گيري مي کنيد
تکنيک هاي اندازه گيري(Qualitative -اندازه گيري کيفي ) 1 ) Quantity-اندازه گيري کمي )2
کیانی - فرزاد افزار نرم 128اصول
FURPS) يک روش براي اندازه گيري نرم افزار (
1 -Functionality :بررسي ميزان در حال استفاده بودن نرم افزار
2 -Usabilityبررسي ميزان سادگي کار با نرم افزار :
3 -Reliability : بررسي ميزان اطمينان و تحمل پذيري خطاي نرمافزار
4 -Performance : بررسي ميزان مقرون به صرفه بودن و قابليتگذردهي نرم افزار
5 -Supportability : بررسي ميزان نگهداري و پشتيباني بررسي ميزان
کیانی - فرزاد افزار نرم 129اصول
Function Point( Object Point) روش
براي مقايسه دو مدل تحليل بکار مي رود
پارامترهاي قابل اندازه گيري در
مدل تحليل
(Form- تعداد ورودي ها از کاربر )1
(Report- تعداد خروجي ها به کاربر )2
(File- تعداد فايلها يا انباره هاي داده )3
(Query- تعداد پرس و جوهاي کاربر )4
(Interface- تعداد واسطهاي کاربر )5
ميزان پيچيدگي
- ساده1
- متوسط2
- پيچيده3
کیانی - فرزاد افزار نرم 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) روش
کیانی - فرزاد افزار نرم 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
کیانی - فرزاد افزار نرم 132اصول
Fentonروش
مبتني بر شکل شناسي است
اندازه هر طرح را برابر سايز آن طرح مي گيرد
اين روش ساده است ولي زياد دقيق نيست
سيستم از تعدادي ماژول تشکيل شده است
Size = تعداد گره ها + تعدادلينک ها
Size = 5+4
کیانی - فرزاد افزار نرم 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) تعداد ماژولهايي که بين ماژولهاي :
ديگر و خود ماژول رد و بدل مي شود
کیانی - فرزاد افزار نرم 134اصول
DSQIروش 7 ، پارامتر 6 مورد در طرح محاسبه مي شود و از روي آنها
بدست مي آيد
S1تعداد ماژولهاي تعريف شده در معماري سيستم :
S2 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ديگر : است و يا ماژولهاي ديگر از خروجي آنها استفاده مي کنند
S3 تعداد ماژولهايي که کارکرد صحيح آنها وابسته به ماژولهاي ماقبل : خودشان است
²§S4)تعدا عناصر پايگاه داده ) با تکرار :
S5 تعداد عناصر منحصر بفرد پايگاه داده :
S6تعداد ماژولهايي که فقط يک نقطه ورود و خروج دارند :
S1….S6
D1….D7
کیانی - فرزاد افزار نرم 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 )
کیانی - فرزاد افزار نرم 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)
کیانی - فرزاد افزار نرم 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 نکته :
کیانی - فرزاد افزار نرم اصول 138
بخش چهارم درس اصول نرم افزار
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
Email: [email protected]
کیانی - فرزاد افزار نرم 139اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
اکتورها :
کیانی - فرزاد افزار نرم 140اصول
توضيحات Actorنام
کاربري که بعد از خواندن راهنماي برنامه در سيستم ثبت نام کرده است و سوابق او در سيستم ذخيره شده و از طرف سيستم
رمز ورورد دريافت کرده است و به او يک شماره کاربري داده دشده است که اين کاربر مي تواند دانشجو مدير ويا استاد باش
User
کاربر به عنوان دانشجو در سيستم ثبت نام کرده است و مي تواند با گرفتن مجوز در آزمون الکترونيکي مذبور شرکت نمايد
Student
کاربر به عنوان مدير در سيستم ثبت نام کرده است و بعد از تعريف دروس و اساتيد مربوطه به اساتيد مجوز طرح سوال را
مي دهد
Manager
کاربر به عنوان استاد در سيستم ثبت نام کرده است و در يک درس خاص سوال طرح مي کند و به دانشجويان متقاضي
مجوز امتحان مي دهد
Teacher
Use case Modeling Guidelines
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
کیانی - فرزاد افزار نرم 141اصول
Use case Modeling Guidelines
توضيحات use caseنام
در اين قسمت هر يک از کاربران با کد کاربري خود وارد قسمت مربوطه خودشان ميشوند
Sign In
در اين قسمت هر يک از کاربران با کد کاربري خود از آن خارج مي شوند
Sign Out
در اين قسمت از طرف استاد يک مجوز براي دادن امتحان دانشجو صادر ميشود تا دانشجو بتواند در امتحان شرکت کند
Permission
در اين قسمت دانشجو ميتواند بعد از گرفتن مجوز بر حسب رشته تحصيلي خود امتحان ده
Examination
در اين قسمت هردانشجو استفاده کننده از سيستم ثبت نام ميکند و داده مي شودUser _ passwordبه وي يک
Register
در اين قسمت استاد سواالي را بر اساس رشته تخصصي خود طرح صورت :سخت-آسان و متوسط 3مي کند که اين سواالت به
طبقه بندي شده اند و همچنين همراه هر سوال کليد و منبع آن را نيز درج مي کند
Question
Define Lesson مورد نظر استدروساين قسمت شامل تعريف
اين قسمت شامل تعريف استادهاي مورد نظر است Define Teacher
کیانی - فرزاد افزار نرم 142اصول
: )بر اساس اولويت نيازها(نيازهاي عملياتي دانشجو
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت شرکت در آزمون را داشته باشد2 - سيستم بايد قابليت درخواست مجوز براي شركت در آزمون 3
را داشته باشد- سيستم بايد قابليت انتخاب رشته و درس امتحاني را داشته 4
باشد- سيستم بايد قابليت نمايش كارنامه را داشته باشد5 - سيستم بايد قابليت نمايش نتيجه آزمون به همراه كليد و 6
سطح سواالت را داشته باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد7
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
کیانی - فرزاد افزار نرم 143اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
)بر اساس اولويت نيازها(نيازهاي عملياتي استاد :
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت انتخاب درس و رشته جهت طرح سواالت 2
را داشته باشد- سيستم بايد قابليت طرح بانك سواالت را داشته باشد3 - سيستم بايد قابليت دادن مجوز براي شركت در آزمون را 4
داشته باشد- سيستم بايد قابليت نمايش نتيجه آزمون را داشته باشد5 - سيستم بايد قابليت دسترسي به ايميل را داشته باشد6
کیانی - فرزاد افزار نرم 144اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
)بر اساس اولويت نيازها(نيازهاي عملياتي مدير :
- سيستم بايد قابليت ثبت نام را داشته باشد1 - سيستم بايد قابليت تعريف دروس را داشته باشد2 - سيستم بايد قابليت تعريف استاد براي هر درس را داشته 3
باشد- سيستم بايد قابليت نمايش نتيجه آزمون دانشجويان را داشته 4
باشد- سيستم بايد قابليت دسترسي به ايميل را داشته باشد5
کیانی - فرزاد افزار نرم 145اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
نيازهاي کيفي دانشجورابط سيستم بايد با صفحه كليد و ماوس قابل استفاده
باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل باشد اجرا
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
تحمل خطا سيستم بايد زمان شروع و مدت آزمون را محاسبه كند
زمان پاسخگويي
سيستم بايد در پنج ثانيه کارنامه را صادر كند
زمان پاسخگويي
سيستم بايد در صورت بسته نشدن صفحه آزمون دقيقه صفحه را ببندد5حدکثر تا
زمان پاسخگويي
سيستم بايد در پنج ثانيه اطالعات دانشجو را ثبتكند
کیانی - فرزاد افزار نرم 146اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
مدير نيازهاي کيفي
زمان پاسخگويي
سيستم بايد در پنج ثانيه مجوز را صادر كند
رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
زمان پاسخگويي
سيستم بايد در پنج ثانيه کارنامه را صادر كند
کیانی - فرزاد افزار نرم 147اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
استاد نيازهاي کيفي
رابط سيستم بايد با صفحه كليد و ماوس قابل استفاده باشد
محيط اجرائي
سيستم بايد بر روي انواع سيستم عامل ها قابل اجراباشد
تحمل خطا سيستم بايد در اثر قطع برق قابليت ماندگاري اطالعات را داشته باشد
محيط اجرائي
سيستم بايد تحت وب باشد
زمان پاسخگويي
نج ثانيه انجام دهد1سيستم بايد معرفي دانشجو را در
کیانی - فرزاد افزار نرم 148اصول
- احتمال اينکه در طول پروژه ، هارد کامپيوتر خراب شود و يا اينکه 1ريسک هاي احتمالي در طول پروژه شود پس بعد از اتمام هر کار از پروژه Deleteتوسط افراد ديگر
يک نسخه پشتيبان تهيه مي شود .
- احتمال اينکه يکي از افراد پروژه به داليلي نتواند وظيفه اش را 2انجام دهد پس در اولين فرصت وظيفه او را بين اعضاي ديگر تقسيم
مي کنيم تا لطمه اي به اتمام پروژه وارد نشود .
- بعد از اتمام هر کار در مورد پروژه روي کامپيوتر حتما آن را 3ذخيره مي کنيم تا اگر برق قطع شود از بين نرود.
- اگر يکي از افراد به داليلي بخواهد به سفر برود وظايف او را در 4اولويت کار قرار مي دهيم .
- در هر مرحله انجام پروژه ، گزارش گيري مي کنيم و با توجه به 5پيشرفت روند پروژه در صورت لزوم جهت تمديد مدت تحويل به
کارفرما اعالم نماييم.
- هنگام اعالن وقت تحويل پروژه چند روزي براي احتياط اضافه 6اعالم مي کنيم.
کیانی - فرزاد افزار نرم 149اصول
برآورد کلي هزينه و زمان
ماه در نسخه هاي آلفا و بتا تهيه 3اين پروژه بصورت کامل در مدت مي شود و براي آزمايش به مدير پروژه تحويل داده مي شود و مدت
.مرحله بعدي پروژه با توجه به تغييرات بعدي اعالم مي شود
بصورتي که ما در بين گروه خود در مورد تحويل دو فاز پروژه تقسيم . روز به اتمام خواهد رسيد10کار نموده ايم اين دو فاز در مدت
در بازار امروز ، تيم مهندسي ما اين پروژه را به قيمت حدود ريال تحويل کارفرما مي دهد . ابتدا تمامي آموزش هاي 5000000
الزم در مورد نحوه کارکرد اين برنامه ، توسط تيم بصورت رايگان .انجام خواهد شد
کیانی - فرزاد افزار نرم 150اصول
U.C.D:
کیانی - فرزاد افزار نرم 151اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکيشرکت سناريو : در آزمون
- سيستم فرم را نمايش مي دهد2 - دانشجو بعد از وارد شدن به سيستم 1درخواست نمايش فرم ثبت نام مي كند
- سيستم به دانشجو يك اسم کاربري و رمز 4عبور مي دهد
- دانشجو اطالعات خود را در اين سيستم وارد 3مي كند
- سيستم مجوز شركت در آزمون را مي دهد6 - دانشجو براي شركت در آزمون نام کاربري و 5رمز عبور را وارد مي كند
- سيستم سواالت را نمايش مي دهد 7
- سيستم زمان پاسخگوئي را در نظر مي گيرد8
- سيستم اعالم پايان زمان پاسخگوئي را مي 10دهد
- دانشجو سواالت را مشاهده مي كند و به آنها 9پاسخ مي دهد
- سيستم نتيجه را همراه با كليد سواالت 12نمايش مي دهد
- دانشجو در خواست نتيجه آزمون و كليد 11سواالت را مي دهد
- سيستم بسته مي شود14 - دانشجو از سيستم خارج مي شود13
کیانی - فرزاد افزار نرم 152اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
دياگرام توالي مورد استفاده تعريف درس / استاد
کیانی - فرزاد افزار نرم 153اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
دياگرام همکاري مورد استفاده تعريف درس / استاد
کیانی - فرزاد افزار نرم 154اصول
تحليل و طراحي شي گرايي براي سيستم آزمون الکترونيکي
کالس دياگرام مورد استفاده مجوز شرکت در آزمون
کیانی - فرزاد افزار نرم 155اصول
مدل ارتباطي کالسها براي مجوز طراحي سواالت
کیانی - فرزاد افزار نرم 156اصول
Glossaryتوضيح نام لغت
نام كاربري كه از طرف سيستم به كاربران اختصاص داده مي شود. User Name
رمزي كه كاربر براي وارد شدن به سيستم از طرف سيستم دريافت مي كند. Password
سيستم در هنگام ثبت نام كاربران به هر يك از آنها شماره كاربري جهت دسترسي به سوابق كاربران اختصاص مي دهد.
شماره كاربري
تا سوال بصورت رندم انتخاب 200 تا سوال بصورت چهار گزينه اي كه از 20همان ورقه حاوي شده و دانشجو به آنها پاسخ مي دهد و پس از اتمام وقت آزمون نمره و نتيجه آزمون به نمايش
در مي آيد.
آزمون
اطالعاتي در مورد دانشجو كه شامل نام . نام خانوادگي . شماره كاربري . شماره درس . نام درس و نمره كسب شده و همچنين نتيجه آزمون مي باشد كه در پايگاه داده سيستم ذخيره مي
شود.
کارنامه
همان اعالم قبولي يا ردي دانشجو از طرف سيستم مي باشد. نتيجه آزمون
زماني كه براي پاسخگويي به سواالت آزمون از طرف سيستم در نظر گرفته مي شود زمان آزمون
صفحه راهنماي جامع برنامه Help
کاربر هنگام ثبت نام بايد مشخصات خود چون )نام ،نام خانوادگي ،نام پدر ،سن،محل تولد، شماره شناسنامه، شماره ملي،...( در سيستم وارد کند
اطالعات شخصي کاربر
کار بايد هنگام ثبت نام اطالعات تخصصي خود )ميزان تحصيالت، رشته تخصصي، محل تحصيل، آخرين مدرک تحصيلي و ...( را نيز وارد کند
اطالعات تخصصي کاربر
کاربر با وار کردن کلمه عبور و رمز عبور جهت استفاده از برنامه وارد سيستم ميشود Sign In
کاربر بعد از اتمام کار خود در سيستم با زدن کليدي از برنامه خارج ميشود . Sign Out
دانشجو با انتخاب گزينه صحيح سئوالت در سيستم عمل آزمون انجام ميدهد عمل آزمون
مجوز مربوطه غير فعال خواهد بود . Buttomاگر کاربر در عمليات مربوطه خود مجوز نداشته باشد
هر کاربر که در سيستم ثبت نام ميکند به او يک پست الکترونيکي تعلق مي يابد
Email کاربر
کیانی - فرزاد افزار نرم 157اصول
موفق باشيد فرزاد کياني
Thank You… Any ??
Thank You… Any ??