Tez No İndirme Tez Künye Durumu
528942
Özel durumların ortaya çıkmasına ve geliştirme yaşam döngüsünün erken safhalarında istisnaların modellenmesine yönelik bir yaklaşım / An approach of eliciting exceptions and modeling exceptions handling at early stage of the development lifecycle
Yazar:MOHAMED. ALİ S. HAGAL
Danışman: PROF. DR. FATMA KANDEMİRLİ
Yer Bilgisi: Kastamonu Üniversitesi / Fen Bilimleri Enstitüsü / Malzeme Bilimi ve Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
Onaylandı
Doktora
Türkçe
2018
132 s.
Yazılım güvenilirliği, yazılımın istenen hedeflerine ulaşmak için dikkate alınması gereken en önemli faktördür. Paydaşlarının gereksinimlerini etkin bir şekilde karşılayan bir yazılım oluşturmak için yazılım geliştiricilerine yardımcı olma yollarını ve araçlarını tanımlamak için pek çok çaba gösterilmiştir. Yazılım mühendisliği organize bir şekilde birçok aşamayı içeren her biri geliştirme sürecinin geri kalanında etkileri olan sistematik bir yaklaşım sunar. Bu nedenle, bu aşamaların başarısı, yazılım bütünlüğü açısından önemlidir. Gereksinim mühendisliği (GM) aşaması bu aşamalardaki en önemli aşamadır ve geliştirilecek yazılım sisteminin ne anlama geldiğine dayanmaktadır, ancak birçok yazılım sistemi görevlerini tatmin edici bir şekilde yerine getirmeye devam etmemektedir. Bu tür başarısızlıkların ortaya çıkmasına katkıda bulunan en önemli problemler, bu tür sistemlerin gerekliliklerinin oluşturulmasındaki zayıflık veya bunların uygulanması sırasında sorunların ortaya çıkmasıdır. Bu aksaklıklar, hedeflere ulaşmada sistemlerin başarısız olmasına neden olmaktadır. Bu genellikle, gelişim sürecinin ilk aşamalarından kendileriyle ilgilenmeyen ya da ileri aşamalarda bile onları ihmal etmiş olabilen geliştiricilere bağlı olan istisnadır. Bu tez çalışmasında, geliştirme sürecinde daha sonra tespit edilen kullanım istisnalarının yükünü azaltmak için istisnai durumlarla başa çıkmada RE aşamasını geliştirerek, SDLC'nin erken aşamalarında istisnaları keşfetmeye yardımcı olmayı amaçlayan birkaç adım içeren bir yaklaşım sunulmuştur. Bu adımlar: istisnaların sınıflandırılması, keşif ve modellemedir. Eksik gereksinimler konusu, ilk istisna sınıflaması olarak kabul edilir; Bu nedenle, ilk aşamada istisnalarla baş etme sürecini göz önünde bulundurarak gereksinimleri ortaya çıkarmaya yardımcı olacak bir yaklaşım önerilmiştir. Zayıf kullanıcıların sistemle etkileşimi ve zayıf sistem yanıtları, ikinci istisna sınıflandırması ve birinci sınıflamanın tamamlayıcısı olarak kabul edilir. İstisnalar tespit sürecini kolaylaştırmak için, kullanıcı gereksinimleri senaryolarını yazmak için kısıtlayıcı kurallar önerilmiştir. Ayrıca, bu istisna sınıflandırması için python programlama dili kullanılarak EDT adlı bir yazılım geliştirilmiştir. Ek olarak, UCM'lerin görsel senaryoları, normal senaryo adımlarının açıklığa kavuşturulmasında kullanıcı gereksinimlerinin modellenmesinde uyarlanmıştır ve ayrıca önerilen EDT, tespit edilen istisnaları da içerecek şekilde geliştirilmiştir. Yaklaşımımızın, yazılım geliştiricilerinin SDLC'nin erken aşamasında istisnalara odaklanmasını teşvik edeceğine inanıyoruz. Anahtar Kelimeler: Yazılım mühendisliği, istisnalar, doğal dil işleme, modelleme, yazılım testi.
Software reliability is the most important factor that should be considered in order to achieve the desired objectives of the software. Many efforts have been made to identify ways and means of helping software developers to build software that effectively meets the requirements of their stakeholders. Software engineering offers a systematic approach that contains many stages in an organized manner, each of which has output that effects on the rest of the development process. Thus, the success of these stages is therefore essential for software rigidity. Requirements engineering (RE) stage is the most important stage in these stages, and is based on the definition of what the software system to be developed should do, however many software systems failing to continue to perform their duties satisfactorily. The most important problems contributing to the emergence of such failures are the weakness in building the requirements of such systems or the emergence of problems during their implementation and delivery to the applicants. These failings result in systems failing to achieve their objectives. This is the exception, which is usually due to developers, who are not interested in them from the early stages of the development process, or may have ignored them even in the advanced stages. In this thesis, we presented an approach that contains several steps aimed at trying to help discover exceptions at an early stage of the SDLC, through improving the RE stage in dealing with exceptions early, in order to reduce the burden of handling exceptions if detected later in the development process.These steps are: classification of exceptions, their discovery and modeling. Missing requirements issue is considered to be the first exceptions classification; therefore we suggested an approach to help elicit the requirements in a manner that took into consideration the process of dealing with exceptions at an early stage. Poor users' interaction with the system and weak system responses is considered as the second exception classification, and the complement to the first classification. To facilitate the process of exceptions detection, restrictive rules are proposed for writing the scenarios of user requirements. Also, a tool named EDT was developed using python programming language to address this classification of exception. In addition, UCMs visual notations were adapted in the modeling of user requirements in the clarification of normal scenario steps, and also improed to include the exceptions detected by the proposed tool. We belief our approach will encourage software developers focus on exceptions at early stage of SDLC. Key Words: Software engineering, exceptions, natural language processing, modeling, software testing