programų sistemų inžinerija - mif.vu.ltragaisis/psi_mag2014/psi_1.tvarka_ps_samprata.pdf ·...

21
Programų sistemų inžinerija 2014-02-05 Saulius Ragaišis, VU MIF [email protected]

Upload: dangthuy

Post on 05-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Programų sistemų inžinerija

2014-02-05

Saulius Ragaišis, VU MIF [email protected]

Page 2: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Susipažinimas

Klausytojai:

Išklausyti programų sistemų inžinerijos kursai

Profesinė patirtis

Dabar klausomi pasirenkami dalykai

IT projektų valdymas

Žmogaus ir kompiuterio sąveikos projektavimas

Programų sistemų architektūra

Page 3: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

PSI praktikoje

Page 4: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

PSI praktikoje (2)

Page 5: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Kurso struktūra ir vertinimo strategija

Egzaminas (teoriniai klausimai ir praktinės užduotys): iki 5 balų

- Būtina surinkti bent 1 balą

Darbas semestro metu: iki 5 balų

Pranešimas seminare: iki 3 balų

Būtina gauti bent 1 balą

Praleistas pranešimas -1 balas

Esminis vertinimo kriterijus: klausytojų įtraukimas į diskusiją.

Papildomas darbas:

Aktyvumas paskaitų metu

Aktyvumas seminarų metu

Kolegų vertinimas

Pranešimo medžiaga

Klausimai egzaminui

Page 6: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Seminarų temos (1)

Process models (CH 3)

Software engineering practice (CH 5)

Requirements engineering (CH 7)

Building the analysis model (CH 8)

Design engineering (CH 9)

Creating an architectural design (CH 10)

Modelling component-level design (CH 11)

Performing user interface design (CH 12)

Testing strategies (CH 13)

Testing tactics (CH 14)

Product metrics (CH 15)

Page 7: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Seminarų temos (2)

Web engineering. Initiating a WebApp project (CH 16-17)

Project management (CH 21)

Metrics for process and project (CH 22)

Estimation (CH 23)

Project scheduling (CH 24)

Risk management (CH 25)

Quality management (CH 26)

Change management (CH 27)

Formal methods (CH 28)

Cleanroom software engineering (CH 29)

Page 8: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Šaltiniai seminarams

Roger S Pressman,

Software Engineering: A Practitioner's Approach,

6th Edition, 2005, ISBN 007-123840-9

Kiti magistrantų pasiūlyti šaltiniai

Page 9: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Organizacinis patikslinimas

Paskaitos nuo 16:00, seminarai nuo 17:45.

Pastaba: pranešimui seminare skiriama 1 valanda,

todėl seminarų, kurių metu bus daromi 2

pranešimai, trukmė 2 valandos.

Page 10: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Programų sistemų inžinerijos samprata

Computing Curricula 2005: The Overview Report. ACM and IEEE, 2006. http://www.acm.org/education/curric_vols/CC2005-March06Final.pdf

Išskiriamos 5 savarankiškos disciplinos:

Kompiuterių inžinerija (angl. Computer Engineering);

Kompiuterių mokslas (angl. Computer Science);

Informacinės sistemos (angl. Information Systems);

Informacinės technologijos (angl. Information Technology);

Programų sistemų inžinerija (angl. Software Engineering).

Page 11: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Informatikos (Computing) disciplinos

Kompiuterių techninė

įranga ir architektūra

Sistemų infrastruktūra

Programų kūrimo

metodai ir technologijos

Taikymų technologijos

Organizaciniai aspektai

ir informacinės sistemos

Teorija

Principai

Inovacijos

Taikymas

Diegimas

KonfigūravimasLabiau teorinis Labiau taikomasis

Kūrimas

Kompiuterių inžinerija

Kompiuterių techninė

įranga ir architektūra

Sistemų infrastruktūra

Programų kūrimo

metodai ir technologijos

Taikymų technologijos

Organizaciniai aspektai

ir informacinės sistemos

Teorija

Principai

Inovacijos

Taikymas

Diegimas

KonfigūravimasLabiau teorinis Labiau taikomasis

Kūrimas

Kompiuterių mokslas

Informacinės sistemos

Kompiuterių techninė

įranga ir architektūra

Sistemų infrastruktūra

Programų kūrimo

metodai ir technologijos

Taikymų technologijos

Organizaciniai aspektai

ir informacinės sistemos

Teorija

Principai

Inovacijos

Taikymas

Diegimas

KonfigūravimasLabiau teorinis Labiau taikomasis

