Създаване на софтуерен проект
Софтуерният проект цели създаването на специфична софтуерна система или софтуерно приложение. Той се характеризира с план, начало и край.
Софтуерен процес е последователността от дейности за създаване на софтуерния продукт.
Етапи при реализирането на софтуерен проект
Създаването на софтуерно приложение изисква съвместната работа на екип от разработчици. Те планират, изпълняват и предават софтуерния проект.
Защо се разработват проекти от екипи?
Реализирането на софтуерен проект обикновено включва следните етапи:
1. Изисквания – подробно описание на изискванията на проекта;
2. Анализ – проучване и анализ на решения на задачата;
3. Дизайн – проектиране на потребителския интерфейс;
4. Кодиране – създаване на програмен код за реализация на модела;
5. Тестване – създаване на тестови примери с входни данни и очаквани резултати;
6. Документация – изготвяне на документация за софтуерния проект;
7. Приемане – завършеният проект се предава и представя за приемане от клиента;
8. Поддържане – приложението се поддържа и подобрява при необходимост.
Софтуерни модели
Agile е итеративен процес на софтуерна разработка, който използва обратната връзка от клиента като начин за контрол. Софтуерът се реализира поетапно, с редовно тестване на отделните етапи от развитието му. Важна особеност е, че в края на всеки спринт има работещ продукт с добавена функционалност.
Водопадният модел представлява процес на софтуерно разработване, при който изпълнението се прави последователно (етап след етап). Този метод е подходящ, когато изискванията са ясно определени в началото и не се очакват промени по време на изпълнението на проекта. След завършването на една стъпка процесът продължава със следващата стъпка, без да има връщане за променяне на вече завършените етапи.
ВОДОПАДЕН МОДЕЛ
Пример
Задача 1
Съставете таблица с предимствата и недостатъците на всеки от моделите за софтуерна разработка.
Разгледайте етапите от отделните софтуерни модели и етапите в началото на този урок. Намирате ли съответствие? Опишете го.
Анализ на изискванията
Извършват се проучване и анализ на решения за даден проект. Едни изисквания са добри, ако са ясни и точни, лесно проверими, проследими, необходими, независещи от начина за реализиране.
Анализ на решаването на проблема – моделиране на решението на проблема
Определяне на дадените величини, търсените величини, алгоритъма за получаване на решението и ограниченията.
Проектиране на графичния потребителски интерфейс
В този урок ще разширим познанията ви за графичния потребителски интерфейс. Да покажем как в едно приложение може да има цветове, и то те да са професионално подбрани. Както вече знаете от часовете по информационни технологии, можете да вземете точния номер на цвят от изображение с инструменти като Color Picker.
С някои от онлайн приложенията може да се вземе и цветова схема, в която цветовете са хармонични. Такова приложение е http://colorschemedesigner.com.
Ако цветовете в едното приложение са шестнадесетични, а в средата за визуално програмиране са необходими в RGB, то може да се използва вграденият в операционната система калкулатор, за да се преобразуват числата.
Проектирането на дизайна на потребителския интерфейс с прилагане на материален дизайн е актуална тема в дизайна https://material.io.
Програмиране – кодиране на логиката на приложението
Писането на кода е свързано с функционалността на приложението. Графичният потребителски интерфейс само показва как ще изглежда приложението, но визуалното поставяне на бутони и прозорци не е достатъчно, за да се реализират действията.
Функционалността се прави чрез програмиране, включващо логика, като например алгоритми, които реализират избрания модел.
Как ще „работи един дизайн“, можем да видим чрез прототипиране на приложение, което изучавате в часовете по информационни технологии
Задача 2
Напишете програма, която да реализира логиката на една от функционалностите на текстообработваща програма, свързана със статистики на текста. Нека тя да включва определяне на:
– Колко думи има в текста?
– Колко символа има в текста?
– Колко символа има, включително интервалите?
Тестване на валидиране на приложението
Създаденото приложение трябва да се тества за грешки. Също така трябва да се провери дали всички компоненти работят правилно и според изискванията. След като се тестват поотделно, компонентите трябва да се тестват и заедно, защото тогава може да се появят проблеми, които липсват при тестване в изолация.
Изготвяне на документация за софтуерния проект
Документацията на проекта е информацията, която описва софтуерното приложение на потребителите и обикновено включва ръководство на потребителя или справочник. Този документ предлага текстово описание и графични визуализации на проекта. Често този етап може да включи изработването на инструкции (tutorials) във вид на книга (wiki или програма), подпомагащи разучаването на продукта, или бързи справки за неговата функционалност.
Презентиране и защита на софтуерния проект
Презентирането на софтуерния проект е умение, което вече имате от часовете по информационни технологии. Обръщаме внимание, че изборът на съдържание за презентиране зависи от това кой е в аудиторията: дали това са клиенти, които се вълнуват повече от функционалността, а не от това какви алгоритми сте използвали.
Самостоятелна работа
Часовник, показва времето в часовата зона за България. Създайте проект, с който да се вижда при конкретно време в България съответното време в Милано, Хонконг и Торонто.
Необходимо е да направят анализи как да се организират входните данни, за да е еднозначно и да е лесно за обработка.
Обмислете какви данни трябва да се въведат, какви ограничения имат те, какви изчисления трябва да направите. От какви помощни променливи ще имате нужда?
РЕФЛЕКСИЯ
⏍ Научих какво е софтуерен проект.
⏍ Разбрах какви методологии се използват в софтуерната практика.
⏍ Познавам етапите в разработката на софтуерен проект.
РЕЧНИК
user requirements | анализ на изискванията |
agile model | гъвкав модел |
waterfall model | водопаден модел |
develop | разработка |
deploy | внедряване |