مهندسی سیستم(System Engineering):
مهندسی نرم افزار از فرآیندی نشأت میگیرد که مهندسی سیستم نامیده میشود. قبل از اینکه یک نرم افزار مهندسی شود باید سیستم و محیطی که نرم افزار در آن قرار دارد درک و شناخته شود. برای این منظور، هدف کلی سیستم باید شناخته شود، نقش سخت افزار، نرم افزار با افراد، پایگاه داده، روالها و سایر عناصر سیستم باید تعیین گردند و نیازمندیهای عملیاتی استخراج شده و تحلیل، تعریف، مدلسازی، اعتبارسنجی و مدیریت شوند. اینها فعالیتهای پایه مهندسی سیستم میباشند.
به عنوان نتیجه مهندسی سیستم، یک نمایش کارا از سیستم تولید میشود. روش نمایش میتواند به صورت یک نمونه، تعریف و یا مدلی نمادین باشد. اما در هر حال باید خصوصیات عملیاتی و رفتاری به صورت کامل معین گردند.
نکته:
سلسله مراتب مهندسی سیستم:
مهندسی سیستم شامل مجموعهای از روشهای بالا به پایین و پایین به بالا برای حرکت در سلسله مراتب نشان داده شده در شکل زیر است. فرآیند مهندسی سیستم معمولا با دیدگاه جهانی شروع میشود:
- دید جهانی(World View): کل مسئله بررسی می شود تا از امکان تولید نرم افزار مطمئن شویم و زمینه تجاری و فنی مناسبی را انتخاب کنیم.
- دید دامنه(Domain View): نیاز به مولفه های سیستم مورد نظر(مانند: داده ها، نرم افزار، سخت افزار و افراد) تحلیل و بررسی می شود.
- دید مولفه(Element View): تحلیل، طراحی و ساخت مولفه سیستم آغاز می شود.
مراحل فوق را به صورت فرمال نیز میتوان تشریح کرد:
مجموعه زیرسیستمهای سیستم- World View
WV={D1, D2, … , Dn}
مجموعه اهداف و اجزای هر زیرسیستم- Domain View
Di={E1, E2, … , Em}
مجموعه اجزای فنی برای اعمال و اهداف مورد نیاز- Element View
Ej={C1, C2, … , Ck}
نکته: Ciها مؤلفههای فنی هستند که در زمینه نرمافزار، Ci میتواند یک برنامه کامپیوتری، برنامه قابل استفادهمجدد، ماژول، کلاس و یا حتی دستوری از زبان برنامه نویسی باشد.