Kūrimas

Informacinės technologijos

Kompiuterių techninė

įranga ir architektūra

Sistemų infrastruktūra

Programų kūrimo

metodai ir technologijos

Taikymų technologijos

Organizaciniai aspektai

ir informacinės sistemos

Teorija

Principai

Inovacijos

Taikymas

Diegimas

KonfigūravimasLabiau teorinis Labiau taikomasis

Kūrimas

Page 12: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Informatikos (Computing) disciplinos (2)

Programų sistemų inžinerija

Kompiuterių techninė

įranga ir architektūra

Sistemų infrastruktūra

Programų kūrimo

metodai ir technologijos

Taikymų technologijos

Organizaciniai aspektai

ir informacinės sistemos

Teorija

Principai

Inovacijos

Taikymas

Diegimas

KonfigūravimasLabiau teorinis Labiau taikomasis

Kūrimas

Page 13: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Disciplinų nagrinėjamos sritys

Kompiuterių inžinerija

Informacija

Valdymas

Programinė įranga

Organizacijos ir verslas

Fizika

30 %

25 %

20 %

15 %

10 %

5 %Matematika

Informatikos teorija

Techninė įranga ir

architektūra

Infrastruktūra

Žmonės

Kompiuterių mokslas

Informacija

Valdymas

Programinė įranga

Organizacijos ir verslas

Fizika

30 %

25 %

20 %

15 %

10 %

5 %Matematika

Informatikos teorija

Techninė įranga ir

architektūra

Infrastruktūra

Žmonės

Informacinės sistemos

Informacija

Valdymas

Programinė įranga

Organizacijos ir verslas

Fizika

30 %

25 %

20 %

15 %

10 %

5 %Matematika

Informatikos teorija

Techninė įranga ir

architektūra

Infrastruktūra

Žmonės

Informacinės technologijos

Informacija

Valdymas

Programinė įranga

Organizacijos ir verslas

Fizika

30 %

25 %

20 %

15 %

10 %

5 %Matematika

Informatikos teorija

Techninė įranga ir

architektūra

Infrastruktūra

Žmonės

Page 14: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Disciplinų nagrinėjamos sritys (2)

Programų sistemų inžinerija

Informacija

Valdymas

Programinė įranga

Organizacijos ir verslas

Fizika

30 %

25 %

20 %

15 %

10 %

5 %Matematika

Informatikos teorija

Techninė įranga ir

architektūra

Infrastruktūra

Žmonės

Page 15: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Projektas SWEBOK

SWEBOK® Guide to the Software Engineering Body of Knowledge, 2004 Version. IEEE, 2004. http://www.swebok.org/

Šio projekto tikslas apibrėžti pagrindines programų sistemų inžinieriams būtinų žinių sritis.

Buvo sukurtos kelios versijos::

Šiaudų amžiaus žmogaus versija (Straw Man Version) 1998 metais;

Akmens amžiaus žmogaus versijos (Stone Man Versions) 1999-2001 metais;

Geležies amžiaus žmogaus versija (Iron Man Version) 2004 metais.

SWEBOK® v3.0. Guide to the Software Engineering Body of Knowledge. IEEE, 2014. (užsiregistravus galima atsisiųsti)

Page 16: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Žinių sritys ir esminės jos temos

1 Programų sistemų reikalavimai (angl. Software Requirements):

- Reikalavimų pagrindai (angl. Software Requirements Fundamentals)

- Reikalavimų procesas (angl. Requirements Process)

- Reikalavimų išgavimas (angl. Requirements Elicitation)

- Reikalavimų analizė (angl. Requirements Analysis)

- Reikalavimų specifikavimas (angl. Requirements Specification)

- Reikalavimų validavimas (angl. Requirements Validation)

- Praktiniai aspektai (angl. Practical Considerations)

2 Programų sistemų projektavimas (angl. Software Design):

- Projektavimo pagrindai (angl. Software Design Fundamentals)

- Esminės projektavimo problemos (angl. Key Issues in Software Design)

- Programų sistemų struktūra ir architektūra (angl. Software Structure and Architecture)

- Projekto kokybės analizė ir vertinimas (angl. Software Design Quality Analysis and

Evaluation)

- Projektavimo notacijos (angl. Software Design Notations)

- Projektavimo strategijos ir metodai (angl. Software Design Strategies and Methods)

Page 17: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Žinių sritys ir esminės jos temos (2)

3 Programų sistemų kūrimas (angl. Software Construction):

- Kūrimo pagrindai (angl. Software Construction Fundamentals)

