Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: inżynieria oprogramowania

Sylabus przedmiotu Projektowanie bezpiecznych aplikacji internetowych:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Projektowanie bezpiecznych aplikacji internetowych
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Imed El Fray <Imed.El Fray@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW2 8 1,90,62egzamin
projektyP2 8 1,10,38zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Student powinień posiadać podstawowa znajomość systemów operacyjnych, inżynierii oprogramowania i podstaw ochrony informacji

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Ukształtowanie umiejetnosci formułowania wymagan dotyczacych funkcji zabezpieczajacych aplikacji, interpretowanie wymagan na funkcjonalność oraz określanie czy apliakcja rzeczywiście realizuje deklarowane funkcje zabezpieczajace
C-2Zapoznanie studentów z technikiami tworzenia profili i zadanie zabezpieczeń, dokumentacji itp. aplikacji zgodnie z wymaganiami COMMON CRITERIA, oraz z wymaganiami dotyczacymi uzasadnienia zaufania do aplikacji (wymagania dotyczace projektowania i konstruowania, testowania, itp. pod kontrolą bezpiecznego systemu zarządzania konfiguracji)

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
projekty
T-P-1Tworzenie profilu zabezpieczen (Protection Profile) i zadania zabezpieczeń (security target) aplikacji z uzyciem oprogramowania CCtoolbox4
T-P-2Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami i zmianami z uzyciem oprogramowania subversion2
T-P-3Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia2
T-P-4Tworzenia dokumentacji aplikacji zgodnie z wymaganiami2
10
wykłady
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji3
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji2
T-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.2
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci3
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
projekty
A-P-1Uczestnictwo w zajeciach10
A-P-2Przygotowanie do zajec laboratoryjnych i zaliczenie laboratorium22
A-P-3Przygotowanie sprawozdan z laboratoriów12
44
wykłady
A-W-1Przygotowanie i udział w zaliczeniu wykładu25
A-W-2Udział w konsultacjach do wykładu2
A-W-3Udział w wykładach10
37

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Cwiczenia laboratoryjne
M-2Wykład informacyjno/konwersatoryjny

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena na podstawie wejsciówki i sprawozdania z zajec laboratoryjnych
S-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/8_W01
Student potrafi formułować wymagań i specyfikacji funkcjonalnej projektowanej aplikacji, zdefiniować wymagąń na konstruowania tworzonego projektu, reprezentacje implementacji, modelowania polityki bezpieczenstwa itp. oraz dobierać rodzaje testów pod nadzorem systemu zarządzanie konfiguracji.
I_2A_W07, I_2A_W04, I_2A_W02, I_2A_W09, I_2A_W05T2A_W03, T2A_W04, T2A_W07, T2A_W08, T2A_W10C-2T-W-3, T-W-1, T-W-2, T-W-4, T-P-4M-2, M-1S-2, S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/8_U01
Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować i współuczestniczyć w procesie tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
I_2A_U04, I_2A_U11, I_2A_U13, I_2A_U14, I_2A_U07, I_2A_U12T2A_U07, T2A_U09, T2A_U11, T2A_U12, T2A_U14, T2A_U15, T2A_U16, T2A_U17, T2A_U18, T2A_U19C-1T-W-3, T-W-4, T-P-2, T-P-1, T-P-4, T-P-3M-2, M-1S-2, S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/8_W01
Student potrafi formułować wymagań i specyfikacji funkcjonalnej projektowanej aplikacji, zdefiniować wymagąń na konstruowania tworzonego projektu, reprezentacje implementacji, modelowania polityki bezpieczenstwa itp. oraz dobierać rodzaje testów pod nadzorem systemu zarządzanie konfiguracji.
2,0- student nie posiada wiedzą umożliwiającą mu uzyskania zaliczenia na 3.0
3,0- student zna metody i techniki identyfikacji zasobów, zagrożenie, itp. projektowanej aplikacji oraz potrafi dobierać odpowiednich wymagań funkcjonalnych spełniających podstawionych celów bezpieczeństwa.
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi formułować podstawowych wymagań na tworzenia profilu i zadania zabezpieczeń projektowanej aplikacji.
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi zdefiniować elementy konfiguracyjne podlegające zarządzaniu podczas tworzenia aplikacji
4,5Wymagania na 4.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
5,0Wymagania na 4.5 plus dodatkowo: - student potrafi dobierać i oceniać przepadki testowy, które są wymagane na uzasadnienie zaufania do aplikacji

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/8_U01
Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować i współuczestniczyć w procesie tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
2,0- student nie posiada umiejętność umożliwiająca mu uzyskania zaliczenia na 3.0
3,0- student potrafi przeprowadzić szczegółowego ocenę zidentyfikowanych zasobów, podatność, zagrożeń projektowanej aplikacji. -student potrafi formułować wymagań bezpieczeństwa i wymagań funkcjonalnych podczas tworzenie PP i ST dla projektowej dla aplikacji -student potrafi planować cykl życia tworzonej aplikacji
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi ocenić procedury zarządzania zmianami, wersjami oraz dokumentacją na etapie zarządzania konfiguracją aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi ocenić dokumentację projektu konstrukcyjno-deweloperskiego produktu (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implenetacji itp.).
4,5Wymagania na 4.0 plus dodatkowo: - student potrafi ocenić przyjętych plany testów aplikacji (konstruowanie grup testów, tworzone przypadki i procedur testowych, środowisko, metody oraz sposób realizacje testów)
5,0Wymagania na 4.5 plus dodatkowo: student formuje raporty z przebiegu ocenę każdego z osobna: - PP, ST projektowanej aplikacji, - wymagania na uzasadnienia zaufania do mechanizmów zabezpieczeń aplikacji.

