U ovoj lekciji ćemo obrađivati:
Softverski razvojni alati su računarski zasnovani alati koji se koriste kao podrška životnom ciklusu razvoja softvera. Alati omogućavaju automatizaciju dobro definisanih akcija koje se ponavljaju, smanjujući tako opterećenje softver inženjera koji je slobodan da se koncentriše na kreativnije aspekte procesa.
Alati su najčešće dizajnirani da podrže određeni metod softverskog inženjerstva, smanjujući svako administrativno opterećenje vezano za ručnu primenu metoda. Kao i same metode softverskog inženjerstva i alati su kreirani sa ciljem sistematičnijeg rada softver inženjera i mogu da variraju u opsegu od podrške individualnim zadacima do sveobuhvatnih alata kompletnog životnog ciklusa razvoja softvera.
Metode softverskog inženjerstva nameću strukturu aktivnosti softverskog inženjerstva sa ciljem kreiranja aktivnosti sistematičnim, sa boljim šansama za uspeh. Metode obično pružaju notaciju i rečnik, procedure za izvršavanje zadataka i smernice za proveru procesa i proizvoda.
Dok postoje detaljna uputstva za specifične alate i različita istraživanja inovativnih alata, opšta tehnička uputstva za alate softverskog inženjerstva su jako retka i oskudna. Jedan od velikih problema je veliki stepen promene u softverskim alatima generalno.
Alati i metode softverskog inženjerstva pokrivaju kompletan proces životnog ciklusa i prema tome vezani su za svaku oblast softverskog inženjerstva.
Na sledećoj slici prikazana je struktura oblasti znanja SOFTWARE ENGINEERING TOOLS AND METHODS prema SWEBOK-u, IEEE Computer Society.
Alati softverskog inženjerstva mogu se podeliti u sledeće grupe:
Alati za upravljanje softverskim zahtevima su klasifikovani u dve kategorije:
Alati za modelovanje se koriste za izvlačenje, analiziranje, specifikaciju i validaciju softverskih zahteva. Sa druge strane, alati za praćenje zahteva su postali izuzetno važni kako kompleksnost softvera raste. Svaki softverski zahtev mora biti ispraćen kroz proces dizajna, kodiranja i testiranja, čime važnost njihovog efikasnog praćenja kroz proces razvoja dobija sve više na značaju. Pošto su relevantni i u ostalim procesima životnog ciklusa, alati za praćenje se predstavljaju odvojeno od alata za modelovanje zahteva.
U sledećoj tabeli je dat pregled alata za upravljanje softverskim zahtevima.
Alati za upravljanje zahtevima sortirani prema imenu (izvor: INCOSE–International Council on Systems Engineering http://www.incose.org) |
|
Accept Requirements (Accept 360) Accept Software | http://www.acceptsoftware.com |
Aligned Elements Version 1.5 (AE 1.5) Aligned AG | http://www.aligned.ch/ |
Avenqo PEP Version 1.2 Avenqo | http://www.avenqo.com |
CASE Spec Version 8.15 Goda Software | http://www.casespec.net/products.htm |
Cognition Cockpit (Cockpit) Version 5.1 Cognition Corporation | http://www.cognition.us |
Contour by Jama Software (Contour) Version 2.4 Jama Software | http://www.jamasoftware.com |
CORE Version 5.1.5 Vitech Corporation | http://www.vitechcorp.com |
Cradle Version 5.7 3SL, Inc. | http://www.threesl.com |
Dimensions RM (DimRM) Version 10.1.4 Serena Software | http://www.serena.com/products/rm/index.html |
e-LM.com (e-LM) Version 3.00 e-LM.com | http://www.e-lm.com |
Enterprise Architect Version 7.1 Sparx Systems | http://www.sparxsystems.com |
Envision VIP Version 9 Future Tech Systems, Inc. | http://www.future-tech.com/prod01.htm |
IBM Rational RequisitePro Version 7.1 IBM | http://www-01.ibm.com/software/awdtools/reqpro/ |
IRQA Version 4 Visure Solutions | http://www.visuresolutions.com/products/index.php |
Kovair Global Lifecycle (Kovair) Version 5.5 Kovair Software, Inc. | http://www.kovair.com |
Lighthouse Requirements Management Artifact Software | http://www.artifactsoftware.com/products/Requirements-Management.html |
Polarion Requirements Version 2 Polarion Software | http://www.polarion.com/products/requirements/index.php |
Project & Test Engineering System (PTESY) Version 5.4 Andromeda s.r.l. | http://www.andromeda-srl.com/PRODUCTS/PTESY/brochure.html |
RTIME Version 5 Qavantage | http://www.qavantage.com |
RaQuest Version 3.0 SparxSystems Japan Co., Ltd | http://www.raquest.com/ |
ReqMan Version 2.0 RequirementOne Inc. | http://www.requirementone.com |
Requirements Manager (ReMa) Accord Software and Systems Pvt. Ltd. | http://www.rema-soft.com |
SoftREQ Software Requirements, Inc. | http://www.softreq.com |
Teamcenter Requirements (Tc RM) Version 8 Siemens | http://www.siemens.com/plm |
Telelogic DOORS Version 9 Telelogic, An IBM Company | http://www.telelogic.com/doors |
Ova podoblast pokriva alate za kreiranje i proveru softverskog dizajna. Postoji više takvih alata, sa mnogo raznolikosti koja je posledica raznolikosti notacija i metoda softverskog dizajna. Uprkos ovoj raznolikosti ipak, ne postoji posebna podela alata u ovoj oblasti.
Ovi alati se koriste da proizvedu i prevedu programsku predstavu, kao što je na primer izvorni kod, koja je dovoljno detaljna i eksplicitna radi omogućavanja mašinskog izvršavanja.
U ovu grupu alata spadaju programski editori, kompajleri, interpreteri i Debugger-i.
Programski editori se koriste za kreiranje i modifikaciju programa i dokumenata povezanih sa njima. To mogu biti editori opšte namene ili specijalizovani za određenu vrstu jezika.
Kompajleri tradicionalno predstavljaju neinteraktivne prevodioce izvornog koda, ali je čest slučaj integracije kompajlera i programskih editora, radi obezbeđivanja integrisanih programerskih okruženja. U ovom delu se takođe obrađuju preprocesori, linkeri i generatori koda.
Interpreteri omogućavaju softversko izvršavanje kroz emulaciju. Oni podržavaju aktivnosti softverske konstrukcije, putem pružanja kontrolisanijeg okruženja za izvršavanje programa.
Debageri podržavaju proces softverske konstrukcije, ali se razlikuju od programskih editora i kompajlera. To su programi koji se koriste za testiranje, identifikovanje izvora greške i njenog otklanjanja u drugim programima.
U ovu grupu alata spadaju test generatori, test okruženja, alati test evaluacije, alati upravljanja testiranjem i alati za analizu performansi.
Test generatori se koriste kao podrška razvoju test slučajeva. Test okruženja omogućavaju izvršavanje test slučajeva u kontrolisanom okruženju, gde se posmatra ponašanje objekata koji se testiraju.
Alati test evaluacije se koriste radi ocene rezultata testiranja, kao pomoć u određivanju da li je ili ne, posmatrano ponašanje u skladu sa očekivanim ponašanjem. Alati za upravljanje testiranjem pružaju podršku za sve aspekte procesa softverskog testiranja. Alati za analizu performansi se koriste za merenje i analizu softverskih performansi što čini specijalizovanu formu testiranja gde je cilj procenjivanje performansi, pre nego funkcionalnosti softvera.
Ova oblast obuhvata alate koji su posebno važni tokom softverskog održavanja, gde se modifikuje postojeći softver. Dve kategorije ovih alata su: sveobuhvatni alati, reinženjering alati.
Sveobuhvatni alati pomažu u čovekovom razumevanju programa što uključuje i alate za vizuelizaciju, kao što su animatori. Reinženjering se definiše kao ispitivanje i prepravka datog softvera radi konstituisanja u novoj formi i uključuje sledeće implementacije u novoj formi. Alati za reinženjering daju podršku ovoj aktivnosti.
Reference