- Kūrimo valdymas (angl. Managing Construction)

- Praktiniai aspektai (angl. Practical Considerations)

4 Programų sistemų testavimas (angl. Software Testing):

- Testavimo pagrindai (angl. Software Testing Fundamentals)

- Testavimo lygiai (angl. Test Levels)

- Testavimo metodai (angl. Testing Techniques)

- Matavimai, susiję su testavimu (angl. Test Related Measures)

- Testavimo procesas (angl. Test Process)

5 Programų sistemų priežiūra (angl. Software Maintenance):

- Priežiūros pagrindai (angl. Software Maintenance Fundamentals)

- Esminės priežiūros problemos (angl. Key Issues in Software Maintenance)

- Priežiūros procesas (angl. Maintenance Process)

- Priežiūros metodai (angl. Techniques for Maintenance)

Page 18: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Žinių sritys ir esminės jos temos (3)

6 Programų sistemų konfigūracijos valdymas (angl. Software Configuration

Management):

- Konfigūracijos valdymo procesas (angl. Management of the SCM Process)

- Konfigūracijos identifikavimas (angl. Software Configuration Identification)

- Konfigūracijos kontroliavimas (angl. Software Configuration Control)

- Konfigūracijos būsenos valdymas (angl. Software Configuration Status Accounting)

- Konfigūracijos auditas (angl. Software Configuration Auditing)

- Konfigūracijos išleidimų valdymas ir pateikimas (angl. Software Configuration Release

Management and Delivery)

7 Programų sistemų projektų valdymas (angl. Software Engineering Management):

- Inicijavimas ir apimties apibrėžimas (angl. Initiation and Scope Definition)

- Projekto planavimas (angl. Software Project Planning)

- Projekto vykdymas (angl. Software Project Enactment)

- Peržiūra ir vertinimas (angl. Review and Evaluation)

- Uždarymas (angl. Closure)

- Programų inžinerijos matavimai (angl. Software Engineering Measurement)

Page 19: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Žinių sritys ir esminės jos temos (4)

8 Programų sistemų kūrimo procesas (angl. Software Engineering Process):

- Proceso įgyvendinimas ir keitimas (angl. Process Implementation and Change)

- Proceso apibrėžimas (angl. Process Definition)

- Proceso vertinimas (angl. Process Assessment)

- Proceso ir produkto matavimai (angl. Process and Product Measurement)

9 Programų sistemų metodai ir įrankiai (angl. Software Engineering Tools and Methods):

- Reikalavimų įrankiai (angl. Software Requirements Tools)

- Projektavimo įrankiai (angl. Software Design Tools)

- Kūrimo įrankiai (angl. Software Construction Tools)

- Testavimo įrankiai (angl. Software Testing Tools)

- Priežiūros įrankiai (angl. Software Maintenance Tools)

- Konfigūracijos valdymo įrankiai (angl. Software Configuration Management Tools)

- Projektų valdymo įrankiai (angl. Software Engineering Management Tools)

- Programų kūrimo proceso įrankiai (angl. Software Engineering Process Tools)

- Kokybės užtikrinimo įrankiai (angl. Software Quality Tools)

- Įvairialypiai įrankiai (angl. Miscellaneous Tools Issues)

- Euristiniai metodai (angl. Heuristic Methods)

- Formalūs metodai (angl. Formal Methods)

- Prototipavimo metodai (angl. Prototyping Methods)

Page 20: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Žinių sritys ir esminės jos temos (5)

10 Programų sistemų kokybė (angl. Software Quality):

- Kokybės pagrindai (angl. Software Quality Fundamentals)

- Kokybės valdymo procesas (angl. Software Quality Management Process)

- Praktiniai aspektai (angl. Practical Considerations)

11 Susijusių disciplinų žinios (angl. Knowledge Areas of the Related Disciplines):

- Kompiuterių inžinerija (angl. Computer Engineering)

- Kompiuterių mokslas (angl. Computer Science)

- Valdymas (angl. Management)

- Matematika (angl. Mathematics)

- Projektų valdymas (angl. Project Management)

- Kokybės valdymas (angl. Quality Management)

- Programų sistemų ergonomika (angl. Software Ergonomics)

- Sistemų inžinerija (angl. System Engineering)

Page 21: Programų sistemų inžinerija - mif.vu.ltragaisis/PSI_mag2014/PSI_1.Tvarka_PS_samprata.pdf · Testing strategies (CH 13) Testing tactics (CH 14) Product metrics (CH 15) Seminarų

Klausimai

?