Popularność zawodów robotniczych. Pracuj z przyjemnością: najbardziej prestiżowe zawody. Najlepiej płatne zawody dla kobiet

Do oprogramowania narzędzia obejmują narzędzia do tworzenia oprogramowania. Są to systemy programistyczne, które zawierają oprogramowanie niezbędne do automatycznego budowania kodu maszynowego. Są narzędziami dla profesjonalnych programistów i pozwalają na tworzenie programów w różnych językach programowania.

Narzędzia programistyczne obejmują następujące programy:

  • Asemblery – programy komputerowe konwertujące program w postaci tekstu źródłowego w języku asemblera na polecenia maszynowe w postaci kodu obiektowego;
  • tłumacze – programy wykonujące tłumaczenie programów;
  • kompilatory to programy, które tłumaczą tekst programu na język wysoki poziom do równoważnego programu w języku maszynowym;
  • interpretery - programy analizujące polecenia lub instrukcje programu i natychmiast je wykonujące;
  • linkery (edytory linków) - programy wykonujące linkowanie - pobierają jeden lub więcej modułów obiektowych jako dane wejściowe i składają z nich moduł wykonywalny;
  • Preprocesory źródłowe to programy komputerowe, które pobierają dane wejściowe i generują je dla innego programu, takiego jak kompilator.
  • debuggery – programy będące modułem środowiska programistycznego lub odrębną aplikacją przeznaczoną do wyszukiwania błędów w programie;
  • wyspecjalizowane edytory kodu źródłowego – programy niezbędne do tworzenia i edycji kodu źródłowego programu. Specjalistyczny edytor źródeł może być osobną aplikacją lub wbudowany w zintegrowane środowisko programistyczne itp.

Języki, które reprezentują algorytmy jako ciąg czytelnych (nie zakodowanych binarnie) instrukcji, nazywane są językami algorytmicznymi. Języki algorytmiczne dzielą się na zorientowane maszynowo, zorientowane na procedury i zorientowane na problem.

Języki maszynowe to języki programowania niskiego poziomu – programowanie w nich jest najbardziej pracochłonne, ale pozwala na stworzenie optymalnych programów uwzględniających cechy funkcjonalne i strukturalne konkretnego komputera. Programy w tych językach, przy założeniu niezmienionych warunków, będą krótsze i szybsze. Ponadto znajomość podstaw programowania w języku maszynowym pozwala specjalistom szczegółowo zrozumieć architekturę komputera. Większość poleceń w językach maszynowych, po przetłumaczeniu (przetłumaczeniu) na język maszynowy (binarny), generuje jedno polecenie maszynowe.

