inf2 w01


Informatyka II
Inżynieria oprogramowania
Inżynieria oprogramowania
dr inż Jacek Reiner
dr inż Jacek Reiner
na podstawie
 Industrielle Software Entwicklung fur Ingenieure
itm - Lehrstuhl für Informationstechnik im Maschinenwesen
prof. Klaus Bender; prof. Frank Schiller
Wykład 1  part a: Motywacja

Motywacja  po co inżynierowi mechanikowi
oprogramowanie?

Cele i zakres wykładu

Organizacja

Zespół

Dlaczego obiektowość?

Dlaczego C++

Inżynieria oprogramowania

Kompozycja wykładu
2
itm & MVLab (C) 2007-08
Znaczenie oprogramowania
w przemyśle

Nowoczesne narzędzia inżynierskie  to
oprogramowanie

Narzędzia projektowania: CAx (CAD, CAM, CAQ, CAPP, ...)

Obliczenia i analizy: FEM, MES, ...

Narzędzia symulacyjne: logistyka, montaż

Testery

Wspomaganie produkcji: PPS, PDM, ...

Wizualizacja: digital mockup, VR

Przetwarzanie danych: Office, SQL

Sieci komputerowe: www

Åšrodowiska rozwoju oprogramowania
3
itm & MVLab (C) 2007-08
Automatyzacja, integracja,
rozszerzalność

Automatyzacja

Dla czynności powtarzających się

Dla wyliczeń (np. umieszczanie elementów po okręgu)

Integracja

Z użytkownikiem  GUI

Z innymi programami lub bazami danych

Rozszerzalność

Nowe funkcje, algorytmy
4
itm & MVLab (C) 2007-08
SolidWorks
API Fundamentals 3days Training
5
itm & MVLab (C) 2007-08
AutCAD
Interfejs użytkownika
6
itm & MVLab (C) 2007-08
ANSYS
Programowe zadawanie warunków symulacji w AnSYS
!AnSYS -model
[& ]
VDELE,all
NUMMRG,all
ASBA,11,8,,delete,delete
ASBA,24,7,,delete,delete
ASBA,23,32,,delete,delete
ADELE,29,31,2
ADELE,3,4,1
ADELE,15,25,10
AL,10,11,110
AL,4,109,5
LCOMB,103,104,1 AL,94,5,11,96
AL,95,109,110,26
AADD,16,20
LSTR,31,39 !(L17)
LSTR,27,39 !(L80)
LSTR,35,39 !(111)
LSTR,43,39 !(112)
[& ]
7
itm & MVLab (C) 2007-08
SIMUL8
symulacja procesów dyskretnych
8
itm & MVLab (C) 2007-08
AnyLogic
multi-paradigm simulation software
Java Basics for AnyLogic Modelers  presentation
" What you do and do not need to learn about Java to be
successful with AnyLogic
" Java syntax basics
" Primitive data types
" Arithmetic and Boolean operations
" Classes, methods and fields
" Writing algorithms, Java statements
" Most frequently used functions built into AnyLogic
" Java collections
" Using standard and specific Java packages
9
itm & MVLab (C) 2007-08
Zemax
Inżynieria optyczna

Automatyzacja

Język sktyptów

Import modeli CAD

Integracja

VB, Excel, Matlab

Rozszerzalność

Nowa, specyficzna
refleksyjność powierzchni (dll)
10
itm & MVLab (C) 2007-08
Vision Assistent vs. LabView
Klikanie czy programowanie?
11
itm & MVLab (C) 2007-08
Zakres kursu Informatyka II
lð lð
Rozwój SW dla PC Potrzeby inżynierów

Kategorie oprogramowania
budowy maszyn

Zawężenie do OO

Przykłady praktyczne

Procedury postępowania

Umiejętność
lð wykorzystywania metod,
Implementacja C++
technik i narzędzi
informatycznych
12
itm & MVLab (C) 2007-08
Cel kursu
lð lð
Przekazanie wiedzy Przekazanie

