Advertisement
Guest User

Untitled

a guest
Mar 21st, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 4.80 KB | None | 0 0
  1. \documentclass{article}
  2. \usepackage[T1]{fontenc}
  3. \usepackage[polish]{babel}
  4. \usepackage[utf8]{inputenc}
  5. \usepackage{lmodern}
  6. \usepackage{lipsum}
  7. \usepackage[margin=1in,left=1.5in,includefoot]{geometry}
  8. \newcommand{\blank}[1]{\hspace*{#1}}
  9. \selectlanguage{polish}
  10. \author{Michal Kolendo}
  11. % header and footer stuff
  12. \usepackage{fancyhdr}
  13. \pagestyle{fancy}
  14. \fancyhead{}
  15. \fancyfoot{}
  16. \fancyfoot[R]{\thepage\\}
  17. \renewcommand{\headrulewidth}{0pt}
  18. \renewcommand{\footrulewidth}{1pt}
  19. %
  20.  
  21. \begin{document}
  22.  
  23. \begin{titlepage}
  24. \begin{center}
  25. \line(1,0){400}\\
  26. [0.25in]
  27. \huge{\bfseries Specyfikacja Implementacyjna}\\
  28. [2mm]
  29. \line(1,0){300}\\
  30. [1.5cm]
  31. \textsc{\LARGE Problem N-ciał}\\
  32. [0.75cm]
  33. \textsc{\Large Języki i Metody Programowania cz.2}\\
  34. [10cm]
  35. \end{center}
  36. \begin{flushright}
  37. \textsc{\large Michał Kolendo\\
  38. \small Nr indeksu 286771  \\
  39. \large Bartek Królak\\
  40. \small Nr indeksu 284922 \\
  41. \large Marzec 14, 2017}
  42. \end{flushright}
  43. \end{titlepage}
  44. % Front matter stuff
  45. \pagenumbering{arabic}
  46.  
  47.  
  48.  
  49. %this is main body stuff
  50. \setcounter{page}{1}
  51.  
  52. \section{\underline{Opis modułów}}\label{sec:intro}
  53. Program będzie składał się z pięciu modułów:
  54. \begin{enumerate}
  55. \item Moduł wczytujący - \textbf{Skaner}
  56. \item Moduł liczący - \textbf{Nbody}
  57. \item Moduł zapisujący - \textbf{Eksport}
  58. \item Skrypt w gnuplocie wykonujący animacje -  \textbf{script}
  59. \end{enumerate}
  60. \vspace{10mm}
  61.  
  62. \noindent \textbf{Skaner:}\\
  63. <stdio.h> (do czytania z pliku)\\
  64. <stdlib.h>(do rezerwowania pamięci w strukturze)\\
  65. <ctype.h>(do obsługi błędów)\\
  66.  
  67. \hspace{5cm}\underline{scan(FILE nazwa,struct dane)};\\
  68.  
  69. \noindent Funkcja scan dostaje nazwe pliku z którego będzie czytała dane oraz tablice struktur do których będzie zapisywala informacje o planetach. Malokuje pamięć na ilosc wspolrzednych równą n( n = dlugosc symulacji / krok czasowy). Skanowanie i zapisywanie do struktur będzie zrobione w dwóch pętlach.\\
  70.  
  71. \noindent W module Skaner wykorzystamy funkcje z biblioteki ctype.h do obsługi błędów.
  72.  
  73. \vspace{5mm}
  74. \noindent\textbf{\underline{N-body}}\\
  75. \vspace{5mm}
  76. \noindent <math.h>(funkcja sqrt)\\
  77.  
  78. \noindent \hspace{3cm}\underline{futwspolrzedne( struct dane, int krok czasowy, int dlugosc symulacji);}\\
  79.  
  80. \noindent Funkcja przelicz będzie przeliczala przyszle wspolrzedne  i zapisywał je kolejno w odpowiednej strukturze i jej odpowiadajacej tablicy . Z kazdym obrotem pętli , licznik będzie przesuwal się po kolejnych wspolrzednych.  Dzięki temu algorytm obliczeniowy będzie obliczal kazde kolejne położenie na podstawie poprzedniego.\\
  81. N-body dostaje jak o dane struktrue w której zawarte jest:\\
  82. -liczba planet\\
  83. -wspolrzedna x\\
  84. -wspolrzedna y\\
  85. -wspolrzedna z\\
  86. -wektor Vx\\
  87. -wektor Vy\\
  88. -wektor Vz\\
  89. Krok czasowy oraz długość symulacji, potrzebne do liczenia położen w pętlach.\\
  90. \newpage
  91.  
  92. \noindent \textbf{Eksport:}\\
  93. \vspace{5mm}
  94. \noindent <stdio.h>(do otworzenia utworzonego pliku)
  95.  
  96. \noindent \hspace{3cm}\underline{zapiszplik( FILE nazwapliku, tablica strukturadanych);}\\
  97.  
  98. \noindent Funkcja będzie tworzyla plik o nazwie \verb|<nazwa_pliku>| , otwierała go i zapisywała kolejno położenia z danej struktury i odpowiadającej dla niej tablicy x,y,z.\\
  99.  
  100. \noindent Moduł Eksport zwraca nam plik z nowymi danymi.
  101.  
  102.  
  103. \noindent \textbf{Main:}\\
  104.  
  105. \noindent Będzie on łączył poszczególne moduły. Będzie w nim zadeklarowana główna zdefiniowana jak i zadeklarowana  główna struktura.\\
  106.  
  107. \noindent Main będzie przyjmował argumenty takie:\\
  108. \hspace{2cm}\verb| /a.out -i <plik.txt> -o <plik.txt> -n <liczba ciał> -s <krok czasowy>|\\
  109. \blank{3cm} \verb|-l <długość symulacji> -r <promień ciał>|
  110.  
  111. \noindent Modul main tylko zarządza resztą modułów.
  112. \section{\underline{Opis algorytmu}}\label{sec:intro}
  113. TODO\\
  114. \section{\underline{Opis testowania}}\label{sec:intro}
  115. Testy programu zostaną podzielone na cztery fazy:
  116. \begin{enumerate}
  117. \item Testy jednostkowe
  118. \item Testy integracyjne
  119. \item Testy akceptacyjne
  120. \end{enumerate}
  121. \vspace{5mm}
  122.  
  123. \noindent \textbf{1. Testy jednostkowe:}\\
  124. \indent W testach jednostkowych będziemy testować każdy moduł indywidualnie. Sprawdzimy, czy po otrzymaniu poprawnego wejścia otrzymamy poprawne wyjście. Przetestujemy tu także obsługę błędów.\\
  125. \vspace{5mm}
  126.  
  127. \noindent \textbf{2. Testy integracyjne:}\\
  128. \indent W testach integracyjnych sprawdzimy, czy wszystkie moduły prawidłowo się ze sobą komunikują i czy poprawnie reagują na przekazywane sobie informacje. Oprócz tego sprawdzimy tu również czy program poprawnie alokuje i zwalnia pamięć.\\
  129. \vspace{5mm}
  130.  
  131. \noindent \textbf{3. Testy akceptacyjne:}\\
  132. \indent Testy akceptacyjne to ostatnia faza testowania. Sprawdzimy tu, czy program poprawnie działa jako całość.\\
  133. \vspace{5mm}
  134.  
  135.  
  136.  
  137. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement