ynieria oprogramowania wprowadzenie do przedmiotuwazniak.mimuw.edu.pl/images/6/67/io-1-wyk.pdf ·...
TRANSCRIPT
1
In�ynieria oprogramowania
Wprowadzenie do przedmiotu
����������� ���� � �� � � � ������� ������ � �� � � � ������� ������ � � � ������
� ������ � ���� �� �� ���� ���������������� � ���� �� �� ����
! ��� ����� � ���� �� �� ����
↑↑↑↑ " �����������# ���������� ���� ��� ����� ���������
Witam Pa�stwa serdecznie na pierwszym wykładzie dotycz�cym in�ynierii oprogramowania. Dzisiejszy wykład b�dzie troch� przypominał ogl�danie okolicy z lotu ptaka. Z tej perspektywy nie wida� wielu, by� mo�e bardzo wa�nych, szczegółów, ale za to ma si� obraz cało�ci. I ten obraz cało�ci, w odniesieniu do in�ynierii oprogramowania, b�d� si� starał w trakcie dzisiejszego wykładu stworzy�.
2
In�ynieria oprogramowania
Wprowadzenie (2)
Definicja
$ ����������� �����# �������% �&� � �������������% �&� ���' ����% ������' ������ ��� ���&� �������������� ��� � �# ��������% ��# �����(
�� � � �� � � � � � � �
�� � � �� � � � � � � � �� �� � � � �� � � � � ��� � �� �� � � ��� � � � �� � �� � �
Zgodnie ze standardowym słownikiem in�ynierii oprogramowania opracowanym przez IEEE, in�ynieria oprogramowania jest to zastosowanie systematycznego, zdyscyplinowanego, ilo�ciowego podej�cia do rozwoju, eksploatacji i utrzymania oprogramowania.
3
In�ynieria oprogramowania
Wprowadzenie (3)
Definicja
$ ����������� �����# �������% �&� � �������������% �&� ���' ����% ������' ������ ��� ���&� �������������� ��� � �# ��������% ��# �����(
�� � � �� � � � � � � �
�� � � �� � � � � � � � �� �� � � � �� � � � � ��� � �� �� � � ��� � � � �� � �� � �
��� �������
Krótko mówi�c, jest to zastosowanie in�ynierskiego podej�cia do oprogramowania. Taka definicja jest krótka (i to jest jej zalet�), ale – niestety – nie wyja�nia zbyt szczegółowo, co wchodzi w zakres in�ynierii oprogramowania.
4
In�ynieria oprogramowania
Wprowadzenie (4)
Computing Curricula 2001
Okre� leniem zakresu wiedzy dotycz�cej ró�nych obszarów informatyki, w tym równie� in�ynierii oprogramowania, od wielu lat zajmuj� si� wspólnie dwa, najwi�ksze na �wiecie, towarzystwa informatyczne: IEEE Computer Society i Association for Computing Machinery (w skrócie ACM). Oba powstały tu� po II Wojnie �wiatowej w Stanach Zjednoczonych i maj� teraz (razem) około 180 tys. członków na całym �wiecie (dla porównania, Polskie Towarzystwo Informatyczne ma około tysi�ca członków). Wydaj� wysokiej rangi czasopisma naukowe, organizuj� liczne i bardzo wa�ne konferencje oraz zawody dla studentów takie, jak IEEE Computer Society International Design Competition i ACM InternationalCollegiate Programming Contest.
5
In�ynieria oprogramowania
Wprowadzenie (5)
Computing Curricula 2001
)* + ,
)* - -
Pierwsze rekomendacje dotycz�ce studiów informatycznych powstały pod auspicjami ACM w 1968 roku. IEEE Computer Society opracowało swoje rekomendacje po raz pierwszy w 1977 roku.
6
In�ynieria oprogramowania
Wprowadzenie (6)
Computing Curricula 2001
Pod koniec lat 80-tych oba towarzystwa postanowiły poł�czy� swoje siły i wspólnie opracowały standard nauczania zwany Computing Curricula 1991. Dziesi�� lat pó�niej powstała nowa wersja zwana Computing Curricula 2001.
7
In�ynieria oprogramowania
Wprowadzenie (7)
Computing Curricula 2001
� � ���������������� ���������% ��# �����. �% ���� # ��� �����' /. ��� �����������(��# ���������� ����# �����������0 ��� ����% ���������� 1 � ����������% # ������% ��# (��# ���������� ����2��# �����3 ��4 �����# �������� � ������������% �����5 �� ������� ��6 ��# ���� ��� ���� �����7�� �����������% ��# ������ �����6 ���� �����
In�ynieria oprogramowania jest jednym z czternastu obszarów informatyki wyodr�bnionych w tym dokumencie.
8
In�ynieria oprogramowania
Wprowadzenie (8)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
� 6 ��% ��������
� ���������
W ramach in�ynierii oprogramowania jest osiem jednostek wiedzy o charakterze obligatoryjnym (czyli ka�dy informatyk musi to wiedzie�) i cztery opcjonalne.
9
In�ynieria oprogramowania
Wprowadzenie (9)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
W�ród obowi�zkowych jednostek wiedzy mamy dwie dotycz�ce czynno�ci poprzedzaj�cych samo kodowanie programu. Jest to specyfikacja wymaga�, czyli ustalenie co budowany system ma robi� i projektowanie oprogramowania, czyli – w du�ym uproszczeniu – zaproponowanie jego struktury.
10
In�ynieria oprogramowania
Wprowadzenie (10)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Kolejne dwie jednostki dotycz� walidacji i weryfikacji oprogramowania (czyli, inaczej mówi�c, kontroli jako�ci) i jego ewolucji, czyli utrzymania u�yteczno�ci programu i umiej�tnego wprowadzania do niego koniecznych zmian.
11
In�ynieria oprogramowania
Wprowadzenie (11)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
In�ynieria oprogramowania obejmuje równie� takie jednostki wiedzy, jak procesy wytwarzania oprogramowania (rozpatruje si� tutaj, m.in. ró�ne modele cyklu �ycia oprogramowania, co ma potem wpływ na planowanie przedsi�wzi�� programistycznych) i zarz�dzanie przedsi�wzi�ciami programistycznymi.
12
In�ynieria oprogramowania
Wprowadzenie (12)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Ostatnie dwie obowi�zkowe jednostki wiedzy dotycz� narz�dzi i �rodowisk programistycznych oraz interfejsów programistycznych – w skrócie API od ang. Application Programming Interface.
13
In�ynieria oprogramowania
Wprowadzenie (13)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
W�ród jednostek opcjonalnych s� metody formalne (czyli o charakterze matematycznym), systemy specjalne (np. systemy czasu rzeczywistego steruj�ce prac� elektrowni, czy lotem samolotu), komponenty programistyczne i zagadnienia dot. niezawodno�ci oprogramowania.
14
In�ynieria oprogramowania
Wprowadzenie (14)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Polski standard kształcenia dla kierunku Informatyka, przyj�ty przez Rad� Główn� Szkolnictwa Wy�szego w czerwcu 2006 roku, obejmuje osiem jednostek wiedzy, które według Computing Curricula 2001 maj� charakter obligatoryjny.
15
In�ynieria oprogramowania
Wprowadzenie (15)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
W ramach tego przedmiotu skoncentrujemy si� na pierwszych sze�ciu obszarach, natomiast narz�dzia, jak i API b�d� omawiane w ramach innych przedmiotów. Na przykład takie narz�dzia jak kompilatory ró�nych j�zyków programowania b�d� omawiane przy okazji prezentowania paradygmatów programowania, na których te j�zyki si� opieraj�. W ramach in�ynierii oprogramowania b�dziemy prezentowa� tylko narz�dzia wspomagaj�ce dotycz�ce takich zagadnie�, jak zarz�dzanie konfiguracj�, tworzenie modeli w j�zyku UML, czy testowanie. Z kolei API b�d� prezentowane na przedmiotach zwi�zanych z ró�nymi obszarami informatyki. Na przykład API dotycz�ce wybranego systemu operacyjnego b�dzie prezentowane w ramach zaj�� z systemów operacyjnych, API zwi�zane z pakietami graficznymi – na przedmiocie dotycz�cym grafiki komputerowej itd.
16
In�ynieria oprogramowania
Wprowadzenie (16)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
W dalszej cz��ci wykładu chciałbym krótko omówi� tematyk� kolejnych wykładów, jakie nas czekaj� w ramach tego przedmiotu.
17
In�ynieria oprogramowania
Wprowadzenie (17)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Zaczniemy od zasad skutecznego działania.
18
In�ynieria oprogramowania
Wprowadzenie (18)
Pracodawcy si� skar��
� �6 ���������������4�9 ��1 ��# ������/ &
� # ��9 ������������ ���� � �% ��������������� ������&
� 6 � ���# �# ���1 ���' ��������� ��% � �����������% �� �� � 9 ��������� ����9 ����������9
Szefowie ameryka�skich firm informatycznych skar�� si�, �e absolwenci ameryka�skich uczelni nie potrafi� si� komunikowa�, maj� niedostateczne przygotowanie do pracy w zespole i �e brak im umiej�tno�ci skutecznego i produktywnego zarz�dzania ich prac� indywidualn�. Prawdopodobnie tego typu zastrze�enia mo�na by usłysze� równie� z ust pracodawców polskich. Dlatego zanim zaczniemy prezentowa� ró�ne metody i narz�dzia in�ynierii oprogramowania postanowiłem najpierw przedstawi� ogólne zasady skutecznego działania, które stanowi� podstaw� dla szczegółowych rozwi�za� i bez rozumienia których trudno oczekiwa� satysfakcjonuj�cych efektów.
19
In�ynieria oprogramowania
Wprowadzenie (19)
Zasady Covey’ego
� ���� ��= �> ��8 ������? �1 ������9 � ��
@ - ����; ������� ��% ��� �� ����A
Zasady te b�d� oparte na słynnej ksi��ce Stephena Covey’ego „7 nawyków skutecznego działania”. Na slajdzie widzimy okładk� do jej wersji d�wi�kowej. Ksi��ka ta została równie� wydana w j�zyku polskim.
20
In�ynieria oprogramowania
Wprowadzenie (20)
Zasady Covey’ego
� ���� ��= �> ��
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /
Ogólnie mówi�c, Stephen Covey proponuje swoim czytelnikom rozwój osobowo�ci od stanu zale�no�ci od innych osób, poprzez niezale�no�� od innych do współzale�no�ci z innymi osobami.
21
In�ynieria oprogramowania
Wprowadzenie (21)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /
� ����# ����B0 ���� �� = ��6 ��B
Zale�no�� od innych osób przejawia si� nadmiern� tendencj� do obarczania tych innych zadaniem opieki nad sob�. Osoby zale�ne wierz�, �e to inni s� odpowiedzialni za ich wykształcenie, brak pracy, czy problemy rodzinne. Oni sami wydaj� si� mie� niewielki wpływ na swoje �ycie. Taka postawa rzadko kiedy (je� li kiedykolwiek) prowadzi do skutecznego działania.
22
In�ynieria oprogramowania
Wprowadzenie (22)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /
C �# ���1 B� ��� 1 B
Niezale�no�� to wiara we własne siły i zaufanie do siebie. Osoby niezale�ne s� przekonane, �e anga�uj�c własn� energi�, zdolno�ci i emocje s� w stanie osi�gn�� wiele, bardzo wiele.
23
In�ynieria oprogramowania
Wprowadzenie (23)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /
D. 6 �� � ��� ������� �6 � ������� �E$ ��� ����# ��9 ���������� % �1 �� ��)5 9 �? ���������
Aby przej�� od zale�no�ci do niezale�no�ci Stephen Covey proponuje wdro�enie w swoim �yciu trzech zasad: trzeba by� proaktywnym, trzeba zaczyna� maj�c zawsze koniec (czyli skutki swoich działa�) na wzgl�dzie i trzeba tak zarz�dza� czasem, aby rzeczy pierwsze w sensie wa�no�ci były równie� pierwsze w przydzielaniu im naszego czasu. Aby by� skutecznym nie wystarczy te zasady zrozumie� i zgodzi� si� z nimi – trzeba je tak gł�boko wdro�y�, aby stały si� naszymi nawykami.
24
In�ynieria oprogramowania
Wprowadzenie (24)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /F �� �# ��# ����1 B
5 1 �� ��� �(
Wy�szym stopniem rozwoju osobowo�ci od niezale�no�ci jest współzale�no��. Współzale�no�� pozwala osi�gn�� rzeczy, które byłyby dla pojedynczej osoby nie do osi�gni�cia. Jest to przekonanie, �e razem mo�emy wi�cej.
25
In�ynieria oprogramowania
Wprowadzenie (25)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /+ C 6 ��� �����% �1G � ��������������1 � ����# ��/H � �' ���6 ��; �������� �' ��
Rozwój polegaj�cy na przej�ciu od niezale�no�ci do współzale�no�ci opiera si� na kolejnych trzech zasadach, które nale�y wdro�y�: trzeba my� le� o obopólnej korzy�ci, a nie tylko własnej, trzeba najpierw stara� si� zrozumie� partnera (klienta, szefa, pracownika) a dopiero potem oczekiwa� by nas zrozumiano i trzeba dba� osynergi�.
26
In�ynieria oprogramowania
Wprowadzenie (26)
Zasady Covey’ego
$ ���� ��' /
� ��� ������' /
8 ��; � ���� ��' /+ C 6 ��� �����% �1G � ��������������1 � ����# ��/H � �' ���6 ��; �������� �' ��
D. 6 �� � ��� ������� �6 � ������� �E$ ��� ����# ��9 ���������� % �1 �� ��)5 9 �? ���������
� ��� � �� 1
Do tego dochodzi jeszcze jedna, siódma zasada: ostrz pił�, czyli dbaj o ci�głe doskonalenia.
27
In�ynieria oprogramowania
Wprowadzenie (27)
Zasady Covey’ego
+ C 6 ��� �����% �1G � ��������������1 � ����# ��/H � �' ���6 ��; �������� �' ��
D. 6 �� � ��� ������� �6 � ������� �E$ ��� ����# ��9 ���������� % �1 �� ��)5 9 �? ���������
� ��� � �� 1
O tych siedmiu zasadach b�dzie mowa na nast�pnym wykładzie. Ka�da z tych zasad skutecznego działania zostanie do�� dokładnie przedstawiona. Jednak ostateczny efekt b�dzie zale�ał od tego, w jakim stopniu słuchacze zdecyduj� si� przeku� te zasady w swoje nawyki.
28
In�ynieria oprogramowania
Wprowadzenie (28)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Tematem nast�pnego wykładu b�dzie specyfikacja wymaga�.
29
In�ynieria oprogramowania
Wprowadzenie (29)
Specyfikacja wymaga�
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Wykład ten b�dzie wprost nawi�zywał do jednostki wiedzy „specyfikacja wymaga�”.
30
In�ynieria oprogramowania
Wprowadzenie (30)
Cykl �ycia
8 �# �% ���� ������ 8 ��������
In�ynierskie podej�cie do wytworzenia jakiego� produktu opiera si� zazwyczaj na cyklu �ycia obejmuj�cym przynajmniej trzy fazy: zebranie wymaga�, opracowanie projektu i wykonanie produktu.
31
In�ynieria oprogramowania
Wprowadzenie (31)
Cykl �ycia
������ 8 ��������8 �# �% ����
Je�li, na przykład, kto� my� li o przedsi�wzi�ciu budowlanym, to najpierw trzeba zebra� wymagania inwestora dotycz�ce funkcji, jakie budynek ma pełni� i trzeba uwzgl�dni� ograniczenia sformułowane w warunkach zabudowy.
32
In�ynieria oprogramowania
Wprowadzenie (32)
Cykl �ycia
8 �# �% ���� 8 �������� ������
W nast�pnej fazie powstaje projekt architektoniczny, który pokazuje, jak zebrane wymagania i nało�one ograniczenia maj� by� spełnione.
33
In�ynieria oprogramowania
Wprowadzenie (33)
Cykl �ycia
8 �# �% ���� ������ 8 ��������
I wreszcie dochodzi do fazy wykonania, dla której punktem wyj�cia jest projekt opracowany na podstawie wymaga�.
34
In�ynieria oprogramowania
Wprowadzenie (34)
Cykl �ycia
8 �# �% ���� ������ 8 ��������
Podobnie powinno by� z przedsi�wzi�ciem programistycznym. Na pocz�tku nale�y zebra� wymagania dotycz�ce systemu, który ma by� zbudowany.
35
In�ynieria oprogramowania
Wprowadzenie (35)
Cykl �ycia
8 �# �% ���� ������ 8 ��������
� ��� !!� � � " � � � � �� � �# � � $ � �� � �� � " !% & � � ' � � �� !� ( ) * ( + � ,� �
Maj�c wymagania mo�na przej�� do opracowania projektu systemu. Na slajdzie widoczny jest projekt systemu informatycznego przedstawiony w j�zyku UML.
36
In�ynieria oprogramowania
Wprowadzenie (36)
Cykl �ycia
8 �# �% ���� ������ 8 ��������
� ��� !!� � � " � � � � �� � �# � � $ � �� � �� � " !% & � � ' � � �� !� ( ) * ( + � ,� �
W oparciu o projekt programi�ci tworz� kod systemu. Oczywi�cie, potem nale�y jeszcze sprawdzi�, czy system nie zawiera defektów i czy spełnia wymagania, o które chodziło klientowi.
37
In�ynieria oprogramowania
Wprowadzenie (37)
In�ynieria wymaga�
8 �# �% ����
Samo zbieranie i opracowanie wymaga� jest tak wa�nym i trudnym procesem, �e mówi si� wr�cz o in�ynierii wymaga�. Rozumie si� przez to fragment in�ynierii oprogramowania odpowiedzialny za wymagania.
38
In�ynieria oprogramowania
Wprowadzenie (38)
In�ynieria wymaga�
8 �# �% ����
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Proces zbierania i opracowywania wymaga� ma najcz��ciej charakter cykliczny.
39
In�ynieria oprogramowania
Wprowadzenie (39)
In�ynieria wymaga�
8 �# �% ����
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Powinien by� poprzedzony sformułowaniem problemu (lub problemów), które budowany system informatyczny ma rozwi�za� i nakre�leniem bardzo ogólnej wizji rozwi�zania.
40
In�ynieria oprogramowania
Wprowadzenie (40)
In�ynieria wymaga�
8 �# �% ����
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Zasadnicza cz��� procesu zbierania i opracowywania wymaga� składa si� z trzech faz. Pierwsz� faz� powinno by� zbieranie wymaga�. Cz�sto wymagania pochodz� od wielu ró�nych osób i na dodatek nale�y uwzgl�dnia� ograniczenia wynikaj�ce np. z ró�nych przepisów prawa.
41
In�ynieria oprogramowania
Wprowadzenie (41)
In�ynieria wymaga�
8 �# �% ����
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Drug� faz� powinna by� analiza wymaga�. Wymagania mog� by� wzajemnie sprzeczne, niejednoznaczne itp. – im wcze�niej si� takie wady wykryje tym lepiej dla całego przedsi�wzi�cia.
42
In�ynieria oprogramowania
Wprowadzenie (42)
In�ynieria wymaga�
8 �# �% ����
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Po analizie wymaga� potrzebna jest ich negocjacja. Wykryte defekty, takie jak np. sprzeczno�ci mi�dzy wymaganiami, nale�y usun��. Zazwyczaj wymaga to negocjacji z wieloma zainteresowanymi osobami i mo�e by� bardzo trudne.
Je�li osoby odpowiedzialne za przedsi�wzi�cie uznaj�, �e wymagania maj� ju� odpowiedni� jako�� i mo�na na ich podstawie przej�� do pracy nad projektem, to proces zbierania i analizy wymaga� mo�na zako�czy� .
43
In�ynieria oprogramowania
Wprowadzenie (43)
In�ynieria wymaga�
8 �# �% ����
� 8 �# �% ����4�����������
� 8 �# �% ������� �4�����������
Generalnie wymagania mo�na podzieli� na funkcjonalne i pozafunkcjonalne. Wymagania funkcjonalne opisuj� funkcje, jakie ma realizowa� system. Przykładem mo�e by� wymaganie, aby budowany system ksi�garni internetowej automatycznie wysyłał do wydawcy zamówienia na te tytuły, których liczba w magazynie spadnie poni�ej 20 sztuk. Wymagania pozafunkcjonalne dotycz� takich aspektów, jak wydajno�� (np. szybko�� wykonania poszczególnych operacji), czy niezawodno��.
44
In�ynieria oprogramowania
Wprowadzenie (44)
Wykład nt. specyfikacji wymaga�
� � � �������� ����
� C �6 ����������
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� � ����4�������# �% �:
W trakcie wykładu po�wi�conego specyfikacji wymaga� przedstawiona zostanie metoda specyfikacji wymaga� funkcjonalnych zwana przypadkami u�ycia. Metoda ta staje si� coraz bardziej popularna, równie� w polskich firmach informatycznych. Zaprezentowane zostan� tak�e dobre praktyki dotycz�ce dokumentu specyfikacji wymaga�, zbierania wymaga�, ich analizy i negocjacji oraz opisywania wymaga�. Ta problematyka zostanie rozwini�ta w ramach przedmiotu obieralnego „Zaawansowana in�ynieria oprogramowania”.
45
In�ynieria oprogramowania
Wprowadzenie (45)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Kolejny wykład b�dzie po�wi�cony kontroli jako�ci artefaktów.
46
In�ynieria oprogramowania
Wprowadzenie (46)
Kontrola jako�ci artefaktów
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Jest on bezpo�rednio zwi�zany z jednostk� wiedzy dotycz�c� walidacji. Zagadnienia te nabieraj� szczególnego znaczenia w przypadku budowy tzw. systemów krytycznych, czyli systemów, których awaria mo�e doprowadzi� do utraty zdrowia, a nawet �ycia ludzkiego lub spowodowa� ogromne straty materialne.
47
In�ynieria oprogramowania
Wprowadzenie (47)
Artefakty
� ����4�������# �% �:
0 ����������������
������% ��# �
���1 �� ����� ��������
W trakcie pracy nad systemem informatycznym powstaje cały szereg ró�nego typu artefaktów: specyfikacja wymaga�, testy akceptacyjne, kod programu, podr�cznik u�ytkownika i wiele innych. Oczywi�cie, musz� to by� produkty dobrej jako�ci – nie mog� zawiera� powa�nych defektów.
48
In�ynieria oprogramowania
Wprowadzenie (48)
Artefakty
� ����4�������# �% �:
0 ����������������
������% ��# �
���1 �� ����� ��������
Dlatego potrzebna jest kontrola jako�ci tych artefaktów.
49
In�ynieria oprogramowania
Wprowadzenie (49)
Kontrola jako�ci specyfikacji wymaga�
$ 6 ��������# �% �:
. �������# �% �:
� �% ��������# �% �:
��6 ��# ������������� �9 � ����
Wiele osób my�li o kontroli jako�ci, jako ostatniej fazie pracy nad jakim� artefaktem. Nie jest to, ogólnie rzecz bior�c, najlepsze podej�cie. Omawiaj�c proces zbierania i analizy wymaga� przedstawiłem iteracyjny cykl �ycia, w którym analiza wymaga� – i zwi�zana z ni� kontrola jako�ci tych wymaga� – s� wykonywane wielokrotnie.
50
In�ynieria oprogramowania
Wprowadzenie (50)
Rodzaje kontroli jako�ci
0 �������� � � �% �9 ��
W praktyce kontrola jako�ci najcz��ciej przyjmuje posta� testowania lub przegl�dów. Testowanie mo�na wykona� tylko w odniesieniu do działaj�cego systemu lub jego prototypu. Przegl�dy s� bardziej ogólne: mo�na je stosowa� zarówno do kodu, jak i do specyfikacji wymaga�. Istot� przegl�du jest analiza artefaktów. Analiza ta mo�e by� przeprowadzona przez pojedyncz� osob� (nazywamy to recenzj�) lub te� przez zespół osób (najpopularniejszym przykładem tego typu przegl�dów s� inspekcje).
51
In�ynieria oprogramowania
Wprowadzenie (51)
Wykład nt. kontroli jako�ci
� � ���' / ����������
� 7��������
� � � ����������� 6 ���4���;
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� ������������' ������4���;
W trakcie wykładu po�wi�conego kontroli jako�ci artefaktów przedstawi� krótko najwa�niejsze poj�cia dotycz�ce jako�ci i testowania, zaprezentuj� sposób przeprowadzania inspekcji zgodny ze standardem IEEE 1028 i poka��, jak mo�na oszacowa� liczb� defektów, jakie zakradły si� do artefaktu (ł�cznie z tymi, które nie zostały w trakcie kontroli jako�ci wykryte).
52
In�ynieria oprogramowania
Wprowadzenie (52)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Kolejny wykład b�dzie po�wi�cony j�zykowi UML.
53
In�ynieria oprogramowania
Wprowadzenie (53)
J�zyk UML
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
UML jest wykorzystywany m.in. przy projektowaniu systemów informatycznych. Jest te� wiele narz�dzi komercyjnych i darmowych wspomagaj�cych tworzenie modeli w j�zyku UML (w�ród narz�dzi komercyjnych du�� popularno�ci� cieszy si� RationalRose, a jednym z bardziej popularnych darmowych narz�dzi jest ArgoUML).
54
In�ynieria oprogramowania
Wprowadzenie (54)
www.uml.org
UML jest stosunkowo nowym j�zykiem. Jego pierwsza wersja zostałazaakceptowana w 1997 roku. Na slajdzie jest pokazana strona internetowa dotycz�ca j�zyka UML, która jest utrzymywana przez mi�dzynarodow� organizacj� OMG zatwierdzaj�c� kolejne wersje tego j�zyka. Osoby znaj�ce j�zyk angielski znajd� na tej stronie wiele cennych informacji na temat j�zyka UML.
55
In�ynieria oprogramowania
Wprowadzenie (55)
Diagramy UML
C ��% ��# �����;
C ��% ��# ��� ������; �� ����
C ��% ��# ���������
C ��% ��# ��� ����' ��
C ��% ��# �����
(((
J�zyk UML obejmuje wiele ró�nego typu diagramów, które pozwalaj� w sposób graficzny modelowa� ró�ne aspekty systemów informatycznych (i nie tylko informatycznych). Tytułem wprowadzenia do j�zyka UML przedstawione zostan� bardzo proste przykłady diagramu stanów, diagramu przypadków u�ycia i diagramu sekwencji. Zarówno te wymienione diagramy, jak i pozostałe zostan� bardziej szczegółowo omówione w trakcie wykładu po�wi�conego j�zykowi UML.
56
In�ynieria oprogramowania
Wprowadzenie (56)
Diagram stanów
� � ��1 ��
� ����� ����
��������
$ �����4 ������
� ������
I$ ������ �����
I$ �� �������������������
I$ �� �������% ��� �' �������
I$ �� ����' ��6 �����
� ����� ��1 ��
Pierwszym diagramem, który chciałbym pokaza� jest diagram stanów. Na slajdzie widzimy diagram pokazuj�cy „przeistaczanie” si� maturzysty w studenta – za chwil� dokładniej go omówimy.
57
In�ynieria oprogramowania
Wprowadzenie (57)
Diagram stanów
� �� ������
� ���
Kluczowym elementem na diagramach stanów s� oczywi�cie stany. Stan jest reprezentowany za pomoc� owalu z nazw� stanu w �rodku.
58
In�ynieria oprogramowania
Wprowadzenie (58)
Diagram stanów
� ����� ����
��������
� � ��' ���
Mi�dzy stanami s� przej�cia reprezentowane za pomoc� strzałki. W przypadku diagramu pokazanego na slajdzie wida�, �e b�d�c w stanie „Maturzysta” mo�na przej�� do stanu „Kandydat”, ale nie odwrotnie.
59
In�ynieria oprogramowania
Wprowadzenie (59)
Diagram stanów
� ����� ����
��������
I$ �� �������������������
. ����
Z przej�ciem mo�e by� zwi�zana akcja. W przykładzie pokazanym na slajdzie wida�, �e przej�cie od stanu „Maturzysta” do stanu „Kandydat” wi��e si� ze zło�eniem podania na studia.
60
In�ynieria oprogramowania
Wprowadzenie (60)
Diagram stanów
� ����� ����
��������
����$ �� �������������������
< ��' ��������
Akcje s� poprzedzane znakiem uko�nej kreski – tym samym, jaki jest wykorzystywany jako symbol dzielenia.
61
In�ynieria oprogramowania
Wprowadzenie (61)
Diagram stanów
� ����� ����
��������
I$ �� �������������������
��� 9 ���
Pocz�tek jest zaznaczany małym ciemnym kółkiem. St�d zaczyna si� „chodzenie” po stanach.
62
In�ynieria oprogramowania
Wprowadzenie (62)
Diagram stanów
� � ��1 ��
� ����� ����
��������
$ �����4 ������
� ������
I$ ������ �����
I$ �� �������������������
I$ �� �������% ��� �' �������
I$ �� ����' ��6 �����
� ����� ��1 ��
Zgodnie z diagramem przedstawionym na slajdzie, najpierw trzeba zda� matur� i wtedy zdobywa si� status maturzysty (w odniesieniu do �wiata rzeczywistego jest to uproszczenie, ale modele maj� to do siebie, �e zawsze w jaki� sposób upraszczaj� rzeczywisto��). Po zło�eniu podania na studia stajemy si� kandydatami. Wskutek akcji, czy zdarze� nie pokazanych na diagramie Kandydat uzyskuje status Zakwalifikowanego (mo�na si� domy� la�, �e trzeba tutaj pozytywnie przej�� przez procedur� kwalifikacyjn�) lub te� staje si� Nieprzyj�ty. Po zło�eniu podania Zakwalifikowany staje si� Przyj�tym, a po zło�eniu �lubowania uzyskuje on upragniony status Studenta.
63
In�ynieria oprogramowania
Wprowadzenie (63)
Diagram przypadków u�ycia
� ����� ����
$ �����4 ������ � ����� ��1 ��
$ �� �����������
� 6 ��� � ��������; ����������
Przejd�my teraz do diagramów przypadków u�ycia. S� one wykorzystywane do pokazania kto co mo�e zrobi�.
64
In�ynieria oprogramowania
Wprowadzenie (64)
Diagram przypadków u�ycia
. ����
Jednym z głównych elementów wyst�puj�cych na diagramach przypadków u�ycia s� tzw. aktorzy. Na slajdzie pokazano symbol, jakim si� oznacza aktorów w j�zyku UML. Aktor jest to rola, jak� człowiek lub ewentualnie urz�dzenie mo�e odgrywa� w kontakcie z opisywanym systemem informatycznym.
65
In�ynieria oprogramowania
Wprowadzenie (65)
Diagram przypadków u�ycia
� ����� ����
$ �����4 ������ � ����� ��1 ��
Na slajdzie widzimy trzech aktorów: Maturzyst�, Zakwalifikowanego i Nieprzyj�tego.
66
In�ynieria oprogramowania
Wprowadzenie (66)
Diagram przypadków u�ycia
. ����
� � �������� ����
Aktor mo�e mie� do czynienia z przypadkiem u�ycia opisuj�cym pewien cel (np. o charakterze biznesowym), który aktor chce osi�gn�� w kontakcie z systemem informatycznym. Nazwy przypadków u�ycia zapisuje si� w elipsach tak, jak pokazano to na slajdzie.
67
In�ynieria oprogramowania
Wprowadzenie (67)
Diagram przypadków u�ycia
� ����� ����
$ �����4 ������ � ����� ��1 ��
$ �� �����������
� 6 ��� � ��������; ����������
Zgodnie z przedstawionym diagramem, Maturzysta mo�e zło�y� podanie, natomiast zarówno Zakwalifikowany, jak i Nieprzyj�ty mog� obejrze� wyniki rekrutacji.
68
In�ynieria oprogramowania
Wprowadzenie (68)
Diagram sekwencji
� ����� ���� � ����# ���������� �F ��
� � ����������������� ������ = � �������9 �������J
� 9 ������� ������� ���� ��1 ���������������
8 ������ ��1 �����������9
������� ���� ��1 ����� ���
Trzecim rodzajem diagramów j�zyka UML, jaki chciałbym przedstawi� s� diagramy sekwencji. Diagramy te słu�� do ilustrowania komunikacji mi�dzy obiektami.
69
In�ynieria oprogramowania
Wprowadzenie (69)
Diagram sekwencji
� 6 ����2) � 6 ����2E
� ����� �����6 �����
� 6 ����
Ka�dy obiekt jest reprezentowany przez prostok�t zawieraj�cy jego nazw� i tzw. lini� �ycia obiektu.
70
In�ynieria oprogramowania
Wprowadzenie (70)
Diagram sekwencji
� 6 ����2) � 6 ����2E
��# ������
Komunikaty przesyłane mi�dzy obiektami s� reprezentowane za pomoc� strzałki, nad któr� pisze si� nazw� komunikatu. Strzałka pokazuje kierunek przepływu komunikatu. Na pokazanym slajdzie komunikat jest wysyłany przez Obiekt-1 i trafia do Obiekt-2.
71
In�ynieria oprogramowania
Wprowadzenie (71)
Diagram sekwencji
� 6 ����2) � 6 ����2E
��# ������2)
��# ������2E
��# ������2D
Diagramy sekwencji zazwyczaj zawieraj� wi�cej ni� jeden komunikat. Komunikaty s� wysyłane w kolejno�ci „od góry do dołu”. Na slajdzie wida� trzy komunikaty. Najpierw b�dzie wysłany Komunikat-1, potem Komunikat-2 i na ko�cu Komunikat-3. Tak si� zło�yło, �e wszystkie te komunikaty s� wysyłane przez Obiekt-1 i trafiaj� do Obiekt-2.
72
In�ynieria oprogramowania
Wprowadzenie (72)
Diagram sekwencji
� ����� ���� � ����# ���������� �F ��
� � ����������������� ������ = � �������9 �������J
� 9 ������� ������� ���� ��1 ���������������
8 ������ ��1 �����������9
������� ���� ��1 ����� ���
Diagram pokazany na tym slajdzie opisuje komunikacj� mi�dzy trzema obiektami: Maturzyst�, Systemem rekrutacji na studia i obiektem o nazwie KReM (chodzi tutaj o Krajowy Rejestr Matur – system informatyczny udost�pniaj�cy wyniki matur z Okr�gowych Komisji Egzaminacyjnych). Zgodnie z tym diagramem maturzysta chc�cy dosta� si� na studia najpierw składa podanie i wprowadza swoje oceny. Nast�pnie system rekrutacji wysyła do KReM-u zapytanie, czy wprowadzone oceny s� poprawne. KReM przesyła komunikat, z którego wynika, �e oceny s� poprawne. Wtedy system rekrutacji wysyła do maturzysty komunikat z potwierdzeniem przyj�cia podania i ocen. Teraz maturzysta wnosi opłat� rekrutacyjn�, a system rekrutacji potwierdza przyj�cie tej opłaty. Zalet� diagramów sekwencji jest pokazanie jakby z globalnego punktu widzenia (czyli patrz�c na wszystkie interesuj�ce nas obiekty), jak wygl�da komunikacja mi�dzy obiektami. Pomaga to zrozumie� działanie opisywanego systemu i jest to informacja, której nie dostarczaj� inne rodzaje diagramów j�zyka UML.
73
In�ynieria oprogramowania
Wprowadzenie (73)
Diagramy j�zyka UML
In�ynieria oprogramowani a
Wprowadzeni e (67)
Diagram przypadków u�ycia
� ���� � ����
$ ����� 4 ������ � ���� � ��1 ��
$ �� �����������
� 6 �� � ���������; ����������
In�ynieria oprogramowani a
Wprowadzeni e (62)
Diagram stanów
� � ��1 ��
� ���� � ����
��������
$ ���� �4 ������
� �� ����
I $ ����� � �����
I $ �� �������������������
I $ �� �������% ��� � '������ �
I $ �� ���� ' ��6 � ����
� ���� � ��1 ��
In�ynieria oprogramowani a
Wprowadzeni e (72)
Diagram sekwencji
� ���� � ���� � ����# ���������� �F ��
� � ����������������� ������ = � �������9 �������J
� 9 �� ����� ������ ��� � ��� 1������ �� ��� ����
8 ������ �� 1 �����������9
������� ��� � ��1 ����� ���
Jak wida�, j�zyk UML oferuje ró�nego rodzaju diagramy, z których ka�dy opisuje inne aspekty systemu. Jak ju� wcze�niej wspomniano, tych rodzajów diagramów jest wi�cej i b�d� one omówione w trakcie wykładu po�wi�conego j�zykowi UML.
74
In�ynieria oprogramowania
Wprowadzenie (74)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Kolejny wykład b�dzie dotyczył metod formalnych.
75
In�ynieria oprogramowania
Wprowadzenie (75)
Metody formalne
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Zgodnie z Computing Curricula 2001, metody formalne s� jednostk� opcjonaln�. Maj� one �cisły zwi�zek z walidacj� oprogramowania. Niektórzy podchodz� do nich sceptycznie, inni upatruj� w nich nadziej� na istotne podniesienie jako�ci tworzonego oprogramowania, jako�ci rozumianej jako zgodno�� implementacji ze specyfikacj�.
76
In�ynieria oprogramowania
Wprowadzenie (76)
Metody formalne
α∧βα∧βα∧βα∧β����
αααα
� � �������1 (
� � ��� ���# (
< ������1 (
= � ��������������J
��% ��#
Zasadnicza koncepcja zwi�zana z metodami formalnymi polega na tym, by wykazywa� poprawno�� programów nie w oparciu o testy czy przegl�dy, lecz na gruncie matematycznym, poprzez dowodzenie wła�ciwo�ci programów.
77
In�ynieria oprogramowania
Wprowadzenie (77)
Silnia
��� � �����K��� �LM
��� �&�N�O P N�O )N� ��� K�BO �LM
�O �Q )N�O �R �NS
������ �NS
Spróbujmy udowodni�, �e przedstawiona na slajdzie funkcja zapisana w j�zyku C oblicza warto�� n!.
78
In�ynieria oprogramowania
Wprowadzenie (78)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )N� ��� K�BO �LM
�O �Q )N�O �R �NS
������ �NIR R R � � 0 �O O �BR R R IS
Pierwszym krokiem jest zwi�zanie z t� funkcj� warunku wst�pnego (po angielsku –precondition) i ko�cowego (ang. postcondition). Poniewa� parametr n został zadeklarowany jako liczba całkowita, to wystarczy doda� jako warunek wst�pny, �e ma by� to liczba nieujemna. St�d te� umie�cili�my w tek�cie programu komentarz PRE zawieraj�cy warunek „n >= 0”. Warunek ko�cowy (POST) okre� la relacj�, jaka ma by� prawdziwa na ko�cu wykonania podprogramu. W przypadku omawianego programu na ko�cu zmienna s powinna mie� warto�� n!.
79
In�ynieria oprogramowania
Wprowadzenie (79)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )N� ��� K�BO �LM
�O �Q )N�O �R �NS
������ �NIR R R � � 0 �O O �BR R R IS
No to teraz wystarczy tylko dowie��, �e je�eli na pocz�tku wykonania podprogramu n >= 0, to na ko�cu s b�dzie równe n!. Łatwo powiedzie�, trudno zrobi�. W przypadku naszego programu najtrudniejszym elementem jest p�tla while. Dowodzenie poprawno�ci programu zawieraj�cych p�tle odbywa si� metod� niezmienników (ang. invariant). Niezmiennik jest to zdanie, które jest prawdziwe za ka�dym razem, kiedy powtarzane jest wykonanie instrukcji zawartych w p�tli. Dokładnie mówi�c, niezmiennik powinien by� prawdziwy tu� przed pierwszym wykonaniem instrukcji zawartych w p�tli, tu� przed drugim wykonaniem, przed trzecim itd. Zasadniczy problem polega na tym by znale�� (wymy� li�) taki niezmiennik, który zawsze b�dzie prawdziwy i jednocze�nie pomo�e nam w udowodnieniu warunku ko�cowego POST.
80
In�ynieria oprogramowania
Wprowadzenie (80)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
Nasz podprogram jest bardzo prosty i nietrudno zauwa�y�, �e niezmiennik (INV) ma posta� nast�puj�cego zdania: s równa si� k!. Najpierw udowodnimy, �e to zdanie jest faktycznie niezmiennikiem, a potem poka�emy, jak go wykorzysta� do udowodnienia warunku ko�cowego.
81
In�ynieria oprogramowania
Wprowadzenie (81)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
)O P B
Pierwsze wyst�pienie inwariantu (tu� przed wykonaniem instrukcji while) jest prawdziwe, bowiem na mocy definicji funkcji silnia, 0! jest równe 1.
82
In�ynieria oprogramowania
Wprowadzenie (82)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
Instrukcja „k= k+1” jest o tyle kłopotliwa, �e wyst�puje w niej dwa razy ten sam symbol k i za ka�dym razem oznacza inn� warto��.
83
In�ynieria oprogramowania
Wprowadzenie (83)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O � Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
eby usun�� t� niejednoznaczno�� oznaczmy przez k z podkre� leniem pocz�tkow� warto�� k, jaka była przed wykonaniem tej instrukcji przypisania, a k bez podkre�lenia niech oznacza now� warto��, jaka b�dzie po wykonaniu tej instrukcji.
84
In�ynieria oprogramowania
Wprowadzenie (84)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O � Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O �B
Zatem z pierwszego inwariantu wynika, �e przed wykonaniem tej instrukcji przypisania mamy s równe „k z podkre� leniem” silnia.
85
In�ynieria oprogramowania
Wprowadzenie (85)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O � Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O �B �O O �B∧∧∧∧ �O O � Q )
Po wykonaniu omawianej instrukcji przypisania dojdzie nam jeszcze zdanie mówi�ce, �e nowa warto�� k jest równa starej warto�ci powi�kszonej o 1.
86
In�ynieria oprogramowania
Wprowadzenie (86)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O � Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O �B �O O �B∧∧∧∧ �O O � Q )���� �O O K�V )LB
Czyli po wykonaniu tej instrukcji przypisania b�dziemy mieli s równe (k-1)!.
87
In�ynieria oprogramowania
Wprowadzenie (87)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O K�V )LB
W kolejnej instrukcji przypisania mamy podobn� niejednoznaczno��, jak poprzednio: dwa razy wyst�puje symbol s i za ka�dym razem oznacza inn� warto��.
88
In�ynieria oprogramowania
Wprowadzenie (88)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O � R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O K�V )LB
Podobnie jak poprzednio przyjmiemy, �e s z podkre� leniem oznacza „star�” warto��, a s bez podkre�lenia „now�” warto�� zmiennej s.
89
In�ynieria oprogramowania
Wprowadzenie (89)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O � R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O K�V )LB�O O K�V )LB
Zatem na mocy poprzednio dowiedzionego faktu mo�na powiedzie�, �e tu� przed wykonaniem tej instrukcji przypisania stara warto�� s jest równa (k-1)!.
90
In�ynieria oprogramowania
Wprowadzenie (90)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O � R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
� O O K�V )LB∧∧∧∧ �O O � R ��O O K�V )LB
Po wykonaniu tej instrukcji b�dzie mo�na dopisa� do poprzedniego zdania jeszcze jedno: nowa warto�� s jest równa starej pomno�onej przez k.
91
In�ynieria oprogramowania
Wprowadzenie (91)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O � R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
� O O K�V )LB∧∧∧∧ �O O � R ����� �O O K�V )LBR �O O �B�O O K�V )LB
Je�eli zast�pimy star� warto�� s przez (k – 1)!, to oka�e si�, �e nowa warto�� s jest równa k!.
92
In�ynieria oprogramowania
Wprowadzenie (92)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
I w ten sposób dowiedli�my, �e je�eli na pocz�tku wykonania instrukcji while prawd� jest, �e s jest równe k!, to po wykonaniu obu instrukcji przypisania nadal s b�dzie równe k!. Zatem faktycznie jest to niezmiennik tej p�tli.
93
In�ynieria oprogramowania
Wprowadzenie (93)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O �
Aby dowie�� prawdziwo�� warunku ko�cowego (POST) wystarczy zauwa�y� , �e zaraz po wykonaniu instrukcji while prawdziwy jest inwariant „s jest równe k!” oraz prawdziwe jest zaprzeczenie warunku wyst�puj�cego w instrukcji while, czyli k jest równe n.
94
In�ynieria oprogramowania
Wprowadzenie (94)
Silnia
��� � �����K��� �LMIR R R F � �T O P R R R I
��� �&�N�O P N�O )NIR R R 7� U �O O �BR R R I� ��� K�BO �LM
�O �Q )N�O �R �NIR R R 7� U �O O �BR R R IS
������ �NIR R R � � 0 �O O �BR R R IS
�O O �
Podstawiaj�c niezmiennik n w miejsce k dostajemy warunek ko�cowy i w ten sposób ko�czy si� dowód poprawno�ci tego podprogramu.
95
In�ynieria oprogramowania
Wprowadzenie (95)
Dowodzenie poprawno�ci programów
8 ��4% ��% F ��4
��% ��#� ����4������
-PP
P��
=
GPP
P��
=
Do lat 90-tych dowodzenie poprawno�ci programów odbywało si� jedynie dla bardzo krótkich programów. W ci�gu ostatniej dekady nast�pił istotny post�p i powstały bardzo efektywne weryfikatory. Jednak�e dowodzenie poprawno�ci programu jest wci�� bardzo pracochłonne. Ciekawe dane pozyskano w ramach projektu VSE (Verification Support Environment) finansowanego przez Uni� Europejsk�. Jak pisze prof. Wolfgang Reif, dowiedzenie poprawno�ci programu zawieraj�cego ok. 7 tys. wierszy wymagało pracochłonno�ci około 2 osobolat, a sama specyfikacja formalna miała ok. 5 tys. wierszy tekstu. Jak wi�c wida�, formalna specyfikacja programów mo�e by� bardzo obszerna i jej wytworzenie oraz sprawdzenie jej poprawno�ci jest zadaniem samym w sobie.
96
In�ynieria oprogramowania
Wprowadzenie (96)
Wykład nt. metod formalnych
� � ����4�����������# �������
� 7# ���# ��������������������
� � ���� ��� ��% �
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� � �����4��# ����
W trakcie wykładu dotycz�cego metod formalnych omówi� tzw. specyfikacje aksjomatyczne i zwi�zane z nimi implementacje niestandardowe, maj�ce charakter anomalii. Przedstawi� te� sieci Petriego jako chyba najbardziej popularne narz�dzie modelowania oprogramowania. Jest to notacja matematyczna o charakterze graficznym wykorzystywana do modelowania nie tylko systemów informatycznych, ale tak�e np. systemów transportowych.
97
In�ynieria oprogramowania
Wprowadzenie (97)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Kolejny wykład b�dzie po�wi�cony wzorcom projektowym.
98
In�ynieria oprogramowania
Wprowadzenie (98)
Wzorce projektowe
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Wzorce projektowe s� podstaw� współczesnego projektowania oprogramowania.
99
In�ynieria oprogramowania
Wprowadzenie (99)
Wzorce projektowe
= � ������� �� . ��W �����
Wzorzec = Sprawdzona koncepcja, która:
• opisuje problem powtarzaj�cy si� wielokrotnie w okre�lonym kontek�cie,
• działaj�ce na niego siły, oraz• podaje istot� jego rozwi�zania w
sposób abstrakcyjny.
Informatyka zawdzi�cza koncepcj� wzorców profesorowi ChristopherowiAlexandrowi. Zgodnie z jego koncepcj� wzorzec jest to sprawdzona koncepcja,która opisuje problem powtarzaj�cy si� wielokrotnie w okre� lonym kontek�cie, działaj�ce na niego siły oraz podaje istot� rozwi�zania tego problemu w sposób abstrakcyjny.
100
In�ynieria oprogramowania
Wprowadzenie (100)
Wykład nt. wzorców projektowych
� 5 ����= � ������ �������% � ���; �����������
� 8 �6 ����� ����������������� � ����������
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� 8 ��������������
W ramach wykładu powiemy o Bandzie Czterech, czyli tych, którzy wprowadzili wzorce do in�ynierii oprogramowania, omówiony zostanie katalog wzorców projektowych i przedstawione zostan� wybrane wzorce projektowe oraz ich zastosowania.
101
In�ynieria oprogramowania
Wprowadzenie (101)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
W cyklu wykładowym po�wi�conym in�ynierii oprogramowania nie mo�e zabrakn�� wykładu dotycz�cego zarz�dzania konfiguracj�.
102
In�ynieria oprogramowania
Wprowadzenie (102)
Zarz�dzanie konfiguracj�
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Zmiany w oprogramowaniu i towarzysz�ca im ewolucja kodu s� praktycznie nie do unikni�cia. Wła�ciwe zarz�dzanie konfiguracj� jest podstaw� skutecznej ewolucji oprogramowania i jedn� z kluczowych praktyk zarz�dzania przedsi�wzi�ciem informatycznym.
103
In�ynieria oprogramowania
Wprowadzenie (103)
Najprostszy system zarz�dzania zmianami
������
$ # ��: # ��# �% ����(
��% ��# �' ��
� �( � �( � �( � �(
Je�eli przedsi�wzi�cie jest małe w sensie rozmiaru kodu oprogramowania, pracochłonno�ci jego wytworzenia i liczby zaanga�owanych osób, to zarz�dzanie zmian� mo�e by� bardzo proste. Wystarczy, �e proponowana przez klienta zmiana spotka si� z akceptacj� programistów (mo�e te� by� odwrotnie: stron� proponuj�c� zmian� mog� by� programi�ci, a akceptuj�c� – klient) .
104
In�ynieria oprogramowania
Wprowadzenie (104)
Formalne podej�cie do zarz�dzania zmianami
X 9 ������ # ����
Err
< � ������� �����������4�% (
X 9 ������ # ����
��% ��# ����
F �����
��# ���� $ �� � 9 �� �������4�% �����9
C ���� ��
X 9 ������ # ����
����������������
Niestety, jest szereg przedsi�wzi�� programistycznych, które wymagaj� bardziej formalnego podej�cia do zarz�dzania zmianami. Du�e firmy, prowadz�ce tak du�e przedsi�wzi�cia, jak budowa elektronicznej centrali telefonicznej, korzystaj� do�� cz�sto z podej�cia prezentowanego na slajdzie, gdzie ��danie zmiany przechodzi do�� długi proces od u�ytkownika zgłaszaj�cego ��danie zmiany (np. usterk� w oprogramowaniu), poprzez kierownika konfiguracji, programist� oceniaj�cego - na polecenie kierownika konfiguracji - ryzyko i koszty wprowadzenia proponowanej zmiany, specjalny Komitet Zarz�dzania Konfiguracj�, który podejmuje ostateczn� decyzj� w sprawie proponowanej zmiany i Kierownika projektu, który przydziela jednemu z programistów zadanie wprowadzenia zaproponowanej zmiany do oprogramowania.
105
In�ynieria oprogramowania
Wprowadzenie (105)
Koncepcja systemu zarz�dzania konfiguracj�
��% ��#
Załó�my teraz, �e trzech programistów dostało trzy ró�ne zadania modyfikacji tego samego programu. Poniewa� (jak to cz�sto bywa) klientowi bardzo si� spieszy, programi�ci ci maj� pracowa� równolegle. Oczywi�cie, je�eli zaczn� oni bezpo�rednio i do�� chaotycznie manipulowa� kodem programu, to nic dobrego z tego nie wyniknie.
106
In�ynieria oprogramowania
Wprowadzenie (106)
Koncepcja systemu zarz�dzania konfiguracj�
��% ��#
Aby temu zaradzi� korzysta si� z systemów zarz�dzania konfiguracj�, które chroni� oprogramowanie przed chaotycznymi modyfikacjami i umo�liwiaj� współbie�ne modyfikowanie ró�nych składników oprogramowania w sposób kontrolowany.
107
In�ynieria oprogramowania
Wprowadzenie (107)
Wykład nt. zarz�dzania konfiguracj�
� � ������������# �= U �
� � ������������; ��������
� 8 � ����� �� � 9 �� �������4�% �����9
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� $ �� � 9 �� �������4�% �����9
W trakcie wykładu omówiony zostanie jeden z najbardziej popularnych systemów zarz�dzania konfiguracj� zwany CVS. Przedstawiona tak�e zostanie struktura plików projektu oraz wzorce zarz�dzania konfiguracj�.
108
In�ynieria oprogramowania
Wprowadzenie (108)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Kolejne dwa wykłady b�d� po�wi�cone testowaniu oprogramowania.
109
In�ynieria oprogramowania
Wprowadzenie (109)
Testowanie oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Testowanie ma �cisły zwi�zek z weryfikacj�, a tak�e z walidacj� oprogramowania i dostarcza danych, które mog� by� wykorzystane do okre�lenia niezawodno�ci oprogramowania.
110
In�ynieria oprogramowania
Wprowadzenie (110)
Czym jest testowanie?
� � � �� � � � �� �� � �� � �� � � � � � �� �,� � ��
� � $ � � � � �� � �$ � � " �� �� �
$ � � # �� � - ,��� � � � - � �� � ,. - �� � � - � ���� �� � / � �
�����������6 1 �;
F �6 �� � 5 �����
W literaturze mo�na znale�� wiele definicji testowania. Zgodnie z okre� leniem zawartym w jednej z ksi��ek Roberta Bindera, testowanie oprogramowania jest to wykonanie kodu dla kombinacji danych wej�ciowych i wewn�trznych stanów systemu w celu wykrycia bł�dów. Warto zwróci� uwag�, na ostatni� cz��� zdania –„w celu wykrycia bł�dów”. Wynika z tego jasno, �e celem testowania nie jest pokazanie, �e w oprogramowaniu nie ma bł�dów – wr�cz przeciwnie; w testowaniu chodzi o to by wykry� jak najwi�cej bł�dów. Im wi�cej bł�dów si� wykryje tym sprawniejszy jest proces testowania, ale te� tym gorzej to �wiadczy o procesie tworzenia kodu.
111
In�ynieria oprogramowania
Wprowadzenie (111)
Wykłady nt. testowania
� 8 ������ ���������������
� . ���# ���� �����������������;
� $ ��������������% ��� �� ����� � ����4�������# �% �:� ������������' ������4���; � � 1 � ��< � �� � �����4��# ����� 8 ��������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
� 0 ������������% ��# �����
B�d� dwa wykłady na temat testowania. Pierwszy z nich b�dzie wprowadzeniem w problematyk� testowania, natomiast w ramach drugiego wykładu przedyskutowane zostanie – bardzo wa�ne z praktycznego punktu widzenia – zagadnienie automatyzacji wykonywania testów.
112
In�ynieria oprogramowania
Wprowadzenie (112)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Przedostatni wykład b�dzie po�wi�cony bardzo gło�nej ostatnio metodyce programowania zwanej Programowaniem Ekstremalnym (po angielsku ExtremeProgramming).
113
In�ynieria oprogramowania
Wprowadzenie (113)
Programowanie Ekstremalne
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
Programowanie Ekstremalne jest to zestaw praktyk dotycz�cych m.in. specyfikacji wymaga�, weryfikacji i walidacji, ewolucji kodu, ró�nych procesów zwi�zanych z rozwojem oprogramowania a tak�e z zarz�dzaniem przedsi�wzi�ciem programistycznym.
114
In�ynieria oprogramowania
Wprowadzenie (114)
Kryzys oprogramowania
� � � ������ �������# ��; � � � ������ ����6 ��� ���� � ��% ��� ���� �����������' /
Kryzys oprogramowania po raz pierwszy pojawił si� w latach 60-tych ubiegłego wieku. Zaobserwowano wówczas główne zagro�enia czyhaj�ce na �miałków chc�cych w sposób komercyjny zajmowa� si� wytwarzaniem oprogramowania. Okazało si�, �e w bardzo wielu przedsi�wzi�ciach programistycznych dochodzi do przekroczenia terminu i bud�etu, programi�ci s� ró�nymi metodami zach�cani do pracy w nadgodzinach, co ujemnie si� odbija na ich �yciu prywatnym, a na dodatek jako�� powstaj�cego oprogramowania jest kiepska i nie satysfakcjonuje u�ytkowników ko�cowych.
115
In�ynieria oprogramowania
Wprowadzenie (115)
Reakcja na kryzys oprogramowania
Pierwsz� reakcj� na kryzys oprogramowania było wprowadzenie dyscypliny do przedsi�wzi�� informatycznych. Wierzono, �e poprzez wprowadzenie formalnych procesów i ustandaryzowanej dokumentacji uda si� zwalczy� kryzys oprogramowania. W rezultacie powstały metodyki przypominaj�ce wspaniałe katedry gotyckie: budziły szacunek i podziw dla kunsztu ich twórców, jednak na co dzie� mało kto z nich korzystał. Głównym winowajc� były zmiany. W niektórych przedsi�wzi�ciach zmiany s� tak cz�ste, �e klasyczne metodyki okazuj� si� zbyt ci��kie, by mo�na było za tymi zmianami nad��y� . W miar� upływu lat zacz�to zdawa� sobie spraw�, �e potrzeba czego� l�ejszego.
116
In�ynieria oprogramowania
Wprowadzenie (116)
Lekkie metodyki tworzenia oprogramowania
W połowie lat 90-tych zacz�ły si� pojawia� tzw. lekkie metodyki oprogramowania, które były bardziej zorientowane na nad��anie za zmianami ni� kurczowe trzymanie si� planu. Jedn� z nich jest Programowanie Ekstremalne.
117
In�ynieria oprogramowania
Wprowadzenie (117)
Główne zalety Programowania Ekstremalnego
� � �������������# �������������(� � ����� �� ��4�������� Q ������ X ������ ���% ��� ��B
0 ���6 �1 B
W Programowaniu Ekstremalnym najwa�niejsza jest komunikacja ustna. Jedyne artefakty, jakie musz� powstawa� zostały ograniczone do kodu programu i testów. Ponadto Programowanie Ekstremalne poci�ga obietnic� braku nadgodzin. Nic dziwnego, �e wielu ludziom taka propozycja wydaje si� bardzo atrakcyjna. Jednak bardzo wiele osób zapomina, �e Programowanie Ekstremalne ma równie� szereg konkretnych wymaga� maj�cych posta� praktyk, które musz� by� stosowane, aby przedsi�wzi�cie zako�czyło si� sukcesem. O tych praktykach b�dzie mowa w trakcie wykładu po�wi�conego Programowaniu Ekstremalnemu.
118
In�ynieria oprogramowania
Wprowadzenie (118)
Plan wykładu
� $ ������������ ��% ��� �� ����� � ����4�������# �% �:� ������������' ���� ��4���; � � 1 � ��< � �� � �����4�� # ����� 8 � �������������� $ �� � 9 �� �������4�% �����9� 0 ������������% ��# ������ ��% ��# ������ �����# ����� � ����������% ��# �����
Ostatni wykład b�dzie po�wi�cony ewolucji oprogramowania.
119
In�ynieria oprogramowania
Wprowadzenie (119)
Ewolucja oprogramowania
)(3 ���� ������������% ��# �����E( ���� �� # ���D(F �� ; ��9 ��������# �� ���WH (���� ������1 % �����G ( ���������1 % ���������% ��# �����+ (F �4������� ���� ����% ��# �����
W trakcie wykładu zostan� omówione przyczyny ewolucji oprogramowania, prawa Lehmana, rozwój j�dra systemu Linux, który jest zaprzeczeniem praw Lehmana, czynniki wpływaj�ce na koszt piel�gnacji oprogramowania, typowy proces piel�gnacji oprogramowania i refaktoryzacja, jako technika obni�enia kosztów piel�gnacji.
120
In�ynieria oprogramowania
Wprowadzenie (120)
Plan wykładu
����# �����
Czas na podsumowanie wykładu.
121
In�ynieria oprogramowania
Wprowadzenie (121)
In�ynieria oprogramowania
8 �# �% ���� �����������
8 �������� � ������
������ $ �� � 9 �� ����
� �� � 1 �� �� . 7
� (4��# ���� � ��(���������
��# ������� � ��� ����(
W trakcie tego wykładu spojrzeli�my z lotu ptaka na rozpoczynaj�cy si� cykl wykładów na temat in�ynierii oprogramowania. Z przedstawionej prezentacji wynika, �e b�d� omówione wszystkie obowi�zkowe jednostki wiedzy oprócz programowania za pomoc� API, a ponadto b�dzie tak�e jeden wykład po�wi�cony metodom formalnym. Dyskusja zagadnie� dotycz�cych in�ynierii oprogramowania, któr� wła�nie zacz�li�my, b�dzie kontynuowana w ramach przedmiotu obieralnego pt. „Zaawansowana in�ynieria oprogramowania”.
122
In�ynieria oprogramowania
Wprowadzenie (122)
Dzi�kuj� za uwag�. Mam nadziej�, �e mimo wysokiego poziomu abstrakcji i pobie�no�ci prezentacji par� istotnych szczegółów dotycz�cych in�ynierii oprogramowania udało si� Pa�stwu dostrzec i ten ogólny obraz pomo�e lepiej sobie przyswoi� zagadnienia, o których b�dzie mowa na kolejnych wykładach. Serdecznie na nie zapraszam.