Języki zorientowane proceduralnie i zorientowane problemowo to języki wysokiego poziomu, które korzystają z makroinstrukcji. Po przetłumaczeniu makropolecenie generuje wiele poleceń maszynowych (dla języka zorientowanego proceduralnie ten stosunek wynosi średnio „1 do dziesiątek poleceń maszynowych”, a dla języka zorientowanego problemowo jest to „1 do setek poleceń maszynowych”. Proceduralnie najczęściej używane są zorientowane języki programowania (Basic, Visual Basic, Pascal, Borland Delphi, C itp.) W takim przypadku programista musi opisać całą procedurę rozwiązania problemu, natomiast języki zorientowane problemowo (oni nazywane są również nieproceduralnymi) pozwalają jedynie na formalną identyfikację problemu i określają skład, struktury prezentacji oraz formaty informacji wejściowych i wyjściowych dla zadania.

Wykonując instrukcje programu, komputer musi przekształcić czytelne dla człowieka instrukcje zapisane w języku programowania na formę czytelną dla komputera. Instrumentalny oprogramowanie To ma specjalne programy, tłumacząc tekst programów napisanych w różnych językach programowania na kody maszynowe, które następnie są wykonywane przez komputer. Ten typ oprogramowania nazywa się kompilator Lub interpretator. Nazywa się tekst programu napisanego w języku programowania wysokiego poziomu przed konwersją na kod maszynowy kod źródłowy (kod źródłowy). Kompilator konwertuje kod źródłowy na kody maszynowe tzw kod obiektowy (kod obiektowy) – program w języku wyjściowym tłumacza. Przed wykonaniem następuje proces edycji powiązań, podczas którego wyjściowe moduły programu są łączone z innymi modułami kodu wynikowego, zawierającymi np. dane. Powstały moduł startowy to polecenia wykonywane bezpośrednio przez komputer. Niektóre języki programowania nie zawierają kompilatora, ale interpreter, który konwertuje każde indywidualne wyrażenie kodu źródłowego na kody maszynowe i natychmiast je wykonuje. Interpreter jest wygodny na etapie debugowania programu, ponieważ zapewnia szybkość informacja zwrotna w przypadku wykrycia błędu w kodzie źródłowym. Podstawy programowania w języku wysokiego poziomu Visual Basic zostały opisane w rozdziale. 12 tego podręcznika.

Do oprogramowania narzędzia obejmują także niektóre systemy zarządzania bazami danych (DBMS). DBMS to wyspecjalizowany zestaw programów przeznaczonych do organizowania i utrzymywania baz danych. Ponieważ systemy zarządzania bazami danych nie są istotnym elementem systemu komputerowego, nie są klasyfikowane jako oprogramowanie systemowe. A ponieważ poszczególne SZBD pełnią jedynie funkcję usługową podczas działania innych typów programów (serwery WWW, serwery aplikacji), nie zawsze można je zaliczyć do oprogramowania aplikacyjnego. Z tych powodów często klasyfikuje się je jako narzędzia programowe.

Główne funkcje takiego DBMS:

  • zarządzanie danymi w pamięci zewnętrznej (na dyskach);
  • zarządzanie danymi w pamięć o dostępie swobodnym korzystanie z pamięci podręcznej dysku;
  • rejestrowanie zmian w specjalnych logach, tworzenie kopii zapasowych i przywracanie bazy danych po awariach;
  • obsługa języków baz danych (język definicji danych, język manipulacji danymi).

Teoretyczne podstawy SZBD opisano powyżej (sekcja 3.2), a praktyczne zastosowanie opisano w rozdziale. 10.

Etap 1: do połowy lat 50.

Główne koszty związane są z kodowaniem (w kodach maszynowych). Pojawiają się autokody (języki korzystające z mnemonicznych zapisów poleceń) i ich tłumacze (asemblery).

Zaimplementowano możliwości oddzielnej kompilacji i przenoszenia programów. Pojawią się moduły ładujące i linki programów.

Etap 2: od połowy lat 50. do połowy lat 60.

Rozmiar programów rośnie i pojawia się przepaść pomiędzy koncepcjami dziedzin problemowych i języków zorientowanych maszynowo. Pojawiają się różne języki wysokiego poziomu (algorytmiczne, uniwersalne):

Fortran (1954-1957);

Algol-60 (1958-1960);

Kobol (1959-1961);

i tłumacze z nich (kompilatory). Wynaleziono i przetestowano prawie wszystkie podstawowe typy danych, operacje na nich, struktury sterujące i sposoby ich reprezentacji w programach oraz różne możliwości parametryzacji podprogramów.

Etap 3: połowa lat 60. – początek lat 70.

Rozmiar oprogramowania gwałtownie rośnie i następuje przejście do zbiorowego charakteru pracy. Wymagania dotyczące oprogramowania rosną w związku z przejściem do produkcji komercyjnej.

Zmienia się stosunek kosztów tworzenia oprogramowania (40% lub więcej wydaje się na debugowanie, projektowanie i dokumentację), kodowanie jest jednym z najprostszych rodzajów pracy. Wykorzystuje się i tworzy „duże” języki programowania – PL/1, ALGOL-68, SIMULA-67, uogólniając i integrując wcześniej znalezione rozwiązania.

Rozbudowane systemy programistyczne pojawiają się z tłumaczami optymalizującymi i debugującymi, bibliotekami makr, bibliotekami standardowych programów, specjalistycznymi edytorami tekstu, narzędziami analitycznymi i interaktywnym debugowaniem pod względem języka wejściowego. Rozwijane są rozwinięte systemy operacyjne, pierwszy DBMS, liczne systemy automatyzacji dokumentacji, systemy zarządzania konfiguracją oprogramowania (śledzenie modyfikacji i składanie wersji oprogramowania).

Etap 4 („etap kryzysu w tworzeniu oprogramowania”): początek lat 70. – połowa lat 70.

Pomimo rozwoju narzędzia, produktywność programistów nie rośnie. Ponadto, w związku ze wzrostem wymagań wobec oprogramowania i nieliniowym wzrostem jego złożoności, spada wydajność pracy. Przekraczane są terminy rozwoju oprogramowania, jego koszt rośnie, jego jakość jest nieprzewidywalna, tradycyjne metody nie działają (zapewniając dodatkową pracę ludzką i zasoby materialne), który określa się mianem „kryzysu oprogramowania”.

Uznaje się metodologię programowania strukturalnego (Dijkstra, 1968) i kształtują się podstawy technologii programowania (język Pascal (N. Wirth), 1971).

Etap 5: 1976 – nasze czasy. Etap pokryzysowego rozwoju narzędzi.

1976 – publikacja pracy Boehma, która wprowadza tę koncepcję koło życia oprogramowania i wskazano, że główne koszty nie są związane z rozwojem, ale z utrzymaniem programów.

Języki programowania:

C (początek lat 70., po raz pierwszy dokładnie opisany w 1978 r.);

Modula-2 (1978, opracowanie - język Oberon (1988));

Prolog (1972, rozpowszechniony od 1980);

Smalltalk (lata 70. XX w., wprowadzony w 1980 r. jako Smalltalk-80);

C++ (początek lat 80., nazwa – 1983, w zwykłej formie istnieje od 1990 r.);

Java (wersja Java 1.0 – 1996, Java 2.0 – 1998, Java 5 – 2004...);

C# (1998–2001, wersja 1.0 – 2000–2002, wersja 2.0 – 2003-2005, wersja 3.0 – 2004–2008, wersja 4.0 – 2008–2010).

Trwają prace nad zintegrowanymi środowiskami narzędzi do tworzenia oprogramowania. Obiektowe podejście do projektowania i programowania zyskuje uznanie. Powstają programy wspierające tworzenie oprogramowania na każdym etapie.

Pytania kontrolne:

1. Jakie działania obejmuje rozwój oprogramowania?

2. Jakie etapy tworzenia oprogramowania identyfikuje się w ramach Rational Unified Process (RUP)?

3. Co gwarantuje użycie narzędzi?

4. Jakie komponenty wchodzą w skład programu? Cel każdej części.

5. Definicje programu i oprogramowania.

6. Jakie właściwości powinien mieć program?

7. Jakie języki programowania są używane podczas tworzenia programów?

8. Definicja narzędzi programowych.

9. Na jakie cztery grupy można podzielić oprogramowanie? Przykłady oprogramowania dla każdej grupy.

10. Według jakich kryteriów można porównywać programy z tej samej klasy?

11. Jakie są etapy rozwoju narzędzi do tworzenia oprogramowania?

12. Cel i główna charakterystyka kompilatorów (asemblerów) i edytorów linków.

13. Cel i główna charakterystyka edytorów tekstu.

14. Cel i główne cechy debugerów.

15. Cel i główne cechy programów do tworzenia instalatorów.

16. Cel i główne cechy edytorów zasobów.

17. Cel i główne cechy profilerów.

18. Cel i główne cechy programów obsługi wersji.

19. Cel i główna charakterystyka programów do tworzenia plików pomocy (dokumentacji).

20. Cel i główne cechy generatorów dokumentacji.

21. Cel i główne cechy dezasemblerów i dekompilatorów.

22. Cel i główna charakterystyka programów monitorowania działania systemu i zmian zachodzących w systemie.

23. Cel i główne cechy programów i kontenerów weryfikatorów.

24. Cel i główna charakterystyka programów do ochrony opracowanego oprogramowania (protektorów).

25. Cel i główne cechy SDK.

26. Cel i główne cechy parserów.

27. Cel standardów technologicznych.


TEMAT: Metodyki tworzenia oprogramowania.

Literatura: 1. Zelkowitz M., Shaw A., Gannon J. Zasady tworzenia oprogramowania.

2. Ghezzi C., Jazayeri M., Mandrioli D. Podstawy inżynierii oprogramowania.

3. Kamaev V. A., Kosterin V. V. Technologie programistyczne.

Rozważmy pojęcia metodologii, metody i środków.

Definicja 1: metoda(z greckiego methodos - sposób badań lub wiedzy, teoria lub nauczanie) - technika lub system technik praktycznej realizacji czegoś w dowolnym celu Tematyka, zespół technik lub operacji służących praktycznemu lub teoretycznemu kształtowaniu rzeczywistości, podporządkowany rozwiązywaniu konkretnych problemów.

Metoda obejmuje udogodnienia- w jaki sposób akcja jest przeprowadzana i sposoby- w jaki sposób akcja jest przeprowadzana.

Definicja 2: Metodologia to system zasad, a także zbiór idei, koncepcji, metod, metod i środków, które wyznaczają styl tworzenia oprogramowania.

Metodologia to wdrożenie standardu. Same standardy mówią jedynie o tym, co powinno być, pozostawiając swobodę wyboru i adaptacji.

Konkretne rzeczy są realizowane poprzez wybraną metodologię. To ona decyduje o tym, jak będzie przebiegał rozwój. Istnieje wiele skutecznych metodologii tworzenia oprogramowania. Wybór konkretnej metodyki zależy od wielkości zespołu, specyfiki i złożoności projektu, stabilności i dojrzałości procesów firmy oraz cech osobistych pracowników.

Metodologie stanowią rdzeń teorii zarządzania rozwojem oprogramowania.

W zależności od zastosowanego modelu cyklu życia metodologie dzielą się na:

Wodospad (kaskada);

Iteracyjny (spirala).

Jest ich też więcej Generalna klasyfikacja na:

Możliwy do przewidzenia;

Adaptacyjny.

Przewidywane metodologie skoncentruj się na szczegółowym planowaniu przyszłości. Planowane zadania i zasoby na cały czas trwania projektu są znane. Zespół ma trudności z odpowiedzią możliwe zmiany. Plan jest optymalizowany w oparciu o zakres prac i istniejące wymagania. Zmiana wymagań może prowadzić do znacząca zmiana planu, a także projektu wykonawczego. Często tworzony jest specjalny komitet „zarządzania zmianą”, aby zapewnić uwzględnienie w projekcie tylko najważniejszych wymagań.

Metodologie adaptacyjne mają na celu przezwyciężenie oczekiwanej niekompletności wymagań i ich ciągłą zmianę. Kiedy zmieniają się wymagania, zmienia się także zespół programistów. Zespół zajmujący się rozwojem adaptacyjnym ma trudności z przewidzeniem przyszłości projektu. Dokładny plan jest dopiero na najbliższą przyszłość. Bardziej odległe plany istnieją jedynie jako deklaracje celów projektu, oczekiwanych kosztów i rezultatów.

Rozwój kaskadowy lub model kaskadowy – model procesu wytwarzania oprogramowania, w którym proces tworzenia oprogramowania wygląda jak przepływ, sukcesywnie przechodząc przez fazy analizy wymagań, projektowania, wdrożenia, testowania, integracji i wsparcia.

Podstawową cechą podejścia kaskadowego jest: przejście do kolejnego etapu następuje dopiero po całkowitym zakończeniu prac na obecnym etapie i nie przewiduje się powrotów do etapów zakończonych . Każdy etap kończy się pewnymi wynikami, które służą jako dane wejściowe do następnego etapu (ryc. 1).

Ryż. 1. Kaskadowy model cyklu życia.

Każdy etap kończy się wydaniem kompletu dokumentacji wystarczającej do kontynuacji rozwoju przez inny zespół programistów. Kryterium jakości opracowania przy tym podejściu jest dokładność spełnienia specyfikacji technicznych.

Zalety stosowania metody kaskadowej:

Na każdym etapie powstaje kompletny zestaw dokumentacja projektu, spełniające wymogi kompletności i spójności;

Etapy prac realizowane w logicznej kolejności pozwalają zaplanować czas realizacji wszystkich prac i związane z nimi koszty.

Podejście kaskadowe sprawdziło się dobrze w konstrukcji elektroniki systemy informacyjne, dla którego na samym początku rozwoju wszystkie wymagania mogą być dość dokładnie i całkowicie sformułowane, aby dać programistom swobodę w ich jak najlepszym technicznym zaimplementowaniu.

Jednocześnie takie podejście ma szereg wad, spowodowanych przede wszystkim tym, że faktyczny proces tworzenia oprogramowania nigdy nie mieści się całkowicie w tak sztywnym schemacie. Proces tworzenia oprogramowania ma z reguły charakter iteracyjny: wyniki kolejnego etapu powodują często zmiany w rozwiązaniach projektowych opracowanych na poprzednich etapach. Istnieje zatem ciągła potrzeba powrotu do poprzednich etapów i doprecyzowania lub zweryfikowania wcześniej podjętych decyzji (ryc. 2). Przedstawiony schemat można przypisać odrębnemu modelowi – modelowi ze sterowaniem pośrednim, w którym korekty międzystopniowe zapewniają większą niezawodność w porównaniu z modelem kaskadowym, choć wydłużają cały okres rozwoju.

Główną wadą modelu kaskadowego jest znaczne opóźnienie w uzyskaniu wyników i w konsekwencji wysokie ryzyko stworzenie systemu, który nie odpowiada zmieniającym się potrzebom użytkowników. Dzieje się tak z dwóch powodów:

Użytkownicy nie mogą od razu określić wszystkich swoich wymagań i nie mogą przewidzieć, jak zmienią się one w trakcie rozwoju;

Podczas programowania mogą wystąpić zmiany w środowisku zewnętrznym, które będą miały wpływ na wymagania dla systemu.

Ryż. 2. Kaskadowy model cyklu życia w praktyce.

W podejściu kaskadowym wymagania dotyczące powstającego produktu ustalane są w formie specyfikacji technicznych na cały czas jego powstawania, a uzyskane wyniki uzgadniane są z użytkownikami jedynie w punktach zaplanowanych po zakończeniu każdego etapu ( możliwe jest dostosowanie wyników na podstawie komentarzy użytkowników, jeśli nie mają one wpływu na wymagania określone w zakres obowiązków). Dzięki temu użytkownicy mogą zgłaszać istotne uwagi dopiero po całkowitym zakończeniu prac nad systemem. Użytkownicy mogą otrzymać system, który nie odpowiada ich potrzebom. W rezultacie musimy zacząć nowy projekt, który może spotkać ten sam los.

Aby przezwyciężyć te problemy, w połowie lat 80. zaproponowano spiralny model cyklu życia (ryc. 3).

Ryż. 3. Spiralny (iteracyjny) model cyklu życia.

Jego podstawową cechą jest to, że: oprogramowanie aplikacyjne nie powstaje od razu, jak w przypadku podejścia kaskadowego, ale w częściach, metodą prototypowania .

Pod prototyp rozumiany jest jako działający komponent oprogramowania, realizujący poszczególne funkcje i zewnętrzne interfejsy tworzonego oprogramowania. Prototypowanie odbywa się w kilku iteracjach, czyli zakrętach spiralnych. Każda iteracja polega na stworzeniu fragmentu lub wersji oprogramowania, podczas której doprecyzowuje się cele i charakterystykę projektu, ocenia jakość uzyskanych wyników i planuje prace nad kolejną iteracją. Przy każdej iteracji przeprowadzana jest dokładna ocena ryzyka i kosztów harmonogramu projektu w celu ustalenia, czy konieczna jest kolejna iteracja, czy wymagania systemowe zostały w pełni i dokładnie zrozumiane oraz czy projekt powinien zostać zakończony.

Model spiralny odciąża użytkowników i programistów od konieczności dokładnego i pełnego formułowania wymagań systemowych etap początkowy, ponieważ są one udoskonalane w każdej iteracji. Tym samym pogłębiane i konsekwentnie doprecyzowywane są szczegóły projektu, w wyniku czego wybierany jest rozsądny wariant, który zostaje wprowadzony do realizacji.

Model spiralny jest klasycznym przykładem zastosowania ewolucyjnej strategii projektowania. Model spiralny (Barry Boehm, 1988) opiera się na najlepszych właściwościach klasycznego cyklu życia i prototypowania, do którego dodaje się nowy element – ​​analizę ryzyka, której wcześniej brakowało.

Model spiralny definiuje cztery działania, reprezentowane przez poszczególne sektory spirali:

1. Planowanie – określenie celów, opcji i ograniczeń.

2. Analiza ryzyka - analiza opcji i rozpoznanie/wybór ryzyka.

3. Projektowanie – rozwój produktu wyższego poziomu.

4. Ocena – dokonana przez Klienta ocena aktualnych wyników projektu.

Integrujący aspekt modelu spiralnego jest oczywisty, gdy uwzględni się promieniowy wymiar spirali. Z każdą iteracją po spirali (przesuwając się od środka do peryferii) coraz więcej pełne wersje PRZEZ.

W pierwszym obrocie spirali ustalane są wstępne cele, możliwości i ograniczenia, rozpoznawane i analizowane jest ryzyko. Jeśli analiza ryzyka wykaże niepewność wymagań, prototypowanie (stosowane w kwadrancie projektowania) przychodzi z pomocą programiście i klientowi. Symulację można wykorzystać do dalszej identyfikacji problematycznych i udoskonalonych wymagań. Klient dokonuje oceny prac inżynieryjnych (projektowych) i zgłasza propozycje modyfikacji. Kolejna faza planowania i analizy ryzyka opiera się na propozycjach Klienta. W każdym cyklu spiralnym wyniki analizy ryzyka formułowane są w formie „kontynuuj, nie kontynuuj”. Jeżeli ryzyko jest zbyt duże, projekt może zostać wstrzymany.

W większości przypadków spirala trwa dalej, a każdy krok przesuwa programistów w stronę bardziej ogólnego modelu systemu.

Dzięki metodzie iteracyjnej brakującą część pracy można wykonać w kolejnej iteracji. Głównym zadaniem jest jak najszybsze pokazanie użytkownikom systemu działającego produktu, aktywując tym samym proces doprecyzowywania i uzupełniania wymagań.

Model spiralny nie wyklucza podejścia kaskadowego na końcowych etapach projektu w przypadkach, gdy wymagania wobec systemu są w pełni określone.

Głównym problemem cyklu spiralnego jest określenie momentu przejścia do kolejnego etapu. Aby go rozwiązać, konieczne jest wprowadzenie ograniczeń czasowych dla każdego z etapów cyklu życia. Przejście przebiega zgodnie z planem, nawet jeśli nie wszystkie zaplanowane prace zostały ukończone. Plan sporządzany jest w oparciu o dane statystyczne uzyskane z poprzednich projektów oraz osobiste doświadczenie deweloperzy.

Zalety modelu spiralnego:

Najbardziej realistycznie (w formie ewolucji) odzwierciedla to rozwój oprogramowania;

Pozwala jednoznacznie uwzględnić ryzyko na każdym etapie ewolucji rozwoju;

Zawiera krok systematyczne podejście w iteracyjną strukturę programistyczną;

Wykorzystuje symulację, aby zmniejszyć ryzyko i ulepszyć oprogramowanie.

Wady modelu spiralnego:

Nowość (brak wystarczających statystyk dotyczących efektywności modelu);

Zwiększone wymagania wobec klienta;

Trudności w monitorowaniu i zarządzaniu czasem rozwoju.

Obecnie można wyróżnić następujące iteracyjne metodologie wytwarzania oprogramowania:

Racjonalny ujednolicony proces (RUP)

Zwinne metodologie programistyczne (SCRUM, KANBAN, DSDM, MSF, ALM, XP)

Zwinna metodologia rozwoju(Angielski: Zwinne tworzenie oprogramowania).

Większość zwinnych metodologii ma na celu minimalizację ryzyka poprzez ograniczenie rozwoju do serii krótkich cykli zwanych iteracje, które zwykle trwają od jednego do dwóch tygodni. Każda iteracja sama w sobie wygląda jak miniaturowy projekt oprogramowania i obejmuje wszystkie zadania niezbędne do dostarczenia mini-przyrostu funkcjonalności: planowanie, analiza wymagań, projektowanie, kodowanie, testowanie i dokumentacja. Chociaż pojedyncza iteracja na ogół nie wystarcza do wydania nowej wersji produktu, zakłada się, że zwinny projekt oprogramowania jest gotowy do wydania pod koniec każdej iteracji. Na koniec każdej iteracji zespół ponownie ocenia priorytety rozwojowe.

Metody zwinne kładą nacisk na bezpośrednią komunikację twarzą w twarz. Większość zwinnych zespołów zlokalizowana jest w tym samym biurze. Obejmuje co najmniej „klientów” (klientów, którzy definiują produkt; mogą to być także menedżerowie produktu, analitycy biznesowi lub klienci). W biurze mogą znajdować się także testerzy, projektanci interfejsów, autorzy tekstów technicznych i menedżerowie.

Jedną z najbardziej znanych i zaawansowanych metodyk zwinnych jest metodologia SCRUM.

SCRUM- metodologia przeznaczona dla małych zespołów (do 10 osób). Całość projektu podzielona jest na iteracje (sprinty) trwające 30 dni każda. Wybrana zostaje lista funkcjonalności systemu, które mają zostać zaimplementowane podczas kolejnego sprintu. Najważniejszymi warunkami są stałość wybranych funkcji podczas jednej iteracji i ścisłe dotrzymywanie terminów na kolejne wydanie, nawet jeśli do jego wydania nie jest możliwa realizacja wszystkich zaplanowanych funkcjonalności. Menedżer ds. rozwoju codziennie odbywa 20-minutowe spotkania zwane scrumami, których efektem jest ustalenie funkcji systemu, tych wdrożonych w ciągu poprzedniego dnia, napotkanych trudności i planu na kolejny dzień. Takie spotkania pozwalają na bieżąco monitorować postęp projektu, szybko identyfikować problemy i szybko na nie reagować.

KANBAN– elastyczna, zadaniowa metodologia tworzenia oprogramowania.

Podstawowe zasady:

Wizualizacja rozwoju:

o podział pracy na zadania;

o użycie znaków informujących o pozycji zadania w opracowaniu;

Ograniczanie prac wykonywanych jednocześnie na każdym etapie rozwoju;

Pomiar czasu cyklu (średni czas wykonania jednego zadania) i optymalizacja procesów.

Zalety KANBANA:

Zmniejszenie liczby zadań równoległych znacznie skraca czas realizacji każdego pojedynczego zadania;

Szybka identyfikacja problematycznych zadań;

Obliczanie czasu wykonania przeciętnego zadania.

METODA ROZWOJU SYSTEMU DYNAMICZNEGO(DSDM) był wynikiem prac konsorcjum 17 Firmy angielskie. Cała organizacja opracowuje podręczniki dotyczące tej metodologii, organizowania kursy przygotowujące, programy akredytacyjne itp. Ponadto DSDM ma wartość pieniężną.

Wszystko zaczyna się od zbadania wykonalności programu i jego zakresu. W pierwszym przypadku próbujesz zrozumieć, czy DSDM nadaje się do danego projektu. Oczekuje się, że zakres zastosowania programu zostanie zbadany poprzez krótką serię seminariów, podczas których programiści poznają obszar biznesu, w którym będą pracować. Omówiono tu także główne postanowienia dotyczące architektury przyszłego systemu oraz planu projektu.

Proces ten dzieli się następnie na trzy powiązane ze sobą cykle: cykl modelu funkcjonalnego odpowiada za stworzenie dokumentacji analitycznej i prototypów, cykl projektowania i budowy odpowiada za uruchomienie systemu, wreszcie cykl ostatni – cykl wdrożeniowy – zapewnia wdrożenie systemu oprogramowania.

Podstawowe zasady, na którym zbudowano DSDM:

Aktywna interakcja z użytkownikami;

Częste wydawanie wersji;

Niezależność deweloperów w podejmowaniu decyzji;

Testowanie przez cały cykl pracy.

Podobnie jak większość innych metodologii zwinnych, DSDM wykorzystuje krótkie iteracje, trwające od dwóch do sześciu tygodni każda. Szczególny nacisk kładzie się na wysoka jakość pracy i zdolności dostosowywania się do zmian wymagań.

RAMA ROZWIĄZAŃ MICROSOFT(MSF) to metodologia tworzenia oprogramowania zaproponowana przez firmę Microsoft Corporation. MSF czerpie z praktycznego doświadczenia Microsoftu i opisuje, jak zarządzać ludźmi i procesami pracy podczas procesu tworzenia rozwiązania.

Podstawowe pojęcia i zasady modelu procesu MSF:

Jednolita wizja projektu – wszyscy zainteresowani i po prostu uczestnicy projektu muszą jasno wyobrazić sobie efekt końcowy, każdy musi rozumieć cel projektu;

Zarządzanie kompromisami - znajdowanie kompromisów pomiędzy zasobami projektu, harmonogramem i wykonalnością;

Elastyczność – gotowość do zmieniających się warunków projektowych;

Koncentracja na priorytetach biznesowych – skupienie się na wpływie i korzyściach, jakich oczekuje konsument rozwiązania;

Zachęcanie do swobodnej komunikacji w ramach projektu;

kreacja wersje podstawowe- rejestrowanie stanu wszelkich artefaktów projektu, w tym kodu programu, planu projektu, instrukcji obsługi, ustawień serwera i poniższych Efektywne zarządzanie zmiany, analityka projektu.

MSF dostarcza sprawdzone metodologie planowania, projektowania, opracowywania i wdrażania skutecznych rozwiązań IT. Dzięki swojej elastyczności, skalowalności i brakowi sztywnych przepisów, MSF jest w stanie sprostać potrzebom organizacji Grupa projektowa dowolny rozmiar. Metodologia MSF składa się z zasad, modeli i dyscyplin zarządzania ludźmi, procesami, elementami technologicznymi i powiązanymi kwestiami, które są typowe dla większości projektów.

Zarządzanie cyklem życia aplikacji(ALM) — opracowany i wspierany przez firmę Borland.

Ekstremalne programowanie(XP) - Programowanie ekstremalne, wspierane przez otwartą społeczność niezależnych programistów.

Oprogramowanie instrumentalne to oprogramowanie przeznaczone do użytku przy projektowaniu, rozwijaniu i utrzymywaniu programów.

W trakcie studiowania tematu zbadano narzędzia do tworzenia wirtualnych wycieczek. Przy tworzeniu wirtualnej wycieczki wykorzystano następujące możliwości:

KPresenter to darmowy program do prezentacji będący częścią projektów KOffice i KDE. Interfejs programu pokazano na rysunku 6.

Rysunek 6 – Kpresenter.

Adobe Photoshop został wybrany spośród wielu innych programów (Paint, Paint.net, Photoshop online itp.) ze względu na fakt, że jest dość łatwy w nauce i obsłudze. Stworzony na jej podstawie duża liczba lekcje wideo, a poza tym jest to uwzględnione w programie studiów. Za jego pomocą stale powstające zniekształcenia zostaną usunięte. Interfejs programu pokazano na rysunku 7.


Rysunek 7 – Adobe Photoshop.

Microsoft Paint to wielofunkcyjny, ale jednocześnie dość łatwy w obsłudze raster edytor graficzny Firma Microsoft, część wszystkiego system operacyjny Windows, począwszy od pierwszych wersji. Interfejs programu pokazano na rysunku 8.


Rysunek 8 – Farba.

Paint.NET to darmowy edytor grafiki rastrowej dla systemu Windows NT oparty na .NET Framework. Aplikacja powstała jako projekt opracowany przez grupę studentów Washington State University dla systemu Microsoft Windows pod kierunkiem firmy Microsoft. Paint.NET jest napisany w języku C#, a podczas instalacji i integracji z powłoką używana jest część języka C++.

Photoshop w sieci - darmowy internet zasób znajduje się pod adresem http://photoshop.domfailov.ru. Edytor graficzny wyposażony w wiele funkcji. Aplikacja pozwalająca na wykonywanie różnych czynności poprawiających i przetwarzających obraz. Takie działania obejmują: obróbkę kolorów, instalację i wiele więcej. Interfejs programu pokazano na rysunku 9.


Rysunek 9 – Photoshop online.

Microsoft Office Word 2003 to edytor tekstu przeznaczony do tworzenia, przeglądania i edycji dokumentów tekstowych, z lokalnym zastosowaniem najprostszych form algorytmów tablicowo-macierzowych. Wyprodukowany przez firmę Microsoft Corporation jako część pakietu Microsoft Office.Interfejs programu pokazano na rysunku 10.


Rysunek 10 – Microsoft Office Word 2003.

Moc Microsoftu Point to program do tworzenia i prowadzenia prezentacji będący częścią pakietu Microsoft Office i dostępny w wersjach dla systemów operacyjnych.Interfejs programu pokazano na rysunku 11.


Rysunek 11 – Microsoft Power Point.

Microsoft ICE Autopano Giga, Ulead Cool 360, The Panorama Factory, PTGui Pro ze względu na łatwość obsługi i fakt, że jest bezpłatny. Aby połączyć zdjęcia w panoramę wystarczy przenieść je do obszaru roboczego programu i wtedy program zadziała automatycznie. Interfejs programu pokazano na rysunku 12.


Rysunek 12 – Microsoft ICE.

Autopano Giga - Cały proces tworzenia jest w pełni zautomatyzowany: poprawi i zrównoważy jasność i kolor, dopasuje fragmenty i automatycznie znajdzie zdjęcia nadające się do sklejenia we wskazanym przez użytkownika folderze. Obsługiwana jest znaczna liczba formatów (w tym format RAW). Interfejs programu pokazano na rysunku 13.


Rysunek 13 – Autopano Giga.

PTGui Pro to komercyjny (shareware) program komputerowy do tworzenia zdjęć panoramicznych, opracowany i utrzymywany przez holenderską firmę New House Internet Services z siedzibą w Rotterdamie, założoną w 1996 roku. PTGui był pierwotnie graficznym interfejsem darmowego pakietu Panorama Tools (stąd nazwa programu), ale późniejsze wersje programu działają na własny algorytm zszywanie zdjęć. Interfejs programu pokazano na rysunku 14.


Rysunek 14 – PTGui Pro.

Microsoft Office SharePoint Designer 2007 - Program jest łatwy w obsłudze i rozpowszechniany bezpłatnie. Program posiada szerokie możliwości, w szczególności może w czasie rzeczywistym automatycznie przesyłać zmiany wprowadzone przez twórcę serwisu do tekstów źródłowych. Interfejs programu pokazano na rysunku 15.


Rysunek 15 – Microsoft Office SharePoint Designer.

Pano2VR to najprostsza z pozostałych opcji (Photo Warp, Tourweaver, Panorama2Flash, Pano2QTVR free, JATC, Easypano Studio Pro) mało jest znanych programów z takimi możliwościami, a za niekwestionowanego lidera w tym obszarze uważany jest Amerykańska firma IPIX Corporation (http://www.ipix.com), która jest twórcą technologii wirtualnych wycieczek. Dlatego jego produkty programowe są najczęściej wykorzystywane przy opracowywaniu wycieczek, w tym w Rosji. Istnieją jednak bardzo ciekawe alternatywne opcje innych firm, które również zapewniają doskonałe wyniki, ale kosztują znacznie mniej.

Easypano Studio Pakiet zawiera dwa moduły oprogramowania: Panoweaver i Tourweaver. Pierwszy z nich to zszywacz panoram sferycznych 360×360, który jest możliwy zarówno w trybie w pełni automatycznym, jak i ręcznym, natomiast drugi pozwala łączyć panoramy i inne informacje w wirtualne wycieczki. Aplikacji Tourweaver można używać nie tylko w połączeniu z Panoweaverem, ale także samodzielnie, gdyż umożliwia importowanie panoram utworzonych w innych szwalniach. Na przykład możesz importować panoramy cylindryczne utworzone w Panorama Factory lub panoramy wygenerowane w pakietach 3D, szczególnie 3D Studio Max. Dodatkowo istnieje możliwość importu panoram z cyfrowych kamer panoramicznych Kaidan 360 One VR, Panoscan, RoundShot itp. Interfejs programu pokazano na rysunku 16.

Rysunek 16 — Pakiet programistyczny 360 stopni swobody.

SP_VTB, SP_STITCHER - Firma Panorama Sferyczna specjalizuje się w tworzeniu oprogramowania do tworzenia różne rodzaje panoramy i łączenie ich w wirtualne wycieczki, jednak w naszym przypadku najciekawsze są narzędzie do łączenia obrazów SP_STITCHER w panoramy i kreator wirtualnych wycieczek SP_VTB. Są one dostarczane jako osobne aplikacje, ale przy opracowywaniu wirtualnych wycieczek uzupełniają się, gdyż SP_VTB pozwala na tworzenie wycieczek wyłącznie w oparciu o panoramy w formacie spf uzyskane w środowisku SP_STITCHER. Obie aplikacje są dość łatwe w obsłudze, a dołączona szczegółowa dokumentacja, kilka zestawów testowych do łączenia typu „rybie oko” oraz próbna wirtualna wycieczka pomogą Ci szybko zrozumieć zawiłości pracy. Interfejs programu pokazano na rysunku 17.

Rysunek 17 - SP_VTB, SP_STITCHER.

IPIX Interactive Studio, IPIX Real Estate Wizard, IPIX i-Linker - Jako aplikacje do tworzenia wirtualnych wycieczek IPIX oferuje pakiety oprogramowania IPIX i-Linker 3.1 i IPIX Multimedia Toolkit, których użycie ma sens tylko w połączeniu ze zszywaczem IPIX, ponieważ obie aplikacje są skonfigurowane do korzystania z panoram IPIX. Pakiety IPIX Interactive Studio i IPIX Real Estate Wizard mogą służyć jako programy do łączenia panoram. Interfejs programu pokazano na rysunku 18.

Rysunek 18 - SP_VTB, SP_STITCHER.

Otóż ​​Pano2VR to program dla osób zajmujących się produkcją wirtualnych panoram 3D, Nowy produkt zapewni wszystkie niezbędne nowoczesne możliwości prezentacji treści w oparciu o technologię Flash. Oprócz postprodukcji można także wykonywać przekształcenia tekstur (jest duży wybór) oraz tworzyć obrazy podglądowe (miniaturka). Dodano nową koncepcję przepisaną od podstaw wielka ilość ulepszenia i możliwości. Choć program, podobnie jak poprzednio, wspiera konwersję do formatu QTVR, główny nacisk w tej edycji położono na technologię Flash. Aplikacja służąca do konwersji sferycznych lub cylindrycznych zdjęć panoramicznych do formatów QuickTime VR (QTVR) lub Adobe Flash 8 i Flash 9/10 (SWF). Z możliwością tworzenia własnych szablonów panoram, przycisków, dodawania animacji i dźwięku oraz automatycznego obracania. Interfejs programu pokazano na rysunku 19.

Rysunek 19 – Pano2VR.

Narzędzia Pano2VR:

Narzędzie do poprawek. Umożliwia dynamiczną korektę oryginalnego obrazu. Można wybrać obszar panoramy i wyeksportować go do oprogramowania do edycji obrazów. Obsługuje możliwość edycji tylko wybranych obszarów, które wymagają korekty, bez wpływu na resztę obrazu.

Edytor skórek. Możliwość stworzenia własnego szablonu panoramy. Można dodawać własne przyciski i grafiki, projekty. Do swojego szablonu możesz także dodać animacje i efekty dźwiękowe.

Edytor dźwięku. Możliwość dodawania różnych dźwięków do panoram.

Eksport Flash. Eksportuj panoramy, łącznie ze wszystkimi elementami graficznymi, jako pojedynczy plik SWF. To znacznie upraszcza proces przesyłania panoramy do systemu zarządzania treścią lub umieszczania jej na blogu. Panoramy cylindryczne i sześcienne można obracać automatycznie, wybierając kierunek ruchu, prędkość i opóźnienie. Panoramy mogą zawierać gorące punkty, a także predefiniowane lub w pełni konfigurowalne szablony. Wbudowany edytor szablonów umożliwia także dodawanie do panoramy map, linków, logo i innych informacji w przyjaznej dla użytkownika formie.

Eksport QuickTime do VR. Możliwość eksportu panoram cylindrycznych i sześciennych do formatu QuickTime VR.

Programem, za pomocą którego będzie prezentowana wycieczka, jest Adobe Flash Player, możliwe są inne opcje (aplety Java zapisane na płytach CD przeglądane są w specjalnych przeglądarkach wycieczek), ale dzięki popularności marki Adobe i powszechnemu stosowaniu Flash Playera, ten to jest to, co zostanie użyte

Share Point Designer 2007 -WYSIWYG HTML to darmowy edytor i program do projektowania stron internetowych firmy Microsoft, zastępujący Microsoft Office FrontPage i będący częścią rodziny SharePoint. Jest jednym ze składników pakietu Microsoft Office 2007, ale nie jest zawarty w żadnym z pakietów biurowych (instalowanych osobno). Przejście nazwy z FrontPage na SharePoint Designer wiąże się z jej celem: tworzeniem i projektowaniem stron internetowych Microsoft SharePoint. SharePoint Designer ma ten sam silnik renderowania HTML co Microsoft Expression Web i nie opiera się na silniku Trident przeglądarki Internet Explorera, co jest mniej zgodne ze wspólnymi standardami.

Yandex Internet to najnowocześniejsza, a przez to szybsza i bardziej obiecująca przeglądarka. Wycieczka będzie na nim testowana, wyboru dokonano spośród wielu opcji: GoogleChrome(Rysunek 2), Chromium (Rysunek 22), Chrome od Yandex (Rysunek 23), Microsoft Internet Explorer (Rysunek 24), Mozilla Firefox(Rysunek 25), Opera (Rysunek 26), Yandex (Rysunek 20) ​​itp.

Rysunek 20 - Przeglądarka Yandex.

Rysunek 21 – Google Chrome.

Rysunek 22 – Opera.

Rysunek 23 - Chrom.

Rysunek 24 - Chrome od Yandex.

Rysunek 25 – Internet Explorer.

Rysunek 26 – Mozilla Firefox.

Programy wymienione poniżej zostały wybrane z listy narzędzi z powodów wymienionych poniżej.

Uzasadnienie wyboru narzędzi i oprogramowania programistycznego

Na podstawie badania narzędzi do tworzenia oprogramowania, jako narzędzia do opracowania wirtualnej wycieczki po szkole nr 2 zostaną wykorzystane:

Adobe Photoshop CS3 - potrafi pracować z dużą liczbą formatów, tworzyć, zapisywać, edytować i zmieniać obrazy różne sposoby. Wielofunkcyjny edytor graficzny, który doskonale sprawdza się w celu uzyskania dokładniejszego efektu łączenia zdjęć w panoramę.

Microsoft ICE wersja 1.4.4.0 - program potrzebny do połączenia wielu pojedynczych zdjęć jednego obiektu w odpowiedniej kolejności w jedno zdjęcie panoramiczne.

Pano2VR wersja 4.1.0 pro - program do łączenia panoram w wycieczki.

Wtyczka Adobe Flash Player 13 - darmowy program aby obejrzeć wycieczkę.

Yandex Internet 14.4.1750.13414 to najnowsza, najwygodniejsza i najszybsza przeglądarka.

Share Point Designer 2007 to darmowy program do edycji stron internetowych, edytor HTML i program do projektowania stron internetowych firmy Microsoft, zamiennik Microsoft Office FrontPage i część rodziny SharePoint.

Microsoft Word - Edytor tekstu i redaktor dokumentów. Zachwyca funkcjonalnością i możliwością zastosowania, potrafi pracować z różnymi formatami.

Microsoft Office PowerPoint jest częścią pakietu Microsoft Office. Dzięki temu PowerPoint stał się najpopularniejszym programem do prezentacji na całym świecie. Akta Prezentacje w PowerPoincie programy są często przesyłane przez użytkowników do innych komputerów, co oznacza, że ​​konkurencyjne programy muszą być z nimi kompatybilne.

Wybrane narzędzia programistyczne zostały zbadane i zainstalowane na komputerze. Przy ich pomocy będzie realizowany rozwój oprogramowania.

Republika Kazachstanu Syn Ministry

Bilim zhane sala edukacji i nauki

Minister Ligi Republiki Kazachstanu

D. Serikbaev w Yndagy EKSTU

ShKMTU nazwany na cześć. D. Serikbajewa

ZATWIERDZIŁEM

Dziekan FITiB

M. Kylyshkanov

2015

BADARLAMANY ÖZIRLEUDYWhen KURAL-SAYMANDARY

Zhumys moduldik oku bagdarlamasy zhane program nauczania

NARZĘDZIA ROZWOJU PROGRAMU

Liczba punktów dyscyplinarnych: 3

Ust-Kamenogorsk

Działający modułowy program nauczania i program nauczania zostały opracowane na Wydziale Systemów Informatycznych i Modelowania Komputerowego w oparciu o Państwowy Standard Kształcenia Obowiązkowego Republiki Kazachstanu Państwowy Standard Edukacji Republiki Kazachstanu 5.04.019 - 2011 Wyższa edukacja. Licencjat, program pracy, modelka program i modułowa specjalność.

Omówiono na posiedzeniu Katedry „Systemy informacyjne i modelowanie komputerowe”

Głowa wydział N. Denisowa

Zatwierdzony przez Radę Edukacyjno-Metodologiczną FITiB

Przewodniczący G. Uazyrkhanova

Protokół nr ____ z dnia ____ ____________ 2015 r

Rozwinięty

Profesor nadzwyczajny katedry T. Balova

starszy wykładowca wydziału I. Uvalieva

Inspektor ds. standardów I. Fazylova

1 CHARAKTERYSTYKA DYSCYPLINY, JEJ MIEJSCE W PROCESIE EDUKACYJNYM

1.1 Streszczenie studiowana dyscyplina

Dyscyplina „Narzędzia do tworzenia programu” (zwana dalej ISDP) należy do obowiązkowego elementu cyklu dyscyplin podstawowych programu edukacyjnego specjalności 5B070400-„Inżynieria komputerowa i oprogramowanie” i stanowi część modułu rozwoju programu modułowy program edukacyjny specjalności 5B070400 – „Inżynieria komputerowa i oprogramowanie” .

Treści studiowanej dyscypliny mają na celu rozwijanie wiedzy studentów w tej dziedzinie nowoczesne technologie programowania i narzędzi je wspierających, przyczynia się do ukształtowania informatyka o szerokich horyzontach i kulturze myślenia, przygotowanego do wykorzystania w zakresie nowoczesnych narzędzi CASE do projektowania produktów software'owych.

1.2 Cele i zadania studiowania dyscypliny

Celem studiowania dyscypliny „Narzędzia programistyczne” jest zapoznanie studentów z wiedzą teoretyczną z zakresu technologii projektowania i zapewnienia cyklu życia systemów oprogramowania, a także nabycie praktycznych umiejętności wykorzystania nowoczesnych technologii ukierunkowanych na modelowanie procesów biznesowych i projektowanie systemów oprogramowania z wykorzystaniem technologii CASE (Computer Aided Software/System Engineering, CASE). Cel dyscypliny jest zgodny z celami ogólnymi modułowego programu kształcenia specjalności.

Podejście kompetencyjne do nauczania dyscypliny „Narzędzia Rozwoju Programu” określa jej główne cele:

Kształtowanie systemu wiedzy wśród studentów z zakresu inżynierii oprogramowania i programowania komputerów;

Zapoznanie studentów z teoretycznymi podstawami modelowania procesów biznesowych, metodologiami projektowania i tworzenia oprogramowania oraz zestawem narzędzi zapewniających ich cykl życia;

Rozwijanie umiejętności wykorzystania narzędzi CASE do modelowania strukturalnego i obiektowego oraz projektowania oprogramowania.


Cele studiowania dyscypliny zapewniają realizację celów ustanowionych w cechy kwalifikacji wymagania dotyczące przygotowania licencjatów w programie edukacyjnym 5B070400-„Technologie i oprogramowanie komputerowe”.

1.3 Wyniki studiowania dyscypliny

Efekty uczenia się są określane na podstawie deskryptorów dublińskich odpowiednich poziomów edukacji i wyrażane poprzez następujące kompetencje:

wiedzieć i rozumieć:

Modele cyklu życia oprogramowania i podstawy teoretyczne metodyki projektowania oprogramowania;

Zasady klasyfikacji współczesnych narzędzi programistycznych;

Podejścia do modelowania i restrukturyzacji procesów i systemów biznesowych;

potrafić zastosować w praktyce narzędzia CASE, które wspierają:

Metodologia modelowania funkcjonalnego IDEF0;

Metodologia modelowania zdarzeń IDEF3;

Metodologia modelowania przepływu danych DFD;

Metodologia semantycznego modelowania danych IDEF1X;

Metodologia obiektowego modelowania oprogramowania i metamodeli UML;

bądź przygotowany na formułowanie osądów:

O wyborze modelu cyklu życia dla konkretnego projektu i projektu;

O zagadnieniach doskonalenia oprogramowania w korporacyjnych systemach informatycznych oraz dużych projektach rządowych (od modelu AS-IS do modelu TO-BE);

O znaczeniu i konsekwencjach twojego działalność zawodowa uwzględnianie stanowisk społecznych, zawodowych i etycznych;

rozwijać umiejętności komunikacyjne, w tym:

rozwijać umiejętności uczenia się, które przyczyniają się do:

Profesjonalne i rozwój osobisty, zaawansowane szkolenia z zakresu międzynarodowych standardów inżynierii oprogramowania;

Niezależne nabycie i wykorzystanie w zajęcia praktyczne nową wiedzę i umiejętności pracy z narzędziami CASE, w tym w nowych obszarach wiedzy niezwiązanych bezpośrednio z obszarem działalności.

Wsparcie dydaktyczne i metodyczne dyscypliny ma na celu pomyślne kształtowanie tych efektów uczenia się.

1.4 Warunki wstępne

Aby w pełni przyswoić materiał z dyscypliny ISPE, należy posiadać wiedzę z dyscyplin związanych z algorytmizacją i technologią programowania.

1.5 Wymagania końcowe

Zdobyta wiedza jest niezbędna do wysokiej jakości opanowania materiału z następujących dyscyplin: interfejsy systemów komputerowych i technologie internetowe; systemy i projektowanie baz danych osobowych; projektowanie systemów informatycznych i programowanie stosowane. Zdobyta wiedza jest niezbędna do skutecznego szkolenia z zakresu tworzenia oprogramowania.

2.1 Plan tematyczny


Nazwa tematu, jego treść

i inne źródła

Intensywność pracy,

Moduł 1 „Narzędzia CASE do projektowania strukturalnego i funkcjonalnego oprogramowania”

Zajęcia wykładowe

Temat 1 „Wprowadzenie do dyscypliny”.

Podstawowe koncepcje. Klasyfikacja nowoczesnych narzędzi programistycznych. Cel i zadania narzędzi programistycznych. Historia rozwoju narzędzi.

Temat 2 „Metody projektowania oprogramowania”.

Ogólne wymagania dotyczące metodologii i technologii projektowania oprogramowania. Przewodnik po zbiorze wiedzy o inżynierii oprogramowania SWEBOK. Przegląd metod projektowania oprogramowania. Omówienie zestawu narzędzi do projektowania oprogramowania

Temat 3 „Podstawy metodologii projektowania oprogramowania”.

Projektowanie programów jako systemów złożonych. Cykl życia oprogramowania. Podstawowe procesy cyklu życia oprogramowania. Procesy pomocnicze cyklu życia oprogramowania. Procesy organizacyjne cyklu życia oprogramowania

Temat 4 „Modele cyklu życia oprogramowania”.

Koncepcja modelu cyklu życia oprogramowania. Klasyczny model procesu wytwarzania oprogramowania. Prototypowanie. Strategia przyrostowego rozwoju. Model procesu spiralnego. Model szybkiego tworzenia aplikacji RAD

Temat 5 „Metodologie tworzenia oprogramowania”.

XP - programowanie procesowe lub ekstremalne. Metodologia racjonalnego ujednoliconego procesu (RUP). Elastyczne (zwinne) metodyki. Wybór modelu cyklu życia dla konkretnego projektu. Procedura tworzenia oprogramowania

Temat 6 „Nowoczesne technologie CASE”.

CASE - technologie i ich zastosowanie. ogólna charakterystyka i klasyfikacja współczesnych narzędzi CASE. Technologie wdrażania i rozwoju narzędzi CASE. Ocena narzędzi CASE

Temat 7 „Modelowanie procesów biznesowych”.

Koncepcja procesu biznesowego. Restrukturyzacja procesów biznesowych. Modelowanie procesów biznesowych. Metody modelowania procesów biznesowych

Temat 8 „Technologie CASE do analizy strukturalnej i projektowania oprogramowania”.

Metodologia analizy i projektowania konstrukcyjnego. Metodologia modelowania funkcjonalnego IDEF0. Metodologia modelowania zdarzeń IDEF3. Modelowanie przepływów danych DFD. Metodologia semantycznego modelowania danych IDEF1X

Ćwiczenia laboratoryjne

Temat 1 „Opracowanie modelu funkcjonalnego IDEF0”

Temat 2 „Rozwój modelu procesy informacyjne Przepływy danych IDEF3 i DFD”

Temat 3 „Metodologia semantycznego modelowania danych IDEF1X”

Temat 1 „Raporty i diagramy rodzeństwa modelu IDEF0”

Temat 2 „Narzędzia do kolektywnego tworzenia modeli funkcjonalnych w środowisku BPwin”

Temat 3 „Tworzenie raportów w ERwin”

Temat 1 „Tworzenie diagramów FEO”

Temat 3 „Tworzenie relacji kategoryzacji w modelu IDEF1X”

Całkowity moduł 1

Moduł 2 „Narzędzia CASE do obiektowego projektowania oprogramowania”

Temat 9 „Podstawy obiektowego modelowania oprogramowania i metamodeli UML”.

Hierarchia metaopisów stosowanych w wizualnym modelowaniu oprogramowania. Cel i poziomy modeli UML. Reprezentacje w UML

21, 22, 23, 24, 25

Temat 10 „Ujednolicony język modelowania UML. modelu UML-a”.

UML to ujednolicony język modelowania. Jednostki w UML. Relacje w UML-u

22, 23, 24, 25, 26, 27

Temat 11 „Ujednolicony język modelowania UML. Diagramy UML”.

Rodzaje diagramów UML. Typowe diagramy UML. Specjalne diagramy UML

22, 23, 24, 25, 26, 27

Temat 12 „Ujednolicony język modelowania UML. Ogólne mechanizmy UML”.

Korzystanie z popularnych mechanizmów UML. Ogólne właściwości modelu. Punkty semantyczne

22, 23, 24, 25, 26, 27

Temat 13 „Ogólny opis systemu z punktu widzenia reprezentacji UML”.

Reprezentacje UML z punktu widzenia uogólnienia opisów. Typowe mechanizmy UML. Ogólne właściwości modelu

22, 23, 24, 25, 26, 27

Temat 14 „Opis funkcjonalności wytwarzania oprogramowania.”

Zarządzanie ryzykiem projektu. Procedura tworzenia oprogramowania. Dokumentacja oprogramowania. Zarządzanie wymaganiami

Temat 15 „Trendy naukowo-technologiczne oraz najszybciej rosnące segmenty światowego rynku IT”.

Trzy platformy w ewolucji rynku IT. Nowe trendy w IT: prognoza Gartnera. Globalne Najważniejsze trendy w rozwoju IT na najbliższe 3-5 lat

Ćwiczenia laboratoryjne

22, 23, 24, 25, 26, 27

22, 23, 24, 25, 26, 27

22, 23, 24, 25, 26, 27

Samodzielna praca ucznia pod kierunkiem nauczyciela (SIOP)

Temat 4. „Budowanie diagramów strukturalnych UML”

22, 23, 24, 25, 26, 27


Temat 5. „Budowanie diagramów behawioralnych UML”

22, 23, 24, 25, 26, 27


Temat 6. „Generowanie kodu programu z wykorzystaniem modelu UML”

22, 23, 24, 25, 26, 27


Niezależna praca studenta (SRO)

Temat 4. „Budowanie diagramów strukturalnych UML”

22, 23, 24, 25, 26, 27

Temat 5. „Budowanie diagramów behawioralnych UML”

22, 23, 24, 25, 26, 27

Temat 6. „Generowanie kodu programu z wykorzystaniem modelu UML”

22, 23, 24, 25, 26, 27

Całkowity moduł 2

Razem za dyscyplinę, zasługa Republiki Kazachstanu


2.2 Zadania dla niezależna praca(SROP, SRO)


Czas realizacji, jednostki. tydzień

forma kontroli

Termin ostateczny

(numer tygodnia szkolnego)

Zadanie dla modelu SROP –IDEF0 należy uzupełnić o raporty i diagramy drzewa węzłów.

Zadanie dla modelu SRO –IDEF0 uzupełniono diagramem FEO.

Zapoznaj się z podstawowymi technikami kolektywnego tworzenia modeli funkcjonalnych w środowisku BPwin

Ind. zadanie i dodatkowe pytania w trakcie obrony. Zadania testowe

Przypisanie SROP:

Podziel model IDEF0 i

Analiza ABC.

Zadaniem SRO jest zbadanie elementów modelu symulacyjnego.

Zdobądź praktyczne umiejętności wykorzystania narzędzi do zbiorowego opracowywania modelu z elementami analizy ABC

Zadaniem SROP jest zbudowanie szablonu raportu dla modelu IDEF1X.

Zadanie dla SRO - przestudiuj pracę nad utworzeniem łącza kategoryzacyjnego w modelu IDEF1X

Poznaj techniki tworzenia szablonów raportów za pomocą Konstruktora raportów w środowisku ERwin i opanuj procedury pracy z relacjami kategoryzacji

Ind. zaliczenie i pytania dodatkowe przy obronie pracy laboratoryjnej Zadania testowe

Dotknij wejścia wielopozycyjnego i zdarzeń WPF

Zdobądź podstawową wiedzę na temat interakcji z aplikacją WPF za pomocą

dotykanie ekranu w celu interaktywnej interakcji

Ind. zadanie i pytania dodatkowe przy obronie pracy laboratoryjnej. Zadania testowe

Wyzwalacze właściwości i zdarzeń WPF

Dowiedz się więcej o mechanizmie wyzwalacza WPF służącym do tworzenia efekt animacji

Ind. zadanie i pytania dodatkowe przy obronie pracy laboratoryjnej. Zadania testowe

Korzystanie z interfejsu API pakietu Office i zestawów podstawowych. Net Microsoftu. Biuro. Współpraca

Opanuj uproszczony mechanizm interakcji z COM, aby rozszerzyć praktyczne metody organizowania interakcji między programami

Ind. zadanie i pytania dodatkowe przy obronie pracy laboratoryjnej.

Zadania testowe


2.3 Harmonogram realizacji i przesyłania zadań dla dyscypliny



Literatura główna

1 Rambo J. Ujednolicony proces tworzenia oprogramowania / A. Jacobson, G. Buch, J. Rambo - St. Petersburg: Peter, 2002.-496 s.: il.

2 technologie CASE. Nowoczesne metody i narzędzia do projektowania systemów informatycznych / - M.: Finanse i Statystyka, 1998. - 176 s.

3 Bachtizin, tworzenie oprogramowania: podręcznik. dodatek / , . - Mińsk: BSUIR, 2010. - 267 s. : chory.

4, Analiza i modelowanie komputerowe procesów i systemów informacyjnych /, .- Dialogue-MEPhI, 2009. - 416 s.

5 ISO/IEC 12207:2008. Inżynieria systemów i oprogramowania - Procesy cyklu życia oprogramowania [ Zasób elektroniczny] - Adres URL: http://www. iso. org/iso/catalogue_detail? csnumber=43447, bezpłatnie. - Czapka. z ekranu (data dostępu: 30.10.2015)

6 GOST R ISO/IEC 12207-2010 Technologia informatyczna. Inżynieria systemów i oprogramowania. Procesy cyklu życia oprogramowania. – M. Wydawnictwo Standardów, 2011., 115 s.

7 GOST R ISO/IEC 11179-2-2012 Technologia informatyczna. Rejestry metadanych (MDR). Część 2. Klasyfikacja [Zasoby elektroniczne]. - Adres URL: http:///Catalog/64/6430.shtml, bezpłatnie. - Czapka. z ekranu (data dostępu: 30.10.2015)

8 GOST R ISO/IEC TO 12182 – 2002. Technologia informacyjna. Klasyfikacja oprogramowania. - Wchodzić. 2002 – 06 – 11. – Wydawnictwo M. Standardy, 2002

9 Towarzystwo Komputerowe IEEE. SWEBOK [Zasoby elektroniczne]. - Adres URL: http://puter. org/web/swebok, za darmo. - Czapka. z ekranu (data dostępu: 30.10.2015)

10 , Instruktaż na zajęcia praktyczne „Konstrukcjonalno-funkcjonalne podejście do projektowania i wykorzystania narzędzi CASE” / Perm. państwo teściowa uniw.-t. – Perm, 2005.- 245 s.

11 Mark McGowan Metodologia analizy strukturalnej i projektowania SADT [Tłum. z języka angielskiego] / arch., AkGowen - M.: MetaTechnology, 1993. -240 s.

12 RD 50.1.028-2001. IDEF0 Metodologia modelowania funkcjonalnego, dokument z wytycznymi. Oficjalna publikacja. - M.: Wydawnictwo Standardów IPK, 2000. - 75 s.

13 modelowanie i analiza systemów. Technologie IDEF: warsztat/S. Cheremnykh, I. Semenov, V. Ruchkin - M.: Finanse i statystyka, 2006. -192 s.

14, Analiza strukturalna systemów. IDEF - technologie/S. Cheremnykh, I. Semenov, V. Ruchkin - M.: Finanse i statystyka, 2001. – 208 s.

15 strukturalnych modeli biznesowych: technologie DFD / A. Kalashyan, G. Kalyanov - M.: Stosowane technologie informacyjne, 2009. - 256 s.

dodatkowa literatura

16 Standard IEEE 1320,2–1998. Standard IEEE dotyczący składni i semantyki języka modelowania pojęciowego IDEFIX97 (obiekt IDEF). - Wchodzić. 25.06.1998. – Nowy Jork: IEEE, 1998.

17 efektywne modelowanie z AllFusion Process Modeler/ V. Dubeikovsky.- M.: Dialogue-MEPhI, -2007.- 384 s.

18 modelowanie procesów biznesowych z AllFusion Process Modeler/ S. Maklakov - M.: Dialog-MEPhI, -2004.- 240 s.

19 BPwin i Erwin. Narzędzia CASE do rozwoju systemów informatycznych / S. Maklakov. - Dialog-MEPhI, 2000. - 320 s.

20, Metodologia projektowania funkcjonalnego IDEF0. Podręcznik do kursu „Technologia tworzenia oprogramowania” dla studentów. specjalista. 40 01 01 Oprogramowanie informatyczne kształcenie stacjonarne. – Mińsk: BSUIR, 2003. – 24 s.: il.

21, Modelowanie w języku UML. Teoria, praktyka, kurs wideo. - St. Petersburg, Literatura fachowa, Nauka i technika, 2010, 640 s.

22 język UML. Podręcznik użytkownika. Druga edycja. - DMK, 2006, 496 s.

23 J. Rambo, M. Blaha, UML 2.0. Modelowanie i rozwój obiektowy - Peter, 2007, 544 s.

24 Martina Fowlera. UML-a. Podstawy. Szybka porada zgodnie ze standardowym językiem modelowania obiektów. Symbol-Plus, 2011., 192 s.

25 Unified Modeling Language (UML) [Zasoby elektroniczne]. - Adres URL: http://www. uml. org/, bezpłatny. - Czapka. z ekranu (data dostępu: 30.10.2015)

26 wprowadzenie do UML: [Zasoby elektroniczne] - Kursy otwarte Internetowej Wyższej Szkoły Technik Informacyjnych (INTUIT). - Tryb dostępu http://www. intuicja. ru/studies/courses/1007/229/info (data dostępu: 30.10.2015)

27 modelowanie wizualne w środowisku IBM Rational Rose 2003: [Zasoby elektroniczne] - Kursy otwarte Internetowego Uniwersytetu Technologii Informacyjnych (INTUIT). - Tryb dostępu http://www. intuicja. ru/studies/courses/14/14/info (data dostępu: 30.10.2015)

28 Sympozjum Gartnera/ITxpo [Zasoby elektroniczne]. - Adres URL: http://www. /technology/symposium/japonia/katalog-wystawcy. jsp, bezpłatny. - Czapka. z ekranu (data dostępu: 30.10.2015)

29 Przegląd i ocena perspektyw rozwoju światowego i światowego Rynki rosyjskie Blog firmowy IT / Moskwa Exchange, standardy IT, infrastruktura IT [Zasoby elektroniczne]. - Adres URL: http://habrahabr. ru/company/moex/blog/250463/, bezpłatnie. - Czapka. z ekranu (data dostępu: 30.10.2015)

4 OCENA WIEDZY

4.1 Wymagania nauczyciela

Wymagania nauczyciela:

Uczestnictwo w wykładach i zajęcia laboratoryjne SRSP zgodnie z harmonogramem jest obowiązkowy;

Obecność uczniów na zajęciach jest sprawdzana na początku zajęć, w przypadku spóźnienia student ma obowiązek po cichu wejść na salę i zająć się pracą, a w przerwie wyjaśnić nauczycielowi przyczynę spóźnienia;

Pracę laboratoryjną ocenianą punktowo należy oddać w terminie, do zaliczenia śródsemestralnego dopuszczeni są studenci, którzy obronili przynajmniej jedną pracę laboratoryjną na aktualną ocenę;

Student, który otrzyma ocenę niedostateczną, nie zostanie dopuszczony do ponownego egzaminu semestralnego;

Podczas lekcji Telefony komórkowe musi być wyłączony;

Student ma obowiązek przyjść na zajęcia w stroju biznesowym.

4.2 Kryteria oceny

Wszystkie typy zadań oceniane są w systemie 100-punktowym.

Kontrola bieżąca przeprowadzana jest co tydzień i obejmuje monitorowanie obecności na wykładach, zajęciach praktycznych oraz samodzielnej pracy.

Śródokresowa kontrola wiedzy odbywa się w 7. i 15. tygodniu semestru w formie kolokwium. Ocena składa się z następujące typy kontrola:



Egzamin z dyscypliny odbywa się w trakcie sesji egzaminacyjnej w formie kolokwium.

Na końcową ocenę wiedzy studenta z danej dyscypliny składa się:

40% wyniku uzyskanego na egzaminie;

60% bieżących wyników w nauce.

Wzór na obliczenie oceny końcowej:

gdzie P1, P2 są cyfrowymi odpowiednikami odpowiednio pierwszej i drugiej oceny; E jest cyfrowym odpowiednikiem oceny z egzaminu.

Ostateczna ocena listowa i jej cyfrowy odpowiednik w punktach:



4.3 Materiały do ​​kontroli końcowej

4.3.1 Moduł 1 „Narzędzia CASE do projektowania strukturalnego i funkcjonalnego oprogramowania”

Zgodnie z międzynarodowym Norma ISO i IEC (Międzynarodowa Komisja Elektrotechniczna) to technologia programowania

A) jedno z działań wchodzących w skład cyklu wytwarzania oprogramowania

B) proces programisty (człowieka) tworzący program (strukturę informacji) przeznaczony do późniejszego wykonania (przez komputer)

C) zbiór uogólnionej i usystematyzowanej wiedzy, czyli nauka o optymalnych sposobach realizacji procesu programowania, zapewniająca w danych warunkach wytwarzanie oprogramowania o danych właściwościach

D) zestaw metod i środków, które pozwalają na ustalenie proces produkcji tworzenie oprogramowania

E) algorytm napisany w języku programowania

F) sekwencja poleceń komputerowych (operatorów, instrukcji), których wykonanie prowadzi do rozwiązania problemu

Narzędzia programowe to:

A) przeglądarki zapewniające interfejs graficzny do interaktywnego wyszukiwania, odkrywania, przeglądania i przetwarzania danych w sieci

B) oprogramowanie dla przedsiębiorstw, którego funkcje zapewniają zarządzanie finansami, system relacji z klientami, zarządzanie personelem itp.

C) linkery i debugery

D) oprogramowanie wykorzystywane do projektowania, rozwoju, modyfikacji lub rozwoju innego oprogramowania

E) oprogramowanie umożliwiające dostęp do treści cyfrowych lub zasobów bez ich edycji, przykładami są odtwarzacze multimedialne, przeglądarki internetowe itp.

Kompilator to:

A) program konwertujący tekst źródłowy napisany w języku programowania wysokiego poziomu na wykonywalny kod programu, którego można używać na innych komputerach bez dodatkowych konwersji

B) zestaw narzędzi do tworzenia oprogramowania w określonym języku programowania, obejmujący edytor tekstu źródłowego, tłumacz lub interpreter, linker, debugger, biblioteki standardowych procedur itp.

C) pakiet oprogramowania przeznaczony do tworzenia oprogramowania i integrujący edytory tekstu źródłowego i zasobów, kompilator lub interpreter, linker itp.

D) moduł systemu programowania lub niezależny program, który składa powstały program z modułów obiektowych i standardowych modułów bibliotecznych

E) program zapewniający wykonanie programu krok po kroku, przeglądanie bieżących wartości zmiennych, obliczanie wartości dowolnego wyrażenia programu i inne funkcje

Główne zalety narzędzi CASE to:

A) Zwiększone koszty rozwoju

B) Obniżone koszty rozwoju

C) Komplikacja dostępu do danych

D) Wydłużony czas rozwoju

E) Łatwiej modyfikować systemy

F) Możliwość przechowywania danych

Według projektu ICAM (Integration of Computer and Industrial Technologies) metodologia modelowania funkcjonalnego środowiska lub systemu produkcyjnego jest powiązana z notacją

Główne elementy modelu IDEF3 obejmują

B) Linki

C) podmioty zewnętrzne(podmioty zewnętrzne)

D) Skrzyżowania

E) przepływy danych

F) magazyny danych

G) podmioty zewnętrzne

H) procesy lub działania (działania)

4.3.2 Moduł 2 „Narzędzia CASE do projektowania oprogramowania zorientowanego obiektowo”

Ryzyko związane z przekroczeniem budżetu, negatywną reakcją klienta lub słabą komunikacją z użytkownikami:

A) ryzyko techniczne

B) ryzyko kalendarzowe

C) ryzyko zarządzania

D) ryzyko handlowe

Zasada modelowania stosowana w języku UML, zgodnie z którą model powinien obejmować tylko te elementy projektowanego systemu, które są bezpośrednio związane z realizacją jego funkcji lub przeznaczeniem, pozostałe elementy są pomijane, aby nie komplikować procesu analiza i badanie modelu, nazywa się

A) dziedziczenie

B) hermetyzacja

C) polimorfizm

D) abstrakcja

E) wielomodelowy

F) struktura hierarchiczna

Na diagramie użycia UML używane są następujące typy jednostek

B) Przypadki użycia

C) Aktorzy

D) Interfejsy

F) Stany

G) Przedmioty

Która jednostka strukturalna UML znajduje się poza modelowanym systemem i bezpośrednio z nim współdziała?

Klasa

B) interfejs

C) aktor(aktor)

D) przypadek użycia

E) artefakt

F) węzeł

5 PODSTAWOWE FORMY I METODY TRENINGU

Aby zwiększyć motywację uczniów do doskonalenia wiedzy z danej dyscypliny, stosuje się:

Uczenie się kontekstowe, które pozwala zidentyfikować powiązania pomiędzy konkretną wiedzą a jej zastosowaniem w praktyce;

Interaktywny model nauczania, który przewiduje publiczną obronę pracy laboratoryjnej w formie prezentacji, komunikacji na temat SROP i CDS;

Oprogramowanie umożliwiające podczas wykonywania prac laboratoryjnych tworzenie grup twórców programów, zarządzanie procesami złożonego debugowania, testowania i programów, co zwiększa aktywność twórczą studentów, stymuluje teoretyczne rozumienie wiedzy i niezależne poszukiwania rozwiązywanie problemów indywidualnego zadania;

Technologia projektowa, która polega na indywidualnych lub zbiorowych działaniach mających na celu usystematyzowanie wiedzy z pokrewnych dziedzin (moduły projektowania baz danych i projektowania IS) obejmujących rzeczywisty temat produkcyjny;

Szkolenie oparte na doświadczeniu naukowo-przemysłowym nauczycieli, co pozwala uczniom na większą aktywność kosztem stowarzyszenia własne doświadczenie z przedmiotem studiów;

Technologia nauczania na odległość.

Aby wygenerować indywidualne zadania z elementami badania naukowe Podczas wykonywania prac laboratoryjnych wykorzystywane są wyniki badań naukowych pracowników wydziału.

6 CZAS KONSULTACJI

Konsultacje odbywają się według grafiku pracy nauczyciela.