Вимоги до клієнтського програмного забезпечення
Вимоги до програмного забезпечення серверної частини
Для функціонування сайта необхідно наступне програмне забезпечення:
- Веб-сервер – Apache версії не ниже 1.3.26;
- СУБД – MySQL версії не нижче 3.23;
Вимоги до клієнтського програмного забезпечення
Сайт повинен бути доступним для просмотру за допомогою наступних браузерів:
- Opera 6.0 и выше;
- Google Chrome 10.0 та вище;
- Mozilla 1.7.
3.5 Вимоги до інтерфейсу
Максимальна простота його використання, він не повинен містити зайвих декоративних деталей, які заважають. Інтерфейс повинен бути консистентним, тобто, ґрунтуватись на використанні відомих, загальноприйнятих методів і засобів представлення інформації.
4 ВИМОГИ ДО ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ
До програмної документації відносяться:
- Технічне завдання;
- алгоритм розв’язання програми;
- UML діаграми;
- обгрунтування вибору мови програмування;
- Налагодження та тестування програми;
- Текст програми.
До експлуатаційних документів відносяться:
- Інструкція оператора.
- Форми вхідних та вихідних документів.
ЗМІСТ
Вступ
1 Алгоритм розв'язання задачі
1.1 Текстуальний опис алгоритму
1.2 UML-діаграми
2 Реалізація алгоритму на ЕОМ
2.1 Обгрунтування вибору мови програмування та середовища розробки
2.2 Налагодження та тестування програми
2.3 Керівництво оператора
Висновки
Перелік посилань
Додаток А Лістинг програми
Додаток Б Форми вхідних документів
Додаток В Форми вихідних документів
ВСТУП
З кожним днем світ змінюється і люди змінюються разом з ним, потребуючи все нових та нових засобів спілкування, соціальних пружних соціальних структур. Соціальна мережа – частина нової реальності, нового глобального світу, цей феномен відкрив практично безмежні можливості для людської взаємодії та спілкування. Соціальні мережі - одні з найскладніших і найдовших за часом створення сайти.
На даний час існує багато соціальних мереж, що мають свої особливості: блоги такі, як LiveJournal, Twitter та tumblr, фотогалереї – Instagram та flickr, соціальні мережі загального характеру – facebook, Google+, My Space та Вконтакті. За прототип був обраний My Space тому що він поєднує у собі найкращі характеристики усих типів соціальних мереж.
Життя в соціальних мережах цілком і повністю реальне: емоції, які відчувають співрозмовники, що в Інтернеті, що в реальному житті практично однакові. Наша команда поставила собі складну задачу. Соціальна мережа повинна бути водночас і зручною, і мати великий функціонал.
В процесі проектування ми прийшли до висновку, що маємо використати модель реального життя – RAD, аргументуючи це тим, що матимемо на кожному етапі роботи готовий прототип, а також тому, що робота обмежена невеликим проміжком часу. Якщо наступний прототип не буде відповідати нашій задачі – ми повернемося до попереднього.
Все, що ми робимо, керуючи програмним проектои, повинне бути спрямоване на управління ризиками: не вкластися в термін, перевитрачати ресурси, розробити не той продукт, який потрібно. Мета управління ризиками проекту - зниження ймовірності виникнення та значущості впливу несприятливих для проекту подій. Управління, націлене на зниження ризиків, дозволяє істотно знизити невизначеність на ранніх стадіях проекту. Головними причинами провалу програмного проекту є: відсутність необхідних ресурсів і досвіду, неповнота планування, помилки в оцінках трудоємкостей і термінів робіт.
Склад команди по розробці соціальної мережі:
- Андренко (керівник, головний програміст)
- Водяницька (заступник)
- Цебро (програміст)
Обов'язки:
- Дизайн (Андренко, Водяницька),
- Верстка (Водяницька, Цебро),
- Програмування (Андренко, Цебро).
Мови програмування: JavaScript, PHP, HTML, CSS. Середовище розробки –SublimeText.
Підсумовуючи сказане наша команда почала розробку соціальної мережі, написаної на мові PHP, з використанням JavaScript та mySQL-баз даних.
1 АЛГОРИТМ РОЗВ'ЯЗАННЯ ЗАДАЧІ
1.1 Текстуальний опис алгоритму
Після переходу на сайт ми бачимо дві кнопки: реєстрація та вхід.
Кнопка реєстрації запускає перехід до сторінки реєстрації, де користувач повинен ввести е-mail, ім'я користувача та пароль, а потім натиснути кнопку "Зареєструватись" для того, щоб авторизуватись на нашому сайті.
Кнопка «вхід» перенаправляє до сторінки входу, де є два поля - "ім'я користувача" та "пароль" і кнопка "вхід". Після авторизації ви переходите на сторінку користувача. Вона містить: панель управління, аватарку, меню, стрічку новин, список друзів. Панель управління містить кнопку пошуку, посилання на повідомлення та коментарі, вибір мови. Аватарка знаходиться в лівому верхньому кутку і змінити її можна в налаштуваннях. Меню містить 3 розділи:
- Розділ користувача: стрічка постів, відео, фото, музика.
- Розділ контактів: підписники сторінки, на які підписані ви.
- Стрічка новин: мої новини, усі новини.
При переході на будь-яку з вкладок ви побачите оновлення друзів в вибраній сфері. Список друзів містить перелік посиланнь на друзів.
На сторінці користувача знаходиться глобальний пошук по сайту, в ньому використовуються звертання до БД, пошук серед всіх елементів сайту переходи до інших сторінок сайту та переходи до глобальної мережі.
Кнопка редагування профіля знаходится в розділі користувача і відповідає за оформлення сторінки та особисту інформацію.
З правої сторони від глобального пошуку знаходиться віджет, який відображає непереглянуті новини.
1.2 UML-діаграми.
Рисунок 1.4 – Діаграма класів “Персональна інформація користувача”
2 РЕАЛІЗАЦІЯ АЛГОРИТМУ НА ЄОМ
2.1 Обгрунтування вибору мови программування та середи розробки
PHP( Personal HyperText Processor) одна з небагатьох мов програмування, створених спеціально для розробки веб-додатків. Тому він включає в себе всі функції, необхідні саме для роботи на веб-сервері, і при цьому позбавлений надмірності, властивої багатьом його конкурентам.
Дуже приємна особливість PHP - те, що його команди включаються у звичайні HTML-сторінки за допомогою спеціальних тегів, які й змушують PHP-машину виконувати на сервері потрібні дії. Програмами на PHP не потрібні спеціальні CGI-директорії з особливими правами доступу. Більше того, на одній сторінці можна довільно чергувати "простий" HTML і PHP-код.
PHP не залежить від платформи. PHP прекрасно інтегрується у всі популярні веб-сервери: Apacce і IIS, Zens і Netscape Enterprise Server, працює під Windows і OS / 2, MacOS і практично всіма UNIX-подібними системами. Як наслідок - PHP працює практично у всіх хостерів, які дозволяють власні виконувані скрипти.
Чудова особливість PHP - його інтегрованість практично зі всіма сучасними інтернет-технологіями. PHP підтримує більшість сучасних веб-протоколів: IMAP, FTP, POP, XML, SNMP та інші. PHP прекрасно працює з базами даних. Важко знайти СУБД, підтримка якої не була б реалізована в PHP - MySQL і MS SQL Server, PostgreSQL і Oracle, Sybase і Interbase ... Один тільки перелік баз даних, підтримуваних PHP, займе, напевно, цілий екран.
PHP включає в себе величезну кількість вбудованих функцій: обробки рядків і масивів, роботи з файловою системою і з HTTP, електронною поштою, датою і часом, кирилицею та іншими національними алфавітами ... Коли я вперше почав програмувати на PHP, то був просто вражений великою кількістю вбудованих функцій! Завдяки їм чимало алгоритмів, що вимагають в більшості мов написання програмного коду розміром у кілька екранів, реалізуються на PHP однією командою (точніше, викликом однієї функції).
Сучасні тенденції розвитку мов програмування не обійшли стороною і PHP. Засоби об'єктно-орієнтованого програмування з'явилися ще в PHP3. А в об'єктній моделі PHP4 в повному обсязі реалізовані класичні поняття об'єктно-орієнтованого програмування: спадкування, інкапсуляція і поліморфізм.
Все вищевикладене дозволяє без будь-якої натяжки назвати PHP безумовним лідером серед мов веб-програмування.
Вартий уваги сайт повинен підтримувати деякий рівень інтерактивності з користувачем: пошук інформації, продаж продуктів, конференції тощо Традиційно все це реалізувалося CGI-скриптами, написаними на Perl. Але CGI- скрипти дуже погано масштабуються. Кожен новий виклик CGI, вимагає від ядра породження нового процесу, а це займає процесорний час і витрачає оперативну пам'ять. PHP пропонує інший варіант - він працює як частина Web-сервера, і цим самим схожий на ASP від Microsoft.
Синтаксис PHP дуже схожий на синтаксис C або Perl. Люди, знайомі з програмуванням, дуже швидко зможуть почати писати програми на PHP. У цій мові немає строгої типізації даних і немає необхідності в діях по виділенню / звільненню пам'яті.
Програми, написані на PHP, достатньо легкочітаеми. Написаний PHP - код легко зорово прочитати і зрозуміти, на відміну від Perl-програм.
Для написання и відладки PHP-сценаріїв був використаний текстовый редактор Notepad++ 5.4.5. Выбір редактора Notepad++ обумовлений тим, що він зручний для розробки PHP-скриптів і є вільно розповсюджуваним програмним продуктом.
Notepad++—текстовий редактор, призначений для програмістів і тих, кого не влаштовує скромна функціональність Блокнота, що входить до складу Windows. Notepad++ базується на компоненті Scintilla (потужному компоненті для редагування), написаному на C++ з використанням тільки Windows API і STL, що забезпечує максимальну швидкість роботи при мінімальному розмірі програми. Інтерфейс у Notepad++— багатомовний
Серед особливостей програми — підсвічування синтаксису та підтримка великої кількості мов програмування (C, C++, Java, XML, HTML, PHP, Java Script, ASCII, VisualBasic/VBScript, SQL, Ruby, CSS, Pascal, Perl і Python), багатомовна підтримка, робота з декількома документами.
Основні можливості Notepad++:
-підсвічування синтаксису тексту в залежності від мови програмування, режим якого може налаштувати користувач;
-можливість згортання блоків згідно з синтаксисом мови програмування;
-авто-завершення слова, що набирається;
-одночасна робота з декількома документів;
-підтримка регулярних виразів для пошуку й заміни;
-повна підтримка перетягування фрагментів тексту;
-динамічна зміна вікон перегляду;
-автоматичне визначення стану файлу;
-підтримка великої кількості мов;
-замітки;
-плагіни;
-запис макросу і його виконання.
2.2 Налагодження та тестування програми
Тестування програмного забезпечення - процес дослідження, випробування програмного продукту, що має дві різні цілі:
- продемонструвати розробникам і замовникам, що програма відповідає вимогам;
- виявити ситуації, в яких поведінка програми є неправильним, небажаним або не відповідає специфікації.
Тестування сайту
Для організації тестування веб-сайту передбачена спеціально розроблена методика, згідно з якою і здійснюється перевірка.
Тестування сайту по пунктах:
1) Починається все з підготовчих робіт - тестувальник вивчає отриману документацію (аналізує функціонал по тех. завданням, вивчає кінцеві макети сайту і складає план тесту для подальшого тестування)
2) Функціональне тестування - найбільш тривалий етап перевірки ресурсу. Суть цього процесу полягає у перевірці всього описаного функціоналу:
- Перевірки роботи всіх обов'язкових функцій сайту;
- Тестування працездатності користувальницьких форм на сайті (наприклад, додавання коментаря);
- Перевірки роботи пошуку (включаючи релевантність результатів);
- Перевірки гіперпосилань, пошук неробочих посилань;
- Перевірки подгрузки файлів на сервер;
- Перевірки працездатності лічильників, встановлених на сторінках сайту;
- Перегляд на відповідність вмісту сторінок сайту вихідного контенту, наданому замовником.
3) Тестування Верстки - при перевірці верстки по-перше тестувальник перевіряє розташування елементів, відповідність їх позицій виданим макетів, а також перевіряє оптимізацію зображень і графіки. Далі здійснюється перевірка валідності коду. У процесі верстки важливо дотримуватися коректної ієрархії об'єктів, і важливо упевнитися в її валідності за фактом завершення робіт. Браузери, незважаючи на явно невірний код, у кожному разі постараються відобразити веб-сторінку. Але оскільки не існує єдиного регламенту про те, як же має бути показаний «кривий» документ, кожен браузер намагається зробити це по-своєму. А це в свою чергу призводить до того, що один і той же документ може виглядати по-різному в різних браузерах. Виправлення явних промахів і систематизація коду призводить, як правило, до стабільного результату. Завершивши перевірку на валідність, фахівець приступає до перевірки на кроссбраузерность, тобто перевіряє працездатність сайту в різних браузерах, а так само при різних параметрах настройки екрану.
На сьогоднішній день існує ряд найбільш популярних веб-браузерів, таких як Google Chrome, Safari, Mozilla Firefox, Internet Explorer і Opera. Кожен з них дотримується загальних рекомендацій візуалізації розмітки сторінки, проте в той же час кожен обробляє код відповідно до особливості власного движка. Ускладнюється все тим, що досить часто з'являються нові версії браузерів, і ресурс, який відмінно виглядає, наприклад, в IE9, не обов'язково буде виглядати коректно в IE7 або IE8. Тому в процесі тестування враховується перелік браузерів, підтримка яких обмовлялася із замовником на ранніх етапах обговорення проекту. Етап перевірки сайту на кроссбраузерность при різних розмірах займає багато часу, але результат того вартий - з вашим сайтом зможе ознайомитися будь-який представник цільової аудиторії.
4) Usability тестування - проводиться для оцінки зручності продукту у використанні, заснований на залученні користувачів в якості тестувальників і аналіз отриманих результатів.
Незважаючи на той факт, що опрацювання зручності використання ресурсу здійснюється в процесі складання технічного завдання, розробки макетів, бувають ситуації, коли отриманий результат не є оптимальним. Хоча таке і відбувається досить рідко, оптимальне рішення в даному випадку - внести зміни до реалізований продукт.
Тестування проводиться за участю кількох людей з цільової аудиторії, так званих респондентів. Для проведення тестування досить 4-6 чоловік. Існує правило 80/20, яке свідчить, що 20% користувачів дають 80% результату. Тому таку кількість респондентів максимально ефективно з точки зору економії часу і витрат.
5) Тестування безпеки - На даній стадії тестування фахівець перевіряє - чи немає у користувачів доступу до службових / закритим сторінкам а так само проводить перевірку захисту всіх критично важливих сторінок (наприклад, розділу адміністрування сайту) від зовнішнього впливу.
6) Тестування продуктивності сайту - проводиться з метою визначення швидкодії сайту або його частини під певним навантаженням. Тестування продуктивності включає в себе такі види тестестірованія:
Тестування навантаження - найпростіша форма тестування продуктивності. Тестування навантаження зазвичай проводиться для того, щоб оцінити поведінку сайту (або програми) під заданої очікуваної навантаженням. Цією навантаженням може бути, наприклад, очікувана кількість одночасно працюючих користувачів на сайті, що вчиняють задане число транзакцій за інтервал часу. Такий тип тестування зазвичай дозволяє отримати час відгуку всіх найважливіших бізнес-функцій.
Тестування швидкодії - перевірка швидкості завантаження сайту для визначення швидкості відпрацювання скриптів, завантаження зображень і контенту. Цей тест проводиться з метою оптимізації процесу завантаження сайту, а так само визначення оптимальності налаштувань сервера.
Обробка помилок
Протягом усього етапу тестування, фахівець створює і доповнює звіт про виявлені ним помилки. Даний звіт передається учасникам проекту, після чого керівник проекту визначає відповідального за виправлення кожної з помилок (в общем-то, частину обов'язків з часом розподіляється самим тестувальником). Далі визначається графік виправлення помилок, після чого проводиться повторне тестування з метою контролю якості виправлення помилок, а так само відсутності нових. Дана процедура повторюється поки сайт не буде відповідати специфікаціям тех. завдання. Саме тому тестування - настільки довгий процес.
По завершенню тестування проект готовий до розміщення на сервері і повноцінній роботі, ефективно і стабільно виконуючи покладені на нього бізнес-функції. Саме тестування є гарантом спокійного сну як для замовника, так і для команди розробників веб-сайту.
У нашому випадку, для перевірки валідності html коду, ми використовували такий ресурс як - http://validator.w3.org, і був отриманий такий результат –
Після даної процедури були прибрані помилки виявлення валідатором w3.
Для перевірки валідності css коду був використаний такий ресурс - http://jigsaw.w3.org/css-validator, і була отримана така інформація -
Після перевірки на валідність css код - помилок не було виявлено, але було видано три несуттєвих попередження.
Для перевірки php код був обраний статичний аналіз коду, ця річ вельми корисна, адже інакше помилку ми не побачимо. Ми використовували HipHop - він транслює PHP в C ++. Таким чином ми отримали можливість статично проаналізувати C ++ код, а потім застосували отриману інформацію до PHP (природно автоматично).
1) Для цього ми встановили на сервер HipHop:
rpm -ivh http://epel.osuosl.org/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-10.ius.el5.noarch.rpm
rpm -ivh http://pkg.tag1consulting.com/hphp/x86_64/hphp-release-1.0-2.el5.noarch.rpm
yum install hiphop-php -y
2) Створили папку для звітів:
mkdir / var / reports
export SRC_DIR = / var / www /
export OUTPUT_DIR = / var / reports
3) Потім ми склали список файлів, які потрібно було аналізувати. Ми перевіряли відразу весь свій проект, тобто робили так:
find $ SRC_DIR -name '* .php'> $ OUTPUT_DIR / files.txt
4) Наступним етапом ми відправили їх HipHop'у з наступними параметрами:
--target = analyze - навіщо ми викликали HipHop?
--input-list = $ OUTPUT_DIR / files.txt - список файлів для перевірки
--input-dir = $ SRC_DIR - де лежать файли, які потрібно перевірити?
--output-dir = $ OUTPUT_DIR - куди зберегти результати перевірки?
--gen-stats = 1 - створити файл зі статистичною інформацією про помилки
--log = 3 - рівень логу, який виводиться в консоль (3 - оптимально)
--force = 1 - ігнорувати знайдені помилки і продовжувати аналіз
--parse-on-demand = 0 - не чіпати файли, яких немає в списку
5) Аналіз:
$ HPHP_HOME / src / hphp / hphp --input-list = $ OUTPUT_DIR / files.txt --input-dir = $ SRC_DIR --output-dir = $ OUTPUT_DIR --gen-stats = 1 --log = 3 - force = 1 --parse-on-demand = 0 --target = analyze
Коли php завершив свою роботу (а це відбувається дивно швидко!), В папці / var / reports / з'являються два файли:
CodeError.js і Stats.js
Вміст Stats.js розшифровується приблизно так:
CodeError.js теж у форматі JSON і містить інформацію про всі помилки, що знайшов HipHop. А шукає він наступні види несправностей:
• Відсутні файли для require \ include
• Виклики невизначених функцій / методів
• Звернення до невизначеним змінним, класам, константам
• Перевизначення констант
• Однакові імена аргументів у визначенні функції
• Обов'язкові аргументи після необов'язкових у визначенні функції
• Недостатність \ надмірність аргументів при виклику функції
• Код, який не виконається ні за яких умов
• Методи і функції, які повертають void
• Використання $ this в статичних методах
JSON у файлі являє собою масив, в першому елементі якого зазначено кількість знайдених помилок, а в другому власне їх список, сортовані по групах.
Запустимо на нього тест, а потім спробуємо подивитися помилки:
./CodeErrorFormatter.php /var/report/CodeError.js
Oops, у мене PHP видав помилку getopt, але я просто вписав шлях до файлу ручками і отримав ось такий висновок:
CodeErrorFormatter 1.1.0 by Patrick Allaert.
UseUndeclaredVariable
==================================================
/var/www/index.php
9: 9 -> 9:21 details: $ missing_var
4: 9 -> 4:11 details: $ a
DeclaredConstantTwice
==================================================
/var/www/index.php
12: 0 -> 12:21 details: define ('CONSTANT', 1)
RequiredAfterOptionalParam
==================================================
/var/www/index.php
8:16 -> 8:41 details: $ arg2
Як видно, тут вказані для кожної помилки тип, адресу файлу, назва невподобаний фукции \ змінної, її рядок і позиція у файлі. Далі - можна зробити або автоматичний багрепорт, або самому виправити помилки.
2.3 Керівництво оператора
Для того, щоб система почала функціонувати необхідно запустити браузер та набрати адресу сервера. Якщо є з'єднання з сервером, то користувач бачить стартову сторінку на якій є дві кнопки Sign up (зарегеструватися) та log in (авторизуватися).
Рисунок 2.1 – Стартова сторінка
Якщо користувач бажає зареєструватися, то потрібно натиснути кнопку реєістрації. Після цього він перейде до форми регістрації, у якій потрібно вказати прізвище, ім'я, країну, місто, логін та пароль. Далі натиснути на кнопку «Реєістрація». Якщо все було введено правильно, дані користувача будуть записані в таблицю users бази даних.
Рисунок 2.2 – Реєстрація на сайті
Якщо користувач вже зареєстрований, слід натиснути на кнопку авторизації і ввести логін та пароль. Якщо логін чи пароль були введені неправильно, буде виведено повідомлення «Невірний логін чи пароль ». При правильно введених даних буде здійнено перехід до особистого кабінету користувача.
Рисунок 2.3 – Авторизація на сайті
На особистій сторінці користувача можна виконувати наступні дії:
- написати пост, для цього ввести текст у вікно посту, та натиснути кнопку відправки. Це відправить введену інформацію до таблиці comments і введений пост буде відображатися на сторінці під вікном відправки посту.
Рисунок 2.4 - Відправка посту
- загрузити відео, аудио та фото-файли, для цього вибрати відповідну вкладку верхньго меню і натисненням кнопок «Додати відео», «Додати фото» чи «Додати музику», завантажити потрібний файл з вашого комп'ютеру у базу даних сайту.
Рисунок 2.5 – Завантаження аудіофайлу
- змінити настройки профілю натисненням кнопки «Редагувати профіль». Сайт дозволяє змінювати ім'я, прізвище, країну та місто, а також задній фон сторінки користувача, аватар та тему верхньої панелі. Інформація буде змінена після натиснення ктопки «Змінити», чи повернена при натисненні кнопки «Reset».
Рисунок 2.6 – Змінення налаштувань профілю
- для пошуку користувачів у верхній частині є поле пошуку. Для більш детального пошуку справа є 4 поля, що здійснюють пошук за прізвищем, ім'ям, країні та містом.
Рисунок 2.7 – Пошук користувачів
ВИСНОВКИ
Андренко Артем:
На початку навчального року мені і моїм друзям, дали дуже цікаве завдання по предмету Програмна інженерія. Ми створили свою команду, в якій мене зробили капітаном, що для мене стало дуже несподівано. Я розумів що відповідаю тепер не тільки за свою роботу, а й за роботу всієї команди.
Не довго вибираючи тему проекту, ми вирішили зробити соціальну мережу, я і мої колеги хотіли займатися веб-розробкою, а соціальна мережа - це ідеальна тема для написанная на мовi програмування php, і вивчення її особливостей.
Для ефективної розробки, мені довелося розділив нас на групи - я, Оля Водяницька і Денис Цебро займалися кодом, документацією займалася Оля Водяницька, розробкою дизайну займалися я і Оля Водяницька. Робота кожного члена нашої команди була не замінна і допомогла втілити наш проект. На мій погляд кожен учасник команди отримав величезний досвід роботи, над таким об'ємним проектом як соціальна мережа. Всі мої члени команди добре потрудилися і впоралися з поставленим завданням.
Проект ми робили досить велику кількість часу, який і сформував моє поняття роботи в команді. Раніше я думав, що найкраще самому робити всю роботу, адже якщо ти напишеш і налагодиш програму сам, то в ній і помилок не буде, але я дуже сильно в цьому помилявся, так як це командна робота і її треба робити в команді, інакше нічого не вийде - знайдуться помилки, недоліки і всякі баги, які ти сам не помітиш, а якщо ти їх не помітиш, то для тебе ця програма буде ідеальна і в ній не буде помилок. Щоб знайти помилки для цього тобі й потрібна команда, яка зможе допомогти знайти і вирішити їх. Але не можна повністю довіряти всю роботу своїм товаришам, вони можуть закинути проект і нічого не робити, потрібно тримати в напрузі команду, знаходити нові рішення, змушувати їх цікавитися проектом, підбадьорювати, якщо щось не виходить.
Мені дуже сподобалося працювати в команді з моїми друзями, ми завершили цей об'ємний проект тільки тому що працювали злагоджено і разом вирішували виникаючі питання, пропонували нові ідеї та рішення. Я радий що працював з такими людьми!
Водяницька Ольга:
Було дуже цікаво працювати над таким реальним проектом. Це вже була не навчальна задача зі заздалегідь відомими методами її вирішення, а повноцінна програма, що могла би бути чиїмось замовленням. У нас не було завдання написати конкретні функції, а лише дії, що мали виконуватися на нашому сайті. Можно знайти різні варіанти вирішення однієї й тієї ж задачі, але нашою задачею було знаходження найкращого і я вважаю, що ми практично впоралися з нею.
Мені було доручено написання частини форм для сайту, також ми разом з Артемом розробляли дизайн сайту, але більшу частину часу я займалася написанням документації, яка спочатку здавалася легкою, а насправді виявилася дуже об'ємною і не завжди зрозумілою.
Цікавим фактом є те, що хоч ми і розпланували час на розробку програми, але закінчували вже ближче до захисту, бо забули врахувати людський фактор та екстрані ситуації.
Цебро Денис:
Під час виконання проекту я навчився писати програми більш оптимізовано, з використанням тих правил, які ми використовували на парах з ПІ, також навчився підключати форми HTML до функцій, використовувати суперглобальні змінні, попрактикувався в роботі з базами даних mySQL. Цей проект був першим, де я відчув себе як програміста. Мені дуже сподобалося працювати в команді, адже моя команда була дуже згуртована і працьовита, мені сподобалося працювати с цими людьми. Це безцінний досвід який я буду використовувати і надалі.
ПЕРЕЛІК ПОСИЛАНЬ