Umiejętność dołączenia do
umiejętności
dyskusji

Samodzielne rozwiÄ…zywanie

Znajomość pojęć fachowych
problemów
lð programistycznych
Uporządkowanie tematów i
pojęć

Podejście systemowe

Rozszerzenie horyzontów

UML

C++
13
itm & MVLab (C) 2007-08
Organizacja kursu

7 wykładów dwugodzinnych

Zaliczenie pisemne

15 Laboratoriów

Informatyka I (dr. inż W.Myszka)  to już wiemy !!!

http://www.immt.pwr.wroc.pl/~myszka/InformatykaI/

Obecności (patrz Regulamin studiów)

Przygotowanie  kartkówki

Większy programik na zaliczenie:

weryfikacja umiejętności  proszę zmień ... coś ...
14
itm & MVLab (C) 2007-08
Zespół
Jacek Reiner dr inż.
B4/3.12
Jacek.Reiner@pwr.wroc.pl
Mariusz Mrzygłód mgr inż.
Mariusz.Mrzyglod@pwr.wroc.pl
Piotr Szeplik dr inż.
Piotr.Szeplik@pwr.wroc.pl
Maciej Stankiewicz mgr inż.
Maciej.Stankiewicz@pwr.wroc.pl
Dariusz Tryba mgr inż.
Dariusz.Tryba@pwr..wroc.pl
15
itm & MVLab (C) 2007-08
Strona Internetowa
http://student.mvlab.pl
Pracownia Mechatroniki
i Systemów Wizyjnych
Oprogramowanie do inspekcji
wałeczków łożysk: ok. 10KLC C++
Laserowy pomiar płaskości i bicia
dysków pił: LabView
Wybrane narzędzia:
- VC++ 6.0/2005 + OpenCV
- Halcon
- LabView
- Matlab+16 Toolboxów
- MathCAD
16
itm & MVLab (C) 2007-08
Zawartość tematyczna
wykładu

Podstawy

obszary zastosowań,

metody programowania,

języki programowania,

Metody i procedury

z naciskiem na obiektowość i UML,

Programowanie obiektowe w C++
17
itm & MVLab (C) 2007-08
Paradygmaty programowania

Paradygmat

to nadrzędna zasada lub sposób myślenia.

Paradygmat programowania

To nadrzędna zasada lub sposób opracowywania
oprogramowania dla osiągnięcia określonego
celu.
Problem RozwiÄ…zanie
Paradygmat
18
itm & MVLab (C) 2007-08
Programowanie
proceduralne/imperatywne

Programowanie proceduralne to paradygmat programowania
zalecajÄ…cy dzielenie kodu na procedury, czyli fragmenty
wykonujące ściśle określone operacje. Procedury nie powinny
korzystać ze zmiennych globalnych (w miarę możliwości), lecz
pobierać i przekazywać wszystkie dane (czy też wskazniki do nich)
jako parametry wywołania.

Programowanie imperatywne to paradygmat programowania, który
opisuje proces wykonywania jako sekwencjÄ™ instrukcji
zmieniających stan programu. Programy imperatywne składają się
z ciÄ…gu komend do wykonania przez komputer. Powszechnie
programowanie imperatywne uważane jest za synonim
programowania proceduralnego.

Przykład programu: funkcja silnia  C
unsigned long int silnia(int x) {
if (x==0) return 1; else return x*silnia(x-1); }

Kod zródłowy: formułowany jako sekwencja poleceń

Przykłady: Pascal, C, Fortran
19
itm & MVLab (C) 2007-08
Programowanie obiektowe

Programowanie obiektowe (ang. object-oriented programming) -
paradygmat tworzenia programów komputerowych, który
definiuje programy za pomocą "obiektów" - elementów
Å‚Ä…czÄ…cych stan (czyli dane) i zachowanie (czyli procedury, tu:
metody). Obiektowy program komputerowy wyrażony jest jako
zbiór takich obiektów, komunikujących się pomiędzy sobą w
celu wykonywania zadań.

Przykład programu: wyświetlanie modułu liczby zesp.  C++
double mod;
Zesp lz1(3,20);
mod=lz1.modul();
cout<
Kod zródłowy: definicje budowy obiektów i ich działania oraz
współpracy między sobą.

Przykłady: Java, C++, VB.net, C#, Smalltalk, Delphi
20
itm & MVLab (C) 2007-08
Dlaczego obiektowość?
Najczęstszy paradygmat projektowania i programowania PC
Mechanizmy dla efektywnej obsługi i wyłapywania błędów
Wsparcie dla
pracy grupowej
Opanowanie złożoności
Przejrzysta organizacja interfejsu
Możliwość wielokrotnego wykorzystania komponentów
Aatwa rozbudowa i personalizacji rozwiązań
21
itm & MVLab (C) 2007-08
Dlaczego C++?
(a nie Java, C#, Smaltalk, VB, ...)
Sterowniki i biblioteki do kart
I/O, Motion, Framegrabber, etc
Szeroko
tzw. programowanie przy sprzęcie
rozpowszechn.
w przemyśle
Efektywny i
Bazuje na C wydajny
czasowo
C++
Możliwość
Bazy wiedzy
ponownego Potężny
Listy dyskusyjne
użycia
Literatura przykłady
22
itm & MVLab (C) 2007-08
Ograniczenia zakresu kursu
Czyli czym nie będziemy się zajmować

Informatyka:

Systemy bazodanowe

Efektywne/wydajne algorytmy

Grafika i wizualizacja (multimedia)

Informatyka teoretyczna

Języki formalne

Sieci komputerowe i web

Automatyzacja

Sterowniki PLC, OSN, roboty

Systemy czasu rzeczywistego

Systemy wbudowane i mikroprocesory

Sterowanie i regulacja, identyfikacja
23
itm & MVLab (C) 2007-08
Rola inżynierów mechaników
w rozwoju oprogramowania
Kategoria Przykład Rola inżyniera
lð lð
Małe aplikacje Przeprowadzanie Zleceniodawca
pomiarów,

Wykonawca

Małe aplikacje do
obsługi urządzeń
lð lð
Programy dla Systemy Zwykle kierownik
systemów produkcyjne projektu
technicznych
lð lð
Systemy Wiedza o procesie
transportowe technologicznym
lð lð
Duże systemy Systemy CA-x Zleceniodawca
software owe
lð lð
Narzędzia Określanie wymagań
symulacyjne systemu
24
itm & MVLab (C) 2007-08
Badania: Koszty rozwoju
Systemy wbudowane i oprogramowanie przemysłowe

Wynik ankiety w niemieckich
przedsiębiorstwach
przemysłowych, 2003

Q: Jak wysokie sÄ… Wasze
koszty rozwoju oprogramowania
w porównaniu z całkowitymi
kosztami rozwoju?
- dla około połowy to 30-60%
25
itm & MVLab (C) 2007-08
Zapotrzebowanie na procedury
postępowania (Standish Group 1995)

Tylko 9% dużych, 16%-28% małych i średnich
projektów jest realizowanych zgodnie z
czasem i kosztorysem

53% wszystkich projektów po zakończeniu
przekracza budżet o ok. 50%

31% wszystkich projektów jest przerywanych

Amerykańskie przedsiębiorstwa w roku 1995
zainwestowały ponad 81 miliardy dolarów w
niezakończone projekty
26
itm & MVLab (C) 2007-08
Badania: Royal Academy of Engineering
i British Computer Society (2004)

Straty szacowane na poziomie 130 miliardów
EURO (USA) i 120 miliardów EURO (EU)

Przyczyny:

Brak profesjonalizmu w branży IT-Industrial

Niedostateczne umiejętności odpowiedzialnych

Niedostateczna wiedza i umiejętności programistów

Brak lub kiepska specyfikacja

Uczenie na własnych błędach

Konieczność prowadzenia projektów IT jak
innych projektów inżynierskich

Odpowiedzialność Uczelni Technicznych
27
itm & MVLab (C) 2007-08
Podejście metodyczne
Systemowość
Powód:

Niejasne wymagania

Kiepska komunikacja

Zbyt pózna integracja

Niepełny model procesu

Braki w zapewnieniu jakości
Wniosek:

Projektowanie oprogramowania nie jest zadaniem trywialnym

Inżynierskie, systematyczne podejście do problemu zwiększa
prawdopodobieństwo sukcesu (Inżynieria oprogramowania)

Metody ugruntowane w mechanice mogą okazać się przydatne w
rozwiązywaniu problemów typowo mechanicznych.
28
itm & MVLab (C) 2007-08
Szacowanie nakładów
Umiar w nakładach metodycznego postępowania
znajdować dla każdego projektu!!!
Więcej nie znaczy lepiej -> Over engineering
29
itm & MVLab (C) 2007-08
y
asob
Z
dy
o
t
Me
dury
roce
P
u
ekt
roj
p
r
ozmia
ność
R
ożo
Å‚
Z
t
e
t
y
r
rio
P
Wydajność a jakość

Usuwanie błędów prowadzi do zwiększenia nakładów.

Spełnienie rozległych wymagań jakościowych również podnosi
pracochłonność i koszty
30
itm & MVLab (C) 2007-08
e
t
iÄ™
Ä…gn
u
osi
ani
w
ości
dn
ramo
prog
szczÄ™
o
O
)
y
szemu
rat
st
lep
ki
jsze
ziÄ™
ie
d
(mn
o
w
ścio
jako
sze
ep
l
ie
na
an
dy
w
akła
ramo
N
prog
o
Struktura wykładu
Motywacja
Podstawy
Metody i sposoby
postępowania
C++
31
itm & MVLab (C) 2007-08
32
itm & MVLab (C) 2007-08
Wykład 1  part b
Obszary zastosowań
oprogramowania
Komunikacja zewnętrzna
Paradygmaty programowania
itm & MVLab (C) 2007-08 33
Obszary zastosowań
oprogramowania
Systemy wbudowane
Automatyzacja
(embedded)
WEB
komputery PC
34
itm & MVLab (C) 2007-08
Bazy danych i servery
Oprogramowanie bazujÄ…ce na
PC
Do tej grupy zaliczmy aplikacje dla zwykłych komputerów (PC,
Mac) i systemów operacyjnych (Windows, Linux, & ). Chodzi tu
także o pojedyncze zastosowania, korzystające z dużej ilości
dostępnych w OS funkcji i interfejsów
Przykłady:

Office, Gry, Programy multimedialne, Programy inżynierskie
Cechy i wymagania:

Kompatybilność

Windows: VISTA, XP, 2000, NT, ME, ...;

LINUX: Ubuntu, Mandriva, OpenSUSE, Debian, Fedora,
Slackware, Gentoo, MEPIS, Aurox, PLD, Knoppix, ...;

BSD: DesktopBSD, FreeBSD, NetBSD, OpenBSD, ...

Szeroki zakres dostępnych funkcji: okna, multimedia, sterowniki.
35
itm & MVLab (C) 2007-08
Bazy danych
Baza danych to trwały, systematycznie ustrukturyzowany
zbiór informacji, powiązanych zależnościami.
System zarządzania BD służy do:

zapisywania,

pozyskiwania,

ustalania relacji i połączeń między zasobami bazy,

wyodrębniania podzbiorów.
Przykłady:

katalog części samochodowych, katalog książek w
bibliotece

baza pacjentów, baza studentów

konto bankowe
Cechy i wymagania:

łatwe pozyskiwanie wymaganych podzbiorów danych.

Konsystencja, redundancja, wielodostęp,

Ochrona dostępu (security) i bezpieczeństwo (safety).
36
itm & MVLab (C) 2007-08
Web / Internet
Ogólnoświatowa sieć komputerowa  największy zbiór
połączonych ze sobą komputerów umożliwiający swobodną
wymianę danych i ich prezentację, między nimi, za pomocą
następujących usług:

WWW,

Poczta elektroniczna (e-mail),

Transfer plików (FTP).
Cechy i wymagania:

ogromna ilość dostępnych technologii (i języków
programowania),

szybki rozwój i poszerzenie obszaru zastosowań,

kompatybilność dzięki standaryzacji usług
(W3C).
37
itm & MVLab (C) 2007-08
Systemy wbudowane
(embedded)
Definicja:

System mikrokomputerowy zintegrowany z urzÄ…dzeniem

Z zewnątrz nie widać że jest ono sterowane syst. komputerowym,

Komputer połączony z resztą urządzenia za pomocą sensorów i
układów wykonawczych

Komputer jest w urzÄ…dzeniu jednostkÄ… sterujÄ…cÄ… i/lub nadzorujÄ…cÄ…
Przykłady:

Telefony komórkowe,

Pralki,

Samochody
Cechy:

Bezpieczeństwo i niezawodność (Fail-Safe),

Ograniczone wymagania na zasoby (pamięć, CPU, etc),

Zdolność do pracy w czasie rzeczywistym,

Brak typowego interfejsu człowiek-maszyna (klawiatura,
monitor, ...)
lð 38
Rozbudowane moduł wejść/wyjść (I/O).
itm & MVLab (C) 2007-08
Automatyzacja
Definicja:
Automatyzacja oznacza stosowanie urządzeń technicznych,
zapewniajÄ…cych:

samodzielny przebieg procesów technicznych (wytwórczych),

samodzielne działanie urządzeń, maszyn (oraz ich zespołów) i
innych układów technicznych.
Przykłady:

Procesy dyskretne (obróbkowe, montażowe)

Procesy ciągłe (chemiczne, spożywcze, )
Cechy i wymagania:

Bezpieczeństwo i niezawodność (Fail-Safe),

Zdolność do pracy w czasie rzeczywistym,

Brak typowego interfejsu człowiek-maszyna (klawiatura, monitor)

Rozbudowane moduły wejść/wyjść (I/O  cyfrowe, analogowe).
39
itm & MVLab (C) 2007-08
Komunikacja -
Systemy wbudowane (ES)
Połączenie w sieć ES i urządzeń sterujących dla systemów
mechatronicznych.
Przykład:
W nowoczesnych samochodach jest ok. 50-100 systemów sterowania
spiętych w sieć za pomocą różnych interfejsów (CAN, LIN, MOST).
CAN (Controler Area Network)

Stosunkowo tani Fieldbus dla zastosowań o wysokich wymaganiach
czasowych,

Aączenie w sieć sterowników, sensorów i urządzeń wykonawczych

CAN został opracowany przez BOSCH m. in. dla zastosowań w
branży samochodowej.

Komunikacja rozgłoszeniowa

Otwarta struktura magistrali
(odłączenie jednego urządzenia od sieci
nie powoduje przerwania komunikacji
40
pomiędzy pozostałymi)
itm & MVLab (C) 2007-08
Komunikacja - Automatyzacja

AS Interface
Najprostszy z przemysłowych protokołów
komunikacyjnych sprawdzający się w maszynach o dużej
ilości czujników i elementów wykonawczych.4 Byte
danych/ 32(64) węzły i zasilanie

PROFIBUS
Szybki i najbardziej popularny typ sieci przemysłowych
który umożliwia łączenie sterowników z elementami
wykonawczymi w architekturze master-slave. Umożliwia
przesyłanie telegramów o długości do 235Byte.

Przemysłowy Ethernet (np. ProfiNet)
Zastosowanie standardu Ethernet w przemyśle, dzięki
czemu można korzystać z tanich i szeroko dostępnych
urządzeń i zwiększyć przepustowość sieci, korzystając
jednocześnie z architektury peer-to-peer.
41
itm & MVLab (C) 2007-08
PrzeglÄ…d komunikacji
heterogenicznej
Automatyzacja
Wbudowane
WEB
42
Bazy danych itm & MVLab (C) 2007-08
komputery PC
Embedded i automatyzacja

Systemy embedded są bardzo często wykorzystywane w
układach automatyki przemysłowej, tj. układ automatyki składa
się z urządzeń z sterownikami wbudowanymi.

Komponent układu automatyki może być programowany jeśli
urzÄ…dzenie i software embedded dysponuje odpowiednimi
Å‚Ä…czami.
Program sterujÄ…cy
System oper.
Programowalny system embedded zabudowany w serwonapędzie.
Sterowanie napędu
(komponent układu automatyki)
43
itm & MVLab (C) 2007-08
Automatyzacja i PC z bazami
danych

Klasyczne rozwiązanie stanowisk kontrolnych i centrów sterowania

Interfejs człowiek-maszyna do obsługi linii produkcyjnych z
przyjaznym i wygodnym w obsłudze środowiskiem realizowanym
przez komputer PC

Dodatkowo rozwiązanie umożliwia zapisywanie w bazach danych
stanu maszyn, archiwizację przebiegu procesów itd.
Stanowisko kontrolne
Widok wizualizacji procesu
44
itm & MVLab (C) 2007-08
Baza Danych  PC / WEB

Dla komfortowego odpytywania informacji
przechowywanych w bazach danych

Przykłady

Bazy adresowe, systemy produkcyjne SAP

Dla zdalnego dostępu do informacji
bazodanowych

Przykłady

Konto eBankowe,

zapisy na kursy, artykuły elektroniczne
45
itm & MVLab (C) 2007-08
WEB i Automatyzacja/ES

W coraz większej liczbie układów automatyki przemysłowej i
systemów embedded stosowane są web serwery. Popularne
zastosowania obejmują także automatykę użytkową, np. w tzw.
 inteligentnych budynkach mieszkalnych.

Możliwości:
Zdalne (przez Internet lub intranet  WWW)

nadzorowanie procesów,

sterowanie urządzeń i procesów,

diagnozowanie problemów,

usuwanie błędów oprogramowania,

wizualizację pracy urządzeń.

Problemy:

Bezpieczeństwo procesu
(dostęp do sterowania),

Bezpieczeństwo danych produkcyjnych
(wglÄ…d w liniÄ™ produkc.)
46
itm & MVLab (C) 2007-08
Podsumowanie

Informatyka (technologie informacyjne  IT) sÄ…
nieodłącznym elementem dzisiejszego codziennego
życia

Ilość zastosowań IT ciągle wzrasta

Oprogramowanie i jego rozwój mają istotne
znaczenie w dzisiejszym świecie

Wzrastająca ilość zadań dla inżynierów

Mnogość różnych zadań do zaimplementowania
powoduje zapotrzebowanie na różne, optymalne dla
nich paradygmaty i języki programowania.
47
itm & MVLab (C) 2007-08


Wyszukiwarka

Podobne podstrony:
BD 2st 1 2 w01 tresc 1 1
W01 NIDUC Zamojski
w01
inf2 w06
W01 Matlab1
w01 demo problemy spoleczne i wspolpraca
W01 Fizyka Haran
LP mgr W01 Podst pojecia
Aire W01
MB W01 PWr
MES JCh MM WW OKnO w01 podstawowe pojecia
Instrukcja GECO Z 502 P01 S v01 w01 POL
0708z sieciTM w01
podst inf2 dzialana na liczbach dwojkowych
W01

więcej podobnych podstron