Софтуерно инженерство
Софтуерното инженерство представлява приложение на систематичен, дисциплиниран, измерим подход към разработването, използването и поддържането на софтуер. … Дисциплината Софтуерно инженерство включва знания, инструменти и методи за дефиниране на софтуерни изисквания, проектиране, създаване, тестване и поддръжка на софтуер. [Wikipedia]
Методология
Унифицираният процес е разширяема макрорамка, която може и трябва да се модифицира за специфичните организации или проекти. Основните характеристики на процеса са:
- Итеративно / инкрементално разработване - проектът се разделя на последователност от итерации с фиксирана продължителност.
- Базиран на прецеденти (use cases) - използват се прецеденти за специфициране на функционалните изисквания.
- Базиран на архитектура - системната архитектура лежи в основата на проекта
- Фокусиран върху риска - изисква да се отработят най-критичните рискове рано в жизнения цикъл на проекта.
Нотация
Унифицираният Език за Моделиране (Unified Modeling Language™ - UML) е индустриално-признат стандарт за специфициране, визуализиране, конструиране и документиране на артефактите на една софтуерна система, стандартизиран от Object Management Group. UML помага да се опрости сложния процес на софтуерния дизайн, едоставяйки план за създаването на софтуер. Широкото приемане на UML е един от факторите, даващ въможност за разработката на инструменти за компютърно-подпомогнато софтуерно инженерство (Computer Aided Software Engineering - CASE).
Инструменти
Инструментите за компютърно-подпомогнато софтуерно инженерство представляват клас софтуерни среди и програми, използвани по време на фазите анализ, проектиран, разработване и тестване на софтуерните приложения. Използват се за управление на пълния жизнен цикъл на един софтуерен проект - дефинрне на системните изисквания, създаване на диаграми и модели, проектиране на класове и бази данни, писане на код и отстраняване на грешки, верифициране и валидиране на резултатите от инкрементите, интегриране и др.