
برتریها و نقصهای تکنیکهای مختلف، نیاز یکپارچه سازی آنها را پررنگ میکند. این نیاز مدتها توسط کمیته پیاده سازی سیستمهای اطلاعاتی249 که میان متد250ومتدولوژی251 تفکیک قائل میشود، شناسایی شدهاست. متد رویهای برای بدست آوردن آنچه انجام شده میباشد. در حالیکه متدلوژی سطح
بالاتر و ایجاد انگیزش برای انتخاب میان متدهای مختلف است. (ایواری252 و دیگران، 1998)
برای مثال “چند منظری253” (ای، 1990) یک متدولوژی است که در آن پیاده سازی سیستم اطلاعاتی در 5 مرحله ترتیبی انجام میشود: آنالیز فعالیت بشری، آنالیز اطلاعات، آنالیز و طراحی جنبههای اجتماعی–تکنیکی، طراحی رابط کاربری بشر–کامپیوتر و طراحی جنبههای تکنیکی. در هر مرحله، چشم اندازهای مختلفی از طراحی دادهها وجود دارد.
خارج از کمیته پیاده سازی سیستمهای اطلاعاتی، متد و متدولوژی معمولاً به جای هم استفاده میشوند. در سالهای اخیر مهندسی قابلیت کاربری، امنیت و نرم افزار با هم ادغام شده اند. یک چهارچوب میتواند به عنوان ساختاری شامل قسمتهایی که با هم تنظیم و یکی شدهاند تعریف شود254.
Haley (هالی، 2007) مختصراً چهارچوب را به عنوان مجموعهای از نشان گذاریهای زمانی255 که به زمانیکه خروجیها باید تولید شده باشند اشاره دارد، تعریف میکند؛ و در پروسه به عنوان مراحلی که انجام میشوند تا خروجیها تولید شوند توصیف میشوند.
کلمنت256 (1986) در مورد فواید چهارچوب صحبت میکنند و معتقدند که پروسهها به ناچار با مجموعهای از خروجیها جایگزین میشوند تا آنچه که ذینفعان ممکن است به عنوان خروجی اینچنین پروسههایی انتظار داشته باشند را مدیریت کند. این گونه چهارچوبها به عنوان مدل پروسه نرم افزاری257 یا پارادایم پروسه258 شناخته شدهاند. (سامرویل، 2007)
3-8-
3-8-1- RUP259
RUPیک مثال ازچهارچوب اینچنینی است. RUP مدل پروسهای است که اصول بهترین نمونهها مانند پیاده سازی نرم افزار به صورت تکراری، مدیریت نیازمندیها و مدل کردن نرم افزار به صورت بصری و سازمان دهی شده را نگهداری میکند. RUP تعدادی تنظیمات از پیش تعریف شده را تعیین میکند، اما طراحان قادر به بهبود آنها در جهت نیازهای سازمانی خودشان هستند. RUP همچنین به وسیله نرم افزار مخصوص به خود حمایت میشود.
3-8-2- RESCUE
260RESCUEیک پروسه مدیریت نیازمندیهای کاربر محور است. (میدن261 وجونز262، 2004) اگرچه به طور صریح به عنوان چهار چوب تعریف نشدهاست. RESCUE شامل جریان مهندسی سیستم، مدل کردن فعالیت بشری و مدل کردن سیستم I*، آنالیز سناریو و مورد کاربرد و مدیریت نیازمندیها به صورت هم زمان میباشد.
مدل کردن فعالیت بشری شامل آنالیز راهی که فعالیت باید بپیماید و طبقه بندی نتایج آنالیز از جنبههای مختلف مانند دامنه کار، وظیفه و سازمان اجتماعی است. زمانیکه محدودیتهای سیستم پذیرفته شد، مدلهای وابستگی استراتژیI* برای نگاشت وابستگی شبکه ای مابین بازیگران و مدلهای استراتژیک استفاده شدهاست تا فعالیتها و روابط بنیادین میان بازیگران و منابع مرتبط، اهداف و وظایف را توصیف کند.
از آنجاییکه طبیعت فعالیت محور RESCUE بدین معنی است که عملیات هستهای سیستم باید توسط بازیگران آن انجام شود، نتایج شناسایی نیازمندیهای امنیتی ممکن است این فعالیتها را تغییر دهد.
نیازمندیهای امنیتی ممکن است منجر به تغییرات موارد کاربرد شود، اما وظایف تحلیلگر برای تشخیص موارد کاربردی که ممکن است غیر مفید باشند، همچنان باقی است. علاوه بر این، زمانیکه مشکلات بالقوه شناسایی شدند، تحلیلگر نیازمند بهبود و نگهداری روابط میان مدلهایI* و خروجیها است.
3-8-3- SQUARE263
SQUARE (آر. مید264 و دیگران، 2005 ) روشی است که هدف آن ایجاد امنیت در مراحل ابتدایی چرخه حیات پروژه است. این روش از طریق انجام گامهای زیر انجام میشود:
توافق بر سر مفاهیم، شناسایی اهداف امنیتی، تولید خروجیهای مورد نیاز برای پشتیبانی از نیازمندیهای امنیتی، ارزیابی ریسک، انتخاب تکنیکهای استخراج نیازمندیها، استخراج نیازمندیهای امنیتی، طبقه بندی نیازمندیها، اولویت بندی نیازمندیها، نظارت بر نیازمندیها.
البته انتخاب تکنیک استخراج با توجه به زمینه استفاده توصیف شدهاست. انتخاب تکنیکها برای تولید خروجیها نیست. با وجود اینکه چندین خروجی پیشنهاد شدهاست، رهنمودی برای انتخاب تکنیکهای مختلفی که ممکن است در هر گزارش استفاده شود، ارائه نشدهاست. کارهای اخیر آگاهی میدهند که نیازمندیهای امنیت اغلب استفاده می شوند. (آر. مید، 2010) اما این نیازمندیها میتوانند به هر فرمی که مفاهیم امنیتی را ایجاد کند استفاده شده باشند. با وجود این، از آنجاییکه نیازمندیها از اهداف سطح
بالای پروژه استخراج میشوند و خروجیها ممکن است با مشکلات غیر امنیتی در تضاد باشند، فرض شده که شناسایی نیازمندیهای سیستم امن، دلیل استفاده ازSQUARE است.
در حقیقت، SQUARE به عنوان قسمتی از یک پروژه بزرگ که نیازمندیهای امنیتی و غیر امنیتی، اهداف امنیتی و غیر امنیتی در ارتباط با هم را مدیریت میکند استفاده شدهاست.
3-9- جمع بندی
مدلهای زیادی در زمینه سیستمهای قابل کاربرد، قابل اعتماد و امن ارائه شدهاست که هر کدام معایب و مزایای خاص خود را دارند. اما نیاز به مدلی جامع که بتواند نیازهای کاربر را در راستای قابلیت اعتماد، کاربری و امنیت برآورده کند هنوز احساس میشود و تحقیقات انجام شده، کافی به نظر نمیرسد. مدل ارائه شده باید نیازهای کاربران و فاکتورهای اساسی و روابط میان آن ها را در نظر بگیرد تا به صورت کاربردی، مورد استفاده قرار گیرد.
فصل 4
ارائه مدل
4-
4-1- مقدمه
اغلب تحقیقات در این زمینه، روی نیازهای کاربر نهایی تمرکز دارند تا نیازهای طراح و مطالعات کمی در جهت اینکه چگونه طراحان باید به نگرانیهای امنیتی نزدیک شوند انجام شدهاست. ما به ابزاری نیازمندیم که برنامه نویس بتواند با استفاده از آن، نیازمندیهای سازمانی و امنیتی را شناسایی کرده و راه حلی برای برآوردن این نیازمندیها ارائه دهد. در این پروژه تلاش شده مدلی ارائه شود که نیازمندیهای قابلیت کاربری و امنیتی و عوامل مؤثر بر آن در نظر گرفته شود تا برنامه نویسان و مدیران پروژه با استناد و استفاده از آن بتوانند تمامی جوانب و عوامل مؤثر در طراحی سیستم قابل کاربرد و قابل اعتماد را در نظر بگیرند. (شکل 4-1)
مدل مذکور شامل مراحل زیر است که هر مرحله به تفضیل توصیف خواهد شد:
• فهمیدن و شناسایی زمینه استفاده
• جمع آوری و آنالیز نیازمندیها
• آنالیز ریسک
• طراحی نمونه آزمایشی
• تست و ارزیابی نمونه آزمایشی
• طراحی رابط کاربری و اقدامات امنیتی
• پیاده سازی سیستم
• تست و ارزیابی محصول نهایی
• تحویل به مشتری
شکل 4 – 1 – مدل کلی
3
4
4-1
4-2- فهمیدن و شناسایی زمینه استفاده
دادههای تجربی درباره کاربران و فعالیتهای آنها، باید طراحی را هدایت کند. زمانیکه یک سیستم تکنیکی در یک زمینه اجتماعی، به کار بسته میشود، نیازمندیهای سازمانی علاوه بر نیازمندیهای عملیاتی سر بر میآورند. ابزاری برای شناسایی آنها لازم است که برای طراحان سیستم معنادار باشد.
اولین نیاز سازمانی که یک سیستم تکنیکی دارد، این است که الزامات عملیاتی در جهت اهداف سازمانی ارائه شود. نیازمندیهای اینچنینی باید عملیات را به روشی که با ساختار، اهداف و خصوصیات سازمان منطبق باشند، اجرا کنند. این نیازمندیها در یک زمینه سازمانی که به عنوان نیازمندیهای سازمانی نامیده میشوند، قرار گرفتهاند. نیازمندیهای سازمانی اغلب آن هایی هستند که از خارج از سازمان، به دلیل قرار گرفتن در زمینه اجتماعی خاص، ناشی میشوند.
آگاهی از این نیازها، در مدیریت ساختار سازمان و ارتباطات داخلی میان گروهها و کارهای گروهی مفید خواهد بود. تعریف و گروه بندی کارها، به ایجاد انگیزش و رضایت از کار کمک میکند.
کیفیت استفاده از سیستم، شامل قابلیت استفاده، سلامتی و امنیت کاربر، وابسته به فهم کاملی از زمینه استفاده از سیستم است. بنابراین به تصویر کشیدن اطلاعات زمینهای بسیار مهم است.
برای فهم مناسب سیستم، شاید تشکیل جلسهای شامل ذینفعان و بازبینی زمینه استفاده کافی باشد اما برای سیستمهای پیچیده، شاید نیاز به تکمیل این روند با استفاده از آنالیز وظیفه و مطالعه کاربران موجود باشد.
باید توجه داشت که محصول تولید شده ممکن است برای کاربران با ویژگیهای خاص یا در زمینهای
خاص تولید شود. آنها اهداف خاصی دارند و وظایف خاصی را انجام میدهند. همچنین در رنج خاصی از شرایط تکنیکی، سازمانی، اجتماعی و محیطی که ممکن است روی استفاده اثر بگذارند، استفاده میشوند.
4-3- جمع آوری و آنالیز نیازمندیها
اجبارهای اقتصادی، دلیل فهم ابتدایی نیازهای ذینفعان است که منجر به ایجاد سیستمهایی برای رفع نیازهای کاربران، میشود.
اغلب شرکتهای نرم افزاری میان انتخاب نقطه آغازی معماری یا نیازمندیها تردید دارند و همواره نتیجه آن است که در یک پروسه آبشاری، نیازمندیها به مرحله بعد منتقل میشود. پروسه تکامل تدریجی که در آن برنامه نویسان به صورت مکرر تغییر ریسکهای پروژه را درجهت مدیریت تغییر نیازمندیها و سرمایه گذاری روی آنها، ارزیابی و رفع میکنند، برای رفع این مشکل تا اندازهای مفید است.
تفکیک مراحل مربوط به طراحی و نیازمندیها اغلب سخت است و ترتیب مصنوعی آنها، اغلب برنامه نویسان را به تمرکز روی هر جنبه در یک زمان مجبور میکند.
در حقیقت انتخاب معماری میتواند طراحان را ناگزیر به درنظر گرفتن نیازمندیهای ویژه و انتخاب نیازمندیها میتواند بر روی انتخاب معماری تأثیرگذار باشد. این مرحله از مهمترین مراحل در طراحی سیستمهای قابل کاربرد و قابل اعتماد است. به همین دلیل، این مرحله بسط داده شده تا با جزئیات بیشتری به عوامل دخیل و مؤثر در ایجاد نیازمندیها و روابط میان آنها بپردازیم و مدلی ارائه دهیم که عوامل مذکور و روابط میان آنها را به تصویر بکشد. (شکل 4-2)
شناسایی همه کاربران و ذینفعان مهم است تا مطمئن شویم که همه نیازهای کاربران و ذینفعان تأمین شده و در صورت نیاز، برای تست به آنها تحویل داده شود. کاربران مهمترین عناصر در طراحی قابلیت کاربری سیستم هستند. سیستم برای استفاده آنها طراحی میشود. در نتیجه، ویژگیهای فیزیکی، شناختی و نگرشی آنها در چگونگی طراحی سیستم مؤثر خواهد بود و طراحان باید این ویژگیها را در نظر بگیرند. ویژگیهای فیزیکی کاربران و میزان توانایی آنها، طراحان را به طراحیهای ویژهای محدود میکند. مثلاً کاربران نابینا، امکان خواندن هشدارها و اطلاعات روی صفحه را ندارند و این اطلاعات باید از طریق حواس دیگر، مثلاً حس شنوایی به آنها منتقل شود. این ویژگی، طراحان را به طراحی سیستمی خاص این کاربران ملزم میکند. اغلب اقدامات متقابل باید افراد را در سطوح مختلف در نظر بگیرد. کاربران میتوانند سطوح مختلفی از تجربه، دانش و مهارت را داشته باشند. طراحی سیستمی که به درستی تفاوت سطح مهارت و آموزش را تطبیق دهد، حیاتی است. ویژگیهای شناختی کاربران مانند میزان مهارت، دانش و تجربه آنها، طراحان را به سوی دیگری خواهد کشاند. طراحی سیستم برای کاربران خبره در زمینه IT و نیز زمینه استفاده سیستم، متفاوت از طراحی برای کاربرانی با مهارت، دانش و تجربه متوسط یا کم خواهد بود.
برای مثال: روالهای اجرای عملیات، هشدارهای
