توجه به معماری نرمافزار
در باب معماری نرمافزار و استانداردهای آن میتوان ساعتها و شاید در قالب یک کتاب مستقل صحبت و بحث کرد و که البته شناخت جز به جز از مفاهیم معماری نرمافزار در موضوع این کتاب نمیگنجد؛ اما از بررسی کلی و مشاهده معماری نرمافزارهای اتوماسیون اداری در زمان انتخاب یک نرمافزار کارآمد نیز نمیتوان غافل شد، زیرا با توجه و شناخت به معماری نرمافزار بسیاری از سؤالات فنی و مهم در خصوص آن بهخودیخود پاسخ داده خواهد شد، سؤالاتی که در ادامه به آن اشاره خواهد شد.
قبل از اینکه سراغ معماری نرمافزار در اتوماسیونهای اداری برویم لازم است که مختصری با تعریف معماری نرمافزار آشنا شویم، شاید تعریف جامع و کامل معماری نرمافزار در یک جمله و پاراگراف نگنجد، ازاینرو انجمن مهندسین برق و الکترونیک امریکا که به آن آی تریپل ای نیز گفته میشود در استاندارد شماره IEEE std 1471 2000 خود بهطور کامل و تخصصی در این باره صحبت کرده است؛ اما به زبان ساده میتوان اینگونه گفت که شرح خصوصیات فنی، بخشها، تکنولوژیها و زیرساختها و لایههای اصلی بکار رفته، نحوه ارتباط اجزای سیستم با یکدیگر و همچنین کل سیستم با دنیای بیرون را معماری سیستم مینامند. درواقع سطح اصلی نرمافزار با توجه به توضیحات و شمای گرافیکی آمده در معماری نرمافزار به چند سطح اصلی و کلی شکسته میشود تا مفهوم، عملکرد اصلی، ارتباط بین بخشهای اصلی، رفتارهای بیرونی و درونی هر بخش آن نرمافزار با این شکستگی قابلدرکتر کند. به همین دلیل سبکها و روشهای مختلفی برای شکست اجزا و ارتباط آنها وجود دارد که هر روز به این روشها اضافه میشود و معروفترین آنها به شرح زیر آمده است.
- متمرکز روی داده
- جریان دادهای
- سبک ماشین مجازی
- سبک تختهسیاه
- سبک برنامه اصلی و زیر روال
- مبتنی بر مؤلفههای مستقل
- معماری چندلایه
- مبتنی بر رویداد
- فراخوانی و بازگشت
- سیستم شی گرا
- و ...
حال شاید این سؤال به وجود بیاید که چه زمانی نیاز به دانستن معماری نرمافزار است؟ پاسخ کامل واضح و شفاف است، در مراحل تحلیل، طراحی و تولید هر نرمافزار نیاز به تهیه مستندی با نام و خصوصیات معماری نرمافزار میباشد اما این موضوع زمانی بیشازپیش اهمیت پیدا خواهد کرد که:
- نرمافزار در ابعاد بزرگ تولید شود
- نرمافزار با پيچيدگی زياد تولید شود
- نرمافزار در سطح زیاد و کلان به فروش برود
- در نرمافزار نيازمندي خاص وجود داشته باشد
- نیاز به طول عمر زياد در نرمافزار باشد
- نرمافزار نیاز به انعطافپذیری و توسعه داشته باشد
نگاه به دلایل فوق نیاز به وجود معماری نرمافزار در اتوماسیونهای اداری را بیشازپیش به ما نشان میدهد، اتوماسیونهای اداری نرمافزارهایی با ابعاد بزرگ و پیچیدهای هستند که در کنار طول عمر زیاد در سازمانها میبایست هر روز توسعه داده شوند و انعطافپذیری خود را حفظ کنند.
معماری نرمافزار در اتوماسیونهای اداری شامل بخشها و ارتباطات اصلی چون:
- پایگاه داده و ذخیره
- لایه کاربرد و GUI (1)
- امنیت و دسترسیها
- لایه سرویسها و اجزای آن
- ارتباط بین لایهها و اجزا مختلف
- لایههای ارتباطی بین سازمانی و بین سیستمی
- و...
در زیر یک شمای گرافیکی سادهای از معماری یک نرمافزار اتوماسیون اداری را مشاهده مینمایید:
فایدهی بررسی معماری نرمافزارهای اتوماسیون اداری چیست؟
بزرگترین فایده بررسی معماری نرمافزار در اتوماسیونهای اداری تشخیص کیفیت و مشخصههای کیفی آن است، از آنجا که نیازهای اصلی سیستمها به دو گروه نیازهای عملیاتی و غیرعملیاتی تقسیم میشود (نیازمندیهای عملیاتی، عبارت است از توانایی سیستم در انجام کاری که برای آن ایجادشده است. نیازمندیهای غیرعملیاتی که تحت عنوان مشخصههای کیفی از آنها یاد میشود، هر آنچه غیر از نیازمندیهای عملیاتی سیستم باشد، در این دسته قرار میگیرند) و در معماری نرمافزار با توجه به تعریف آنکه کلیات و بخشهای اصلی و ارتباط آنها توضیح دادهشده است میتوان به نیازمندیهای غیرعملیاتی چون کارایی، امنیت، قابلیت توسعه، چگونگی نگهداری از سیستم و ... پی برد و با قیاس بین آنها، تفاوت یک اتوماسیون اداری کارآمد را تشخیص داد.
معماری نرمافزار و تأیید معماری استاندارد در یک اتوماسیون اداری کارآمد میبایست توسط کارشناس یا گروه کارشناسانی که حداقل دانش در مورد مهندسی نرمافزار، برنامهنویسی، مفاهیم کامپیوتر و شبکه را داشته باشند صورت پذیرد، زیرا تنها وجود مستندی به این نام دال بر باکیفیت بودن سرویسهای ارائهشده در آن نرمافزار نیست و بایستی از نگاه کارشناسی به معماری نرمافزار نگاه تا معایب، محاسن و استانداردهای موجود در آن کنکاش و واکاوی شود.
هر قسمت معرفی یک امکان پیشرفته در اتوماسیون اداری فرزین – آی کن
نرم افزار فکس پیشرفته و تحت وب اتوماسیون سپنتا
لینک خرید کتاب از صفر تا صد اتوماسیون های اداری
اتوماسیون اداری فرزین – آی کن