رویکردهای تکنولوژیک فراگستر
در این مستند بهطور خلاصه اصول و مفاهیم بکار گرفتهشده در نظاممهندسی فراگستر بیان میگردد. این اصول برگرفته از اصول مهندسی نرمافزار بوده و فراگستر افتخار مینمایند که دانش مهندسی نرمافزار را بهدرستی نهادینه و به نحوه کامل اجرا مینمایند.
معماری مهندسی نرمافزار در فراگستر بر چهار لایه استوار است. تأکید اول در مهندسی نرمافزار فرآیند «تمرکز بر کیفیت» هست. ایجاد محصول باکیفیت مبتنی بر استاندار اولین اولویت و دستور کارگروه مهندسی فراگستر است. از سویی ایجاد یک محصول باکیفیت بدون در نظر گرفتن فرآیندهای مدیریتی و اجرایی امکانپذیر نیست. بر این اساس روشها، استانداردها و الزاماتی برای تولید و اجرای باکیفیت محصولات و خدمات وضع میگردد. پرواضح است روشها و فرآیندها بدون ابزار مناسب و کارآمد محقق نخواهد شد. فراگستر سرمایهگذاری قابلتوجهی درزمینه تأمین ابزارهای کارآمد و یکپارچه برای مدیریت و کنترل خط تولید نرمافزار و خدمات بکار گرفته است.
اصولی چابک که کلیه گروههای فراگستر از آن پیروی میکنند مبتنی بر بیانیه جهانی چابک که در این آدرس قابلدستیابی است تعریفشده و کلیه کارکنان خود را متعهد وفادار به آن میدانند. این بیانیه ۱۲ اصل را شامل میگردد که اجرای رعایت تمامی بندها حائز اهمیت است.
فرآیند مهندسی نرمافزار در فراگستر به چهار بخش زیر تقسیمشده است:
- ارتباطات و تعاملات
- طرحریزی
- مدلسازی
- ساخت
- انتشار
فراگستر فعالیتهای پشتیبان (Umbrella activities) را لازمه مدیریت صحیح پروژهها نرمافزاری دانسته و فعالیتهای زیر را در تمامی پروژههای خود انجام میدهد که عبارتاند از:
- کنترل و پایش پروژه
- مدیریت مخاطرات
- تضمین کیفیت
- بازنگری فنی
- اندازهگیری
- مدیریت پیکربندی نرمافزار
- مدیریت بازبکارگیری
- فعالیت بر روی پیش تولید و تولید محصول
مدل سازی و مستند سازی
استفاده از زبان UML برای مدل سازی و مستند سازی نرم افزار در فراگستر ضروری است. کلیه کارکنان مهندسی نرم افزار با زبان UML آشنا و توانایی مدل سازی و بهره گیری از مدل های تولید شده را به خوبی دارند. فراگستر بر اساس نمودارهای UML، ساختار و رفتار نرم افزار های تولید را مدل و مستند مینماید. مستند سازی برای پروژه هایی با این ابعاد وسیع ضروری است و بدون مستندات قوی و قابل اطمینان قابلیت توسعه تیم های کاری و مدیریت آتی پروژه های نرم افزاری به دشواری همراه خواهد بود.
تکنولوژی تولید
معماری تولید نرم افزار در فراگستر مبتنی بر مدل معماری چند لایه برای پشتیبانی از تمام سیستم های عامل ایستگاه های کاری میباشد. به طور عمده سیستم های فراگستر مبتنی بر وب و در بخش هایی مبتنی بر ویندوز تولید میشوند. استفاده از آخرین فناوری ها از مهمترین ویژگی های تولید نرم افزار در فراگستر میباشد. در شکل زیر میتوانید فناوری های بکارگرفته شده در فراگستر را مشاهده نمایید.
معماری نشر
نشر سیستم ها در پروژه های ملی و بزرگ از ساختار زیر تبعیت مینماید.
در این ساختار، متعادلکننده بار(Load Balancer)، مسئول توزیع بار بین وب سرورها خواهد بود و بهصورت متمرکز میتواند توزیع بار بین وب سرورها را، انجام دهد. با توجه به اینکه در سامانههای سازمانی بزرگ روزانه میلیونها درخواست، از وب سرورها تقاضا میشود، متعادلکننده بار، نقش مهمی ایفا خواهد کرد.
فرآیند توسعه و آزمون با فن TDD
Test-Driven Development یا TDD فن برای توسعه نرمافزارهای است. این روش بهصورت بالا به پایین انجام میشود. ابتدا کلیات پروژه بهصورت نمونه اولیه پیادهسازی میشود و بعد از تأیید شدن عملکرد برنامه کدهای اصلی با Mock جایگزین میشود. آزمونها بهصورت Test Case نوشته میشوند و درنهایت بعد از نوشته شدن کد Refactoring صورت میگیرد. این فن که توسعه نرم افزار مبتنی بر آن انجام میشود باعث گردیده در نسخه های جدید خطاهای احتمالی به حداقل رسیده و کیفیت برنامه همواره رو به افزایش باشد. خلاصه فرآیند توسعه آزمون محور طبق نمودار زیر بیان شده است.
همچنین اصول SOLID آنقدر از اهمیت بالایی برخوردار هستند که یک سیستم سازمانی بدون رعایت چنین اصولی، قطعاً در درازمدت کارایی و کیفیت لازم را نخواهد داشت. در توسعه نرمافزار اصولی هستند که که توسعهدهندگان نرمافزار میتوانند از آنها برای ایجاد نرمافزارهای با طراحی خوب، کیفیت بالا و سهولت نگهداری استفاده کنند. این پنج اصل میبایست به کار گرفته شوند تا نرم افزار های فراگستر قابلیت TDD را داشته باشد.
ایجاد لایه کسب و کار
یکی از بخشهای اساسی در سیستم های سازمانی، لایه کسبوکار است. این لایه دربرگیرنده، قوانین، فرمولها و پردازشهایی است که میبایست بر رویدادهها انجام شود. نحوه ارتباط لایهها مختلف برنامه با لایه کسبوکار در شکل مشاهده میشود.
سیستم نیازمند یکلایه یکپارچه برای ارتباط با تمامی کانالهای ارتباطی است. این لایه یکپارچه ارتباط مستقیم با لایه کسبوکار دارد و از لایه کسب کار برای پاسخ به درخواستها استفاده مینماید.
پایگاه داده
آنچه ذخیرهسازی دادهها در پایگاههای دادهها را مؤثر میسازد وجود یک ساختار مفهومی برای ذخیرهسازی و روابط بین دادهها است. پایگاه داده در اصل مجموعهای سازمانیافته از اطلاعات است. نوعاً در یک پایگاه داده توصیف ساختیافتهای برای موجودیتهای نگهداری شده در پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته میشود. مدل توصیفی، اشیا پایگاههای داده و ارتباط بین آنها را نشان میدهد. نرمالسازی پایگاه دادهها یکی از اصول علم پایگاه دادهها از بین بردن افزونگی است. افزونگی به این معناست یک اطلاع خاص در چند محل مختلف پایگاه ذخیره شود. این امر موجب میشود که این خطر بالقوه به وجود آید که دادهها هرلحظه باهم در تضاد قرار گیرند و استخراج واقعیت از آنها غیرممکن شود بهبیاندیگر فرایندی است که بر اساس آن دادهها و اطلاعات در واحدهای منطقی به نام جدول به شکلی توزیع میشود که علاوه بر حفظ موجودیت دادهها از ایجاد پدیدهٔ افزونگی جلوگیری به عمل میآورد به این منظور برگههای نرمال متعددی تعریف و مورداستفاده قرار میگیرد، از این رو پایگاه داده سیستم های فراگستر در بهینه ترین حالت نرمال شده اند.
طراحی رابط کاربری
طراحی رابط کاربر یک ابزار ارتباطی مؤثر رابین انسان و کامپیوتر ایجاد میکند. اگر کاربرد نرمافزار دشوار باشد، اگر باعث اشتباه از سوی کاربر شود یا تلاشهای شمارا دررسیدن به اهدافتان ناکام بگذارد، در آن صورت علیرغم قدرت محاسباتی یا عملکرد آن، تمایلی به استفاده از آن نخواهد داشت. در سامانه های فراگستر بهرهگیری از قوانین طلایی تئومندل، برای طراحی واسط کاربر بسیار مهم است که شامل موارد زیر است.
- واگذاری کنترل به کاربر
- کاهش بار حافظه کاربر
- سازگار کردن رابط
تا هراندازه میتوان، میبایست از بار حافظه کاربر کاسته شود، هر چه الزام کاربر در حفظیات بیشتر باشد، میزان خطای او در تعامل با سیستم بیشتر خواهد بود. اصول طراحی بکارگرفته شده که رابط را قادر به کاهش بار حافظه کاربر میسازد عبارتند از:
- کاهش بار در حافظهی کوتاهمدت.
- ایجاد پیش گزیدههای معنیدار.
- تعیین میانبرهایی که شهودی هستند.
- طرح بصری رابط باید بر اساس استعارهی جهانی واقعی باشد.
- آشکارسازی اطلاعات به شیوهای تدریجی.
در بحث سازگار سازی رابط، شیوهی ارائه و کسب اطلاعات کاربر باید ثابت باشد. این بدان معناست که تمامی اطلاعات بصری طبق یک استاندارد طراحی ساماندهی میشوند که در تمامی نمایشهای صفحهی نمایش رعایت میگردد. مکانیسمهای ورودی به یک مجموعهی محدود ختم میشوند که همواره در سراسر برنامهی کاربردی و مکانیسمهای گذر از یک عمل به عمل دیگر بهطور پیوسته تعیینشده و پیاده میگردند.
حفظ ثبات در خانوادهی برنامههای کاربردی، این بدین معناست که اگر مدلهای پیشین انتظاراتی را در کاربر به وجود آوردهاند تا زمانی که دلیل قانعکنندهای ندارید از انجام تغییرات خودداری کنید.
شیوهی ارائه و کسب اطلاعات کاربر باید ثابت باشد. این بدان معناست که تمامی اطلاعات بصری طبق یک استاندارد طراحی ساماندهی میشوند که در تمامی نمایشهای صفحهی نمایش رعایت میگردد. مکانیسمهای ورودی به یک مجموعهی محدود ختم میشوند که همواره در سراسر برنامهی کاربردی و مکانیسمهای گذر از یک عمل به عمل دیگر بهطور پیوسته تعیینشده و پیاده میگردند. فرایند کلی طراحی رابط کاربر، با ایجاد مدلهای مختلف کارکرد سیستم آغاز میگردد. سپس وظایف انسانی و کامپیوتری لازم برای تحقق کارکرد سیستم توصیف میشوند، موضوعات طراحی که در تمام طراحیهای رابط کاربرد دارند مدنظر قرار میگیرند، برای الگوسازی و پیادهسازی نهایی مدل طراحی، ابزارهایی به کار میروند و نتیجه ازلحاظ کیفی ارزیابی میگردد.
در حین طراحی رابط کاربر، چهار مسئله معمول طراحی که به آن توجه ویزه شده است عبارتست از:
- زمان پاسخگویی سیستم.
- تسهیلات کمکی کاربر.
- خطا گردانی اطلاعات.
- برچسبگذاری فرمان.