Literatura podstawowa

  1. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 1 - Introduction and general model, Common Criteria portal, CCRA, 2009, Version 3.1, www.commoncriteriaportal.org
  2. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 2 - Security functional components, Common Criteria portal, CCRA, 2009, version 3.1, www.commoncriteriaportal.org
  3. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Part 3 - Security assurance components, Common Criteria portal, CCRA, 2009, Version 3.1, www.commoncriteriaportal.org

Literatura dodatkowa

  1. International Standard Organization, Common Criteria for Information Technology Security Evaluation - Information technology - Security techniques - Methodology for IT security evaluation, Common Criteria portal, CCRA, 2009, version 3.1, www.commoncriteriaportal.org

Treści programowe - projekty

KODTreść programowaGodziny
T-P-1Tworzenie profilu zabezpieczen (Protection Profile) i zadania zabezpieczeń (security target) aplikacji z uzyciem oprogramowania CCtoolbox4
T-P-2Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami i zmianami z uzyciem oprogramowania subversion2
T-P-3Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia2
T-P-4Tworzenia dokumentacji aplikacji zgodnie z wymaganiami2
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji3
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji2
T-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.2
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci3
10

Formy aktywności - projekty

KODForma aktywnościGodziny
A-P-1Uczestnictwo w zajeciach10
A-P-2Przygotowanie do zajec laboratoryjnych i zaliczenie laboratorium22
A-P-3Przygotowanie sprawozdan z laboratoriów12
44
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Przygotowanie i udział w zaliczeniu wykładu25
A-W-2Udział w konsultacjach do wykładu2
A-W-3Udział w wykładach10
37
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/8_W01Student potrafi formułować wymagań i specyfikacji funkcjonalnej projektowanej aplikacji, zdefiniować wymagąń na konstruowania tworzonego projektu, reprezentacje implementacji, modelowania polityki bezpieczenstwa itp. oraz dobierać rodzaje testów pod nadzorem systemu zarządzanie konfiguracji.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W07Posiada poszerzona wiedzę o funkcjonowaniu i modelowaniu złożonych systemów
I_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W02Ma wiedzę niezbędną do rozumienia społecznych, prawnych, etycznych i innych pozatechnicznych uwarunkowań działalności w dziedzinie informatyki
I_2A_W09Ma uporządkowaną, podbudowaną metodycznie i teoretycznie wiedzę w zakresie metod i technik projektowania systemów informatycznych
I_2A_W05Ma rozszerzoną i podbudowaną teoretycznie wiedzę z zakresu metod informatyki wykorzystywanych do rozwiązywania problemów w wybranych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
T2A_W08ma wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych pozatechnicznych uwarunkowań działalności inżynierskiej oraz ich uwzględniania w praktyce inżynierskiej
T2A_W10zna i rozumie podstawowe pojęcia i zasady z zakresu ochrony własności przemysłowej i prawa autorskiego oraz konieczność zarządzania zasobami własności intelektualnej; umie korzystać z zasobów informacji patentowej
Cel przedmiotuC-2Zapoznanie studentów z technikiami tworzenia profili i zadanie zabezpieczeń, dokumentacji itp. aplikacji zgodnie z wymaganiami COMMON CRITERIA, oraz z wymaganiami dotyczacymi uzasadnienia zaufania do aplikacji (wymagania dotyczace projektowania i konstruowania, testowania, itp. pod kontrolą bezpiecznego systemu zarządzania konfiguracji)
Treści programoweT-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.
T-W-1Techniki tworzenia Profili i Zadania Zabezpieczeń aplikacji
T-W-2Zarzadzanie wersjami i zmianami tworzonej aplikacji
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci
T-P-4Tworzenia dokumentacji aplikacji zgodnie z wymaganiami
Metody nauczaniaM-2Wykład informacyjno/konwersatoryjny
M-1Cwiczenia laboratoryjne
Sposób ocenyS-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-1Ocena formująca: Ocena na podstawie wejsciówki i sprawozdania z zajec laboratoryjnych
Kryteria ocenyOcenaKryterium oceny
2,0- student nie posiada wiedzą umożliwiającą mu uzyskania zaliczenia na 3.0
3,0- student zna metody i techniki identyfikacji zasobów, zagrożenie, itp. projektowanej aplikacji oraz potrafi dobierać odpowiednich wymagań funkcjonalnych spełniających podstawionych celów bezpieczeństwa.
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi formułować podstawowych wymagań na tworzenia profilu i zadania zabezpieczeń projektowanej aplikacji.
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi zdefiniować elementy konfiguracyjne podlegające zarządzaniu podczas tworzenia aplikacji
4,5Wymagania na 4.0 plus dodatkowo: - student potrawi formułować wymagania dotyczące specyfikacji funkcjonalnej, projektu wysokiego i niskiego poziomu, reprezentacje implementacji oraz modelowania polityki bezpieczeństwa tworzonej aplikacji
5,0Wymagania na 4.5 plus dodatkowo: - student potrafi dobierać i oceniać przepadki testowy, które są wymagane na uzasadnienie zaufania do aplikacji
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/8_U01Student potrafi ocenić dokumentacji projektowanej aplikacji, stosować najnowsze metody i techniki projektowania bezpiecznych mechanizmów zabezpieczeń w aplikacjach wrażliwych, kontrolować i współuczestniczyć w procesie tworzenie aplikacji (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implementacji , testowania itp.) pod nadzorem systemu zarządzania konfiguracji.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
I_2A_U11Potrafi dokonywać analizy i syntezy złożonych systemów
I_2A_U13Potrafi dobrać, porównać i ocenić rozwiązania projektowe w wybranym obszarze zastosowań
I_2A_U14Ma umiejętność tworzenia interfejsów oraz wykorzystania różnych sposobów komunikacji międzysystemowej
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U11potrafi formułować i testować hipotezy związane z problemami inżynierskimi i prostymi problemami badawczymi
T2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U14potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działali inżynierskich
T2A_U15potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T2A_U16potrafi zaproponować ulepszenia (usprawnienia) istniejących rozwiązań technicznych
T2A_U17potrafi dokonać identyfikacji i sformułować specyfikację złożonych zadań inżynierskich, charakterystycznych dla studiowanego kierunku studiów, w tym zadań nietypowych, uwzględniając ich aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
T2A_U19potrafi - zgodnie z zadaną specyfikacją, uwzględniającą aspekty pozatechniczne - zaprojektować złożone urządzenie, obiekt, system lub proces, związane z zakresem studiowanego kierunku studiów, oraz zrealizować ten projekt - co najmniej w części - używając właściwych metod, technik i narzędzi, w tym przystosowując do tego celu istniejące lub opracowując nowe narzędzia
Cel przedmiotuC-1Ukształtowanie umiejetnosci formułowania wymagan dotyczacych funkcji zabezpieczajacych aplikacji, interpretowanie wymagan na funkcjonalność oraz określanie czy apliakcja rzeczywiście realizuje deklarowane funkcje zabezpieczajace
Treści programoweT-W-3Konstruowanie aplikacji - wymagania funkcjonalne, projekt niskiego i wysokiego poziomu, implementacja, itp.
T-W-4Testowanie aplikacji - testy funkcjonalne, pokrycia i głebokosci
T-P-2Zarzadzanie konfiguracja aplikacji – Zarzadzaniie wersjami i zmianami z uzyciem oprogramowania subversion
T-P-1Tworzenie profilu zabezpieczen (Protection Profile) i zadania zabezpieczeń (security target) aplikacji z uzyciem oprogramowania CCtoolbox
T-P-4Tworzenia dokumentacji aplikacji zgodnie z wymaganiami
T-P-3Testowanie aplikacji z wykorzystaniem ngtest – testy jednostkowe, głebokosci i pokrycia
Metody nauczaniaM-2Wykład informacyjno/konwersatoryjny
M-1Cwiczenia laboratoryjne
Sposób ocenyS-2Ocena podsumowująca: Test (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
S-1Ocena formująca: Ocena na podstawie wejsciówki i sprawozdania z zajec laboratoryjnych
Kryteria ocenyOcenaKryterium oceny
2,0- student nie posiada umiejętność umożliwiająca mu uzyskania zaliczenia na 3.0
3,0- student potrafi przeprowadzić szczegółowego ocenę zidentyfikowanych zasobów, podatność, zagrożeń projektowanej aplikacji. -student potrafi formułować wymagań bezpieczeństwa i wymagań funkcjonalnych podczas tworzenie PP i ST dla projektowej dla aplikacji -student potrafi planować cykl życia tworzonej aplikacji
3,5Wymagania na 3.0 plus dodatkowo: - student potrafi ocenić procedury zarządzania zmianami, wersjami oraz dokumentacją na etapie zarządzania konfiguracją aplikacji
4,0Wymagania na 3.5 plus dodatkowo: - student potrafi ocenić dokumentację projektu konstrukcyjno-deweloperskiego produktu (specyfikacja funkcjonalna, projekt wysokiego i niskiego poziomu, reprezentacje implenetacji itp.).
4,5Wymagania na 4.0 plus dodatkowo: - student potrafi ocenić przyjętych plany testów aplikacji (konstruowanie grup testów, tworzone przypadki i procedur testowych, środowisko, metody oraz sposób realizacje testów)
5,0Wymagania na 4.5 plus dodatkowo: student formuje raporty z przebiegu ocenę każdego z osobna: - PP, ST projektowanej aplikacji, - wymagania na uzasadnienia zaufania do mechanizmów zabezpieczeń aplikacji.