මොඩියුලය 04: UML භාවිතයෙන් පද්ධති ආකෘති නිර්මාණය

අදහස් සහ අවශ්‍යතා, මෘදුකාංගයක නිල්-සිතියම (Blueprint) බවට පත් කිරීම.

UML යනු කුමක්ද? එය වැදගත් වන්නේ ඇයි?

පෙර මොඩියුලයේදී, අපි මෘදුකාංගයකින් ඉටු විය යුතු දේ නිර්වචනය කරන "අවශ්‍යතා" (Requirements) ගැන ඉගෙන ගත්තෙමු. එම අවශ්‍යතා සාමාන්‍යයෙන් පවතින්නේ ලේඛනගත කළ වචන සහ වාක්‍ය ලෙසයි. දැන් ඊළඟ අභියෝගය වන්නේ, එම වචන, ක්‍රමලේඛකයන්ට (programmers) තේරුම් ගත හැකි, තාක්ෂණික සැලැස්මක් බවට පත් කිරීමයි. ගෘහ නිර්මාණ ශිල්පියෙකු නිවසක් තැනීමට පෙර එහි නිල්-සිතියම් (blueprints) අඳින්නා සේම, මෘදුකාංග ඉංජිනේරුවන් කේත ලිවීමට පෙර මෘදුකාංගයේ දෘශ්‍ය සැලැස්මක් නිර්මාණය කිරීමට ඒකීය ආකෘති භාෂාව (Unified Modeling Language - UML) භාවිතා කරයි.

වැදගත්ම දෙය නම්, UML යනු ක්‍රමලේඛන භාෂාවක් (Programming Language) නොවීමයි. එය දෘශ්‍ය රූපසටහන් (diagrams) හරහා මෘදුකාංගයක ව්‍යුහය (structure) සහ චර්යාව (behavior) විස්තර කිරීමට යොදාගන්නා සම්මත භාෂාවකි. UML මගින් සංවර්ධන කණ්ඩායමේ සාමාජිකයන්, කළමනාකරුවන් සහ පාරිභෝගිකයන් අතර පැහැදිලි සන්නිවේදනයක් ඇති කරන අතර, කේත ලිවීමට පෙරම පද්ධතියේ ඇතිවිය හැකි ගැටළු හඳුනා ගැනීමට උපකාරී වේ.

ප්‍රධාන UML රූපසටහන් වර්ග

UML හි විවිධ කාර්යයන් සඳහා යොදාගනු ලබන රූපසටහන් වර්ග 14 ක් පමණ ඇත. නමුත් ඒවා ප්‍රධාන කාණ්ඩ දෙකකට බෙදිය හැක. මෙම පාඨමාලාවේදී අපි වඩාත්ම බහුලව භාවිතා වන සහ මූලිකම රූපසටහන් කිහිපයක් පිළිබඳව අවධානය යොමු කරමු.

1. ව්‍යුහාත්මක රූපසටහන් (Structural Diagrams)

මේවා මෘදුකාංග පද්ධතියේ ස්ථිතික (static) ව්‍යුහය, එනම් පද්ධතියේ අඩංගු කොටස් සහ ඒවා එකිනෙකට සම්බන්ධ වන ආකාරය පෙන්වයි. "පද්ධතියේ ඇත්තේ මොනවාද?" යන්න විස්තර කරයි.

පන්ති රූපසටහන (Class Diagram)

මෙය ව්‍යුහාත්මක රූපසටහන් අතරින් වඩාත්ම වැදගත් සහ බහුලවම භාවිතා වන රූපසටහනයි. මෘදුකාංගයේ ඇති පන්ති (Classes), ඒවායේ ගුණාංග (Attributes) සහ මෙහෙයුම් (Methods/Operations) මෙන්ම, එම පන්ති අතර ඇති සම්බන්ධතාද (Relationships) මින් නිරූපණය කෙරේ.

උදාහරණය: "ශිෂ්‍යයා" (Student) නමැති class එකට `studentID`, `name` වැනි attributes ද, `registerCourse()`, `viewGrades()` වැනි methods ද තිබිය හැක.

2. චර්යාත්මක රූපසටහන් (Behavioral Diagrams)

මේවා මෘදුකාංග පද්ධතියේ ගතික (dynamic) ස්වභාවය, එනම් කාලයත් සමග පද්ධතියේ කොටස් එකිනෙක සමග අන්තර්ක්‍රියා කරන ආකාරය පෙන්වයි. "පද්ධතියේ කොටස් හැසිරෙන්නේ කෙසේද?" යන්න විස්තර කරයි.

භාවිත අවස්ථා රූපසටහන (Use Case Diagram)

මෙමගින් පද්ධතියේ ක්‍රියාකාරීත්වය පරිශීලකයෙකුගේ (Actor) දෘෂ්ටිකෝණයෙන් පෙන්වයි. පරිශීලකයෙකුට පද්ධතිය සමග කළ හැක්කේ කුමක්ද යන්න ඉහළ මට්ටමකින් (high-level view) පෙන්වයි. "අවශ්‍යතා විශ්ලේෂණ" අදියරේදී මෙය ඉතා ප්‍රයෝජනවත් වේ.

උදාහරණය: "ශිෂ්‍යයා" (Actor) ට "පාඨමාලා සඳහා ලියාපදිංචි වීම" (Use Case) සහ "ප්‍රතිඵල බැලීම" (Use Case) යන ක්‍රියාවන් කළ හැක.
අනුක්‍රමික රූපසටහන (Sequence Diagram)

යම්කිසි ක්‍රියාවලියක් (උදා: පරිශීලකයෙකු login වීම) සම්පූර්ණ කිරීම සඳහා පද්ධතියේ ඇති විවිධ කොටස් (objects) එකිනෙකට පණිවිඩ (messages) හුවමාරු කරගන්නා අනුපිළිවෙල කාලයත් සමග පෙන්වයි. එක් use case එකක් ක්‍රියාත්මක වන ආකාරය පියවරෙන් පියවර විස්තර කිරීමට මෙය යොදා ගනී.

උදාහරණය: පරිශීලකයෙකු login බොත්තම ක්ලික් කළ විට, `LoginUI` එකෙන් `UserController` එකට දත්ත යවන ආකාරයත්, `UserController` එක `Database` එක සමග කතා කරන ආකාරයත් පිළිවෙලින් පෙන්වයි.

අවසාන වශයෙන්

UML යනු සංකීර්ණ මෘදුකාංග පද්ධති සැලසුම් කිරීමේදී ඇතිවන අවුල් සහගත තත්ත්වය මගහරවා ගැනීමට ඉංජිනේරුවන්ට උපකාර කරන අතිශය බලවත් මෙවලමකි. එය අවශ්‍යතා සහ කේතය අතර පාලමක් ලෙස ක්‍රියා කරයි.

දැන් අපි ව්‍යාපෘතියකින් ඉටු විය යුතු දේ (Requirements) සහ එය ගොඩනගන ආකාරය පිළිබඳ දෘශ්‍ය සැලැස්මක් (UML) දන්නා නිසා, අපගේ මීළඟ පියවර වන්නේ මෙම සම්පූර්ණ නිර්මාණ ක්‍රියාවලිය ආරම්භයේ සිට අවසානය දක්වා කළමනාකරණය කරන්නේ කෙසේදැයි ඉගෙන ගැනීමයි. ඒ සඳහා, අපි ඊළඟ මොඩියුලයෙන් "මෘදුකාංග ව්‍යාපෘති කළමනාකරණය" (Software Project Management) පිළිබඳව සාකච්ඡා කරමු.