Процес на разработка на софтуер с използване на UML™ (1 модул)
Реализацията
на софтуерни системи с нарастваща сложност, паралелно от множество
екипи от специалисти изисква прилагането на общи стандарти и
ефективни методологии за разработка. От появата си през 1997г. до
сега Унифицираният език за моделиране – UML™ – се
превърна фактически в стандартен „графичен език за
визуализиране, специфициране, конструиране и документиране на
елементите на една софтуерно-интензивна система“ [OMG].
Сред предимствата на един UML-базиран
процес за разработка на софтуер са:
Плавен
преход между отделните етапи при разработката на софтуерния продукт
– от формулирането на изискванията до крайната реализация,
чрез използване на междинни модели за анализ и проектиране на
архитектурата и поведението на системата, които позволяват всяко
изискване да бъде адресирано на подходящото ниво на абстракция;
Възможност
за ефикасно разширяване на съществуващи модели с цел включване на
допълнителни функционални изисквания в една бързо променяща се
бизнес среда – проектът може да расте запазвайки ефективна и
ясна архитектура;
Стандартен
графичен език за изразяване и дискусия на идеи, изисквания и
проектантски решения, който улеснява комуникацията, особено при
паралелна разработка от различни екипи (например при outsorcing на
разработката);
Един
UML-базиран процес за разработка позволява да се настрои
количеството и качеството на проектната документация според
изискванията на конкретния проект (време, обем, бюджет, нужда от
бъдещо разширяване).
Съществуват
множество методологии за обектно-ориентирана разработка на софтуер –
от така наречените „леки“ и „динамични“
методологии (Agile Methodologies - http://agilemanifesto.org/)
от типа на Extreme Programming (XP), Dynamic Systems
Development Method (DSDM) и др.,
до така нар. „тежки“ (heavy-weight)
методологии от типа на „Унифициран процес за разработка на
софтуер“ (Unified Software Development Process -
USDP) предложен от Booch,
Jacobson и Rumbaugh [1]. Всички те, в различна степен, дават
възможност за реализация на вече изброените предимства от
използването на UML в процеса на софтуерна разработка.
Особено внимание в курса
се отделя на Unified Software Development Process (USDP), като
гъвкав, мащабируем и надежден процес за разработка на софтуер,
подходящ за различни по големина проекти и организации, който напълно
използва предимствата на графичната нотация на езика UML™.
USDP e базиран върху
използването на типични случаи на употреба (use-case based),
центриран върху архитектурата (architecture centric),
итеративен и инкрементален процес за разработка. Той дефинира четири
основни фази: Възприемане (Inception), Уточняване
(Ellaboration), Конструиране (Construction) и Преход
(Transition). По време на всяка от фазите се реализират
множество итерации (прототипи), всяка от които включва пет основни
работни потока (workflows) – Спецификация на
изискванията, Анализ, Проектиране, Реализация и Тестване. Отделните
фази, работни потоци, както и участниците, дейностите и документите
(artifacts) разработвани през всеки от тях се разглеждат в
детайли по време на курса, като се посочват примери от опита на
преподавателя в академична и бизнес среда.
Дискутират се
особеностите при управлението на проект базиран на USDP.
Практическите занятия
включват разработката на индивидуални или групови проекти с
използване на USDP.
|