تولید نرم افزار خوب

طبق بررسی رادنت، هر فاز از مهندسی یا بازمهندسی نرم افزار نیاز به چک لیستی دارد تا بر اساس آن بازنگر ها بتوانند به صورت یکدست تر عملیات بازنگری را انجام دهند، مسلما این چک لیست ها چارچوب را مشخص نمی کنند و صرفا جهت کمک به بازنگران برای جامعیت بخشیدن به عملیات بازنگری خواهد بود.
رادنت در پروژه های کلان خود از این چک لیستها استفاده می کند و پیشنهاد می کند کلیه شرکتها و توسعه دهندگان بخصوص شرکت برنامه نویسی و شرکت تولید نرم افزار دیگر هم این الگو را برای ایجاد یک زبان مشترک پیاده سازی کنند.
همچنین بخش تولید و توسعه رادنت اعتقاد دارد که در اختیار قراردادن این چک لیستها به تیم های مختلف تولید؛ باعث ایجاد دیدی متفاوت در تولید نرم افزار می شود.

چک لیست مورد نیاز برای بازنگری طراحی قابلیت :

بخش عمومی نرم افزار :

آیا تمامی نیازمندی های تعریف شده در طراحی وجود دارد؟
آیا طراحی به اندازه کافی دقیق و شفاف است؟
آیا طرح را می توان توسط چندین توسعه دهنده پیاده سازی کرد؟
آیا روال حرکتی اطلاعات در طول چرخه حیات آن ها به درستی طراحی شده است؟
آیا تمامی وضعیت های موجودیت کشف شده در نیازسنجی به صورت کامل در طراحی آورده شده است؟
آیا استثنائات موجودیت ها و قابلیت ها به درستی مشخص شده است؟
آیا موجودیت های کشف شده در نیازسنجی به درستی به کلاس تبدیل شده اند؟
آیا ارتباطات کشف شده بین موجودیت های کشف شده در نیازسنجی به درستی تبدیل به کلاس یا رابطه شده اند؟ آیا نیاز به تولید کلاس های واسط برای نمایش ارتباطات بین موجودیت ها به درستی رفع شده است؟

بخش دیتابیس نرم افزار:

آیا موجودیت ها به درستی به جداول تبدیل شده اند؟
آیا جداول نرمال سازی شده اند؟
آیا به کارایی گزارشات توجه شده است؟
آیا ارتباطات بین جداول به درستی برقرار شده است؟
آیا تریگر ها و ایندکس گذاری ها به درستی رعایت شده است؟
در صورت تغییر در ساختار جدول های موجود آیا پلنی برای تبدیل داده ها به ساختار جدید در نظر گرفته شده است؟
آیا ستون های جدول ها به درستی با خصوصیات کلاس های تعریف شده متناظر هستند؟
آیا محدودیت های مقادیر خصوصیات موجودیت ها به درستی اعمال شده است؟

بخش بیزینس نرم افزار:

آیا خصوصیات کلاس ها به درستی مستند شده اند؟
آیا عملکرد های موجودیت ها کامل هستند؟
آیا ورودی ها و خروجی های عملکرد ها شفاف هستند؟
آیا وظایف عملکرد ها به روشنی بیان شده است؟
آیا نوع عملکرد ها از لحاظ انواع رویدادها به صورت درستی مشخص شده است؟
آیا عملکرد ها به درستی تفکیک و شکسته شده اند و آیا از لحاظ منطقی دارای همپوشانی هستند؟
آیا در طراحی تاثیر سایر قابلیت ها بر روی قابلیت به درستی تفکیک و مهار شده است؟
آیا تمامی قابلیت های موثر، در قابلیت در حال طراحی، و برعکس ،شناخته و مشخص شده است؟
آیا بیزینسی وجود دارد که باعث تاثیر روی سایر بیزینس ها شود؟ آیا تاثیرات آن مهار شده است؟

بخش معماری نرم افزار:

آیا ساختار اینترفیس های لایه بیزینس؛ repository و UI بر اساس معماری جدید به درستی تعریف شده است ؟
آیا تفکیک لایه ها به درستی صورت گرفته است؟
آیا استقلال عملکرد ها به درستی رعایت شده است؟
آیا برای انجام کارها از تکنولوژی های درستی استفاده شده است؟
آیا ارتباط بین کامپوننت های سخت افزاری به درستی رعایت شده است؟

بخش UX نرم افزار:

آیا استفاده از UI طراحی شده برای عملکردها آسان است ؟
آیا به تعداد کلیک و استفاده بهینه از کیبورد و موس توجه شده است؟
آیا UI طراحی شده دارای رنگ بندی مناسب است ؟
آیا اطلاعات مهم در دسترس و دید کاربر هستند؟
آیا قابلیت های UI واضح است ؟
آیا روال حرکتی بین صفحات به درستی طراحی شده است؟
آیا تمامی اطلاعات مورد نیاز کاربر نمایش داده می شود؟
آیا قابلیت های در دسترس کاربر، کامل در طرح آورده شده است؟

توسعه پذیری نرم افزار:

آیا طراحی انجام شده ریسکی برای توسعه پذیری نرم افزار دارد؟
آیا پیچیدگی ها به طرز مناسبی شکسته شده است که همچنان نرم افزار توسعه پذیر باقی بماند؟
آیا طرح ایجاد محدودیت برای سایر قابلیت های نرم افزار می کند؟ آیا این محدودیت ها مهار شده اند؟

کارایی نرم افزار:

آیا در تمامی بخش ها برای بالا بردن کارایی فکر شده است؟
آیا کارایی الگوریتم های استفاده شده مناسب است؟
آیا تکنولوژی های انتخاب شده دارای کارایی مناسبی برای انجام امور قابلیت هستند؟
آیا در طرح، به همزمانی انجام کارها توسط چندین کاربر توجه شده است؟
آیا در طرح به شیوه های مناسب برای کش داده یا انجام سریعتر عملیات ها فکر شده است؟

امنیت نرم افزار :
آیا دسترسی ها به عملیات ها و داده ها به صورت شفافی مستند شده اند؟
آیا روال یا طرحی وجود دارد که باعث ایجاد حفره منطقی در امنیت نرم افزار شود؟
آیا طراحی خطری برای امنیت سایر قابلیت های نرم افزار یا سایر نرم افزار های مرتبط ایجاد می کند؟
آیا استفاده کننده از قابلیت و سطح دسترسی آن به صورت شفافی مشخص شده است؟

تیم محتوی رادنت

شرکت فناوری اطلاعات رادنت آتیه از سال 1389 فعالیت خود را در تشکیل و جمع آوری تیم نرم افزاری از دانشگاه های رتبه اول کشور آغاز نمود و بعد از انجام چندین پروژه موفق و مشاوره های سودمند به دولت خدمتگذار و به منظور پاسخدهی کلان نرم افزاری اقدام به ثبت نام رادنت در روزنامه رسمی شماره 20316 مورخ 12/09/93 نمود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *