نام پژوهشگر: بهمن زمانی
پیام گوران آیاز عیسی زاده
متدولوژی مجموعه ای از روش ها، فنون و ابزارهای تحلیل و طراحی سیستم است که در چهار چوب یک انگاره مدل سازی مبتنی بر یک الگوی مفهومی برای ساماندهی روند توسعه سیستم ها به روشی نظامند به کار بسته می شود. در مدل فرایند تولید و توسعه نرم افزار، مرحله بندی و تجزیه این فرایند به مراحل کوچک تر و مشخصات هر مرحله، مطابق با متدولوژی منتخب برای اجرای پروژه تشریح می شود. فرایندهای تولید و توسعه در هر پروژه نرم افزاری بسته به متدولوژی و مدل انتخابی متفاوت است. هنگامی که در مسئله ای آشفتگی و تلاطم وجود داشته باشد چابکی یکی از کلیدهای حل مسئله می باشد. متدولوژی های چابک، تطبیق پذیر هستند و خودشان را با تغییرات تطبیق می دهند. مدیریت دانش رویکردی است که به سرعت در حال تکامل و پیشرفت است و بر افزایش کارایی و بهبود اثر بخشی فرآیندهای سازمانی، همراه با نوآوری مستمر، توجه زیادی دارد. نیاز به مدیریت دانش، از این واقعیت سرچشمه می گیرد که دانش در عملکرد سازمانی و دسترسی به مزیت رقابتی پایدار، عنصری مهم تلقی می شود. متدولوژی های چابک بر روی دانش نهان تکیه می کنند که با تیم کاری مرتبط می باشد. برای مدیریت دانش کارآمد، هر دو دانش نهان و آشکار الزامی است. چالش واقعی مدیریت دانش در توانایی تشخیص و تسخیر دانش نهان است به طوری که در هنگام نیاز قابل بازیابی باشد. دانش نهان که در پروژه های چابک مورد استفاده قرار می گیرد قابل ثبت و انتقال نیست و تشخیص، تصرف و انتقال دانش مشکل می باشد. مدیریت دانش در پروژه های چابک شامل تصرف دانش، تجربیات با ارزش افزوده گروه کاری، آسان کردن بازیابی دوباره و نگهداری آن به عنوان دارایی تیم پروژه است. در این پایان نامه در ابتدا به مفهوم متدولوژی های سبک و سنگین و مقایسه آن ها و در ادامه به مفاهیم توسعه نرم افزارهای چابک و مقایسه انواع متدولوژی های چابک و توصیف یکی از پرکاربردترین آنها، پرداخته شده است. پس از آن در این پایان نامه به تشریح مفاهیم مدیریت دانش و مقایسه انواع مدل های آن پرداخته شده است. در مرحله بعدی سعی بر توصیف مدل نانوکا و تاکوچی به عنوان مدلی که بر دانش های نهان و آشکار استوار است پرداخته شده است. در انتها یک روش که ترکیبی از متدولوژی سریع، که تمام خصوصیات چابکی را در خود دارد و مدل نانوکا و تاکوچی، ارائه می دهیم. که این روش، راهکاری برای تبدیل دانش تیم درگیر پروژه(سرمایه انسانی) به دارایی مشترک سازمانی (سرمایه فکری ساختاری) است که بازگشت سرمایه تا حد قابل قبولی تضمین می گردد. در واقع با این روش اقداماتی را انجام می دهیم تا پروژه، سریع تر و هدفمندتر و اثربخش تر به اهداف خود برسد و جهت اثبات مدل ترکیبی به ارزیابی آن توسط دو تیم توسعه نرم افزار، قبل و بعد از اجرای این مدل پرداخته شده است.
مهدی جعفرزاده سامانی بهمن زمانی
افزایش استفاده از شبکه جهانی اینترنت، لزوم استفاده از ابزارهایی برای بهبود و تسریع در تبادل اطلاعات را اجتناب ناپذیر نموده است. معماری سرویس گرا به عنوان رویکردی منطقی جهت شناسایی، اشتراک، استفاده مجدد و ترکیب سرویس ها در یک محیط توزیع شده، به دنبال ابزاری برای عینیت بخشیدن به این ساختار می باشد. وب سرویس ها به عنوان نمونه عملیاتی از معماری سرویس گرا، این ابزار را برای عملیاتی کردن اصول و مشخصات این معماری فراهم می آورد. امروزه با توجه به افزایش وب سرویس های کاندیدا برای انجام یک وظیفه با پارامترهای کیفی مختلف، سرویس های ترکیبی بسیار زیادی قابل تولید می باشند؛ لذا ایجاد یک ترکیب پویای بهینه برای پاسخ گویی به درخواست کاربران به یک مسئله تصمیم گیری تبدیل شده است. علاوه براین معمولاً ارائه دهندگان سرویس ها نیز به دلیل وجود رقابت در این فضا، به منظور توسعه کسب و کار، افزایش سطح رضایت و تعداد مشتریان، بالا بردن فروش، کاهش خطا و در آخر برای افزایش سود دهی توافقاتی را با یکدیگر منعقد می نمایند که منجر به شکل گیری ارتباطاتی بین وب سرویس ها می گردد، که صفات کیفی مربوط به سرویس ها و محدودیت های کاربر و در نهایت کل ترکیب را تحت تأثیر قرار می دهد. این توافقات غالباً شروطی را به همراه دارد که درصورت برآورده شدن آن ها این ارتباطات شکل می گیرد. در این تحقیق از احتمال شرطی برای بیان وابستگی بین وب سرویس های کاندیدا از دو کلاس متفاوت استفاده شده و ترکیب بهینه با استفاده از این احتمال بدست آمده است. برای این منظور از تغییر تعداد سرویس های کاندیدا در مقابل تغییر درجه سطوح کیفی در هر کلاس سرویس و تاثیر آن در شکل گیری وابستگی های بین دو کلاس وب سرویس استفاده نموده است. که این وابستگی های بین وب سرویس ها موجب کاهش فضای نمونه و به تبع آن موجب افزایش سرعت جستجو در این فضای کوچک تر، نسبت به زمان عدم در نظر گرفتن وابستگی ها شده و سرعت رسیدن به ترکیب بهینه افزایش می یابد. بعلاوه استفاده از الگوریتم ژنتیک به عنوان روشی به منظور بهینه سازی با استفاده از تکنیک های نخبه گزینی، جهش ما را در رسیدن به جواب بهینه یاری می رساند.
اصغر ترکی هرچگانی بهمن زمانی
محاسبه و مدیریت اعتماد در شبکه های اقتضایی خودرویی از اهمیت ویژه ای برخوردار است. اعتماد بین وسایل نقلیه با توجه به دانش حاصل از دریافت گزارش ها و توصیه ها محاسبه می گردد. به دلیل وسعت و پویایی شبکه های اقتضایی خودرویی، به ندرت امکان استفاده از تجربیات جهت محاسبه اعتماد فراهم می گردد، لذا توصیه ها نقش موثری در محاسبه اعتماد دارند. در روش سنتی انتشار توصیه بین وسایل نقلیه، ظرفیت کانال ارتباطی به نحو نامناسبی از توصیه های با درجه اطمینان پایین اشغال می گردد. برای حل این مشکل ما از مفهوم رفاقت در جامعه برای افزایش اطمینان دانش وسایل نقلیه نسبت به قابلیت اعتماد گره های موجود در محیط استفاده می نماییم. در مدل اعتماد پویا، وسایل نقلیه ای که بیش از آستانه خاصی یکدیگر را مشاهده می نمایند تحت قالب دوست با یکدیگر گروه تشکیل می دهند. گره ها به طور پویا، بر اساس وضعیت جاری و تعداد مشاهده وسایل نقلیه دیگر، عضویت گروهی خود را به روز رسانی می نمایند. هر وسیله نقلیه فقط گزارش های اعتماد مربوط به هم گروهی های خود را به طور فراگیر منتشر می نماید. از آنجا که هم گروهی ها به طور مداوم یکدیگر را مشاهده می نمایند، تجربه زیادی در تعامل با یکدیگر داشته و به همین دلیل اطمینان گره ها از توصیه هایی که منتشر می نمایند بیش از روش سنتی می باشد. وسایل نقلیه علاوه بر انتشار توصیه مربوط به هم گروهی ها، در مورد قابلیت اعتماد جمعی دسته ای از گره ها که با یکدیگر گروه تشکیل داده اند، به هم گروهی های خود اطلاع رسانی می نمایند. شبیه سازی انجام شده نشان می دهد که روش پیشنهادی به دلیل استفاده از پروتکل انتشار توصیه رفاقتی پیام های کمتری را به طور فراگیر منتشر می نماید. پس مدل اعتماد گروهی پویا در شبکه های اقتضایی خودرویی، کارایی کانال ارتباطی را افزایش داده و توانایی افزایش دانش مفید برای محاسبه قابلیت اعتماد گره ها را فراهم می سازد. به علاوه، این روش به طور قابل ملاحظه ای فضای مورد نیاز جهت ذخیره سازی گزارش های اعتماد را کاهش می دهد.
امین رضائی بهمن زمانی
آزمون یکی از فعالیت های اصلی و مهم در فرآیند تولید نرم افزار و نیز اصلی ترین روش جهت ارزیابی کیفیت نرم افزار تولیدی است. انجام آزمون به صورت دستی و سنتی دارای معایبی چون پیچیدگی زیاد، زمان بر بودن و مستعد خطا بودن است. بنابراین، خودکارسازی آزمون و تولید بهینه ی موارد آزمون با قدرت کشف خطای بالا و در زمان مناسب، بسیار مهم می باشد. آزمون مبتنی بر مدل، رویکرد جدیدی است که برای آزمون نرم افزار مورد استفاده قرار می گیرد و هدف از آن، تولید خودکار موارد آزمون از روی مدل آزمون می باشد. در این پژوهش، روشی جدید جهت تولید بهینه ی موارد آزمون با استفاده از آزمون مبتنی بر مدل ارائه شده است. مدل آزمون مورد استفاده، متشکل از نمودار رده و ماشین حالت uml می باشد، که قیود و محدودیت های سیستم نیز توسط ocl بر روی این مدل درج می شوند. برای بیان قیود ocl، از ویژگی های نمودار رده استفاده می شود. همچنین اعمال موجود در نمودار رده می توانند دارای تعدادی پس/ پیش شرط باشند که به زبان ocl بیان می گردند. این اعمال می توانند به عنوان نتیجه ی انتقالاتِ نمودار حالت، مورد استفاده قرار گیرند. در روش ارائه شده، ابتدا توسط یک الگوریتم روبه جلو و عمق اول، مسیرهای انتزاعی از ماشین حالت، بر اساس معیارهای مشخصی انتخاب می شوند. سپس با استفاده از اجرای نمادین، مسیرهای انتزاعی تولید شده همراه با قیود موجود بر روی اجزای مسیر انتزاعی، به یک نمایش ریاضی در زبان ampl تبدیل می شوند. آن گاه مدل ریاضی تولید شده، با استفاده از حل کننده های به روز و قدرت مند که با ampl در ارتباط هستند، حل شده و داد ه های آزمون برای هر مسیر انتزاعی تولید می گردند. نهایتاً، این داده ها به موارد آزمون قابل اجرا تبدیل می شوند. جهت هدایت الگوریتم جست وجو و نیز به عنوان معیاری جهت سنجش کیفیت موارد آزمون تولیدی، از معیارهای پوشش استفاده شده است. همچنین، جهت افزایش قدرت کشف خطای الگوریتم، از تحلیل مقادیر مرزی جهت تولید داده های مرزی آزمون، استفاده شده است. با بهره گیری از حل کننده های مختلف، موارد آزمون از روی مسئله های گوناگون مانند مسئله های خطی، غیرخطی، تصمیم پذیر و تصمیم ناپذیر، که در مدل آزمون با استفاده از قیود ocl تعریف شده اند، تولید می گردد. همچنین، یک تبدیل مدل به مدل بر روی ماشین حالت مربوط به مدل آزمون، جهت تبدیل شبه حالت تاریخچه ی عمیق و کم عمق به شبه حالت انتخاب، ارائه می گردد. با استفاده از این تبدیل مدل به مدل، می توان انتظار داشت که موارد آزمون تولیدی از روی مدل تبدیل شده، تعداد خط بیشتری را در کد منبع مربوط به مدل آزمون مورد پوشش قرار دهند. بنابراین می توان انتظار داشت که نرخ کشف خطای بالاتری، نسبت به موارد آزمون تولیدی از روی مدل اصلی، داشته باشند.
محبوبه تقی زاده بهمن زمانی
آزمون، یکی از مراحل پرهزینه چرخه حیات نرم افزار است که عدم توجه به اجرای صحیح و اصولی آن مشکلات زیادی به بار می آورد. خودکارسازی آزمون موجب کاهش هزینه، زمان، تلاش و نیروی انسانی و افزایش سرعت، تکرارپذیری آزمون، نگهداری آسان مجموعه آزمون و انجام آزمون کامل تر با سطح پوشش بالاتر می شود. آزمون مبتنی بر مدل، روشی محبوب در جهت خودکارسازی آزمون است که با تکیه بر مدلی که توصیف کننده رفتار سیستم تحت آزمون است، مجموعه ای از موارد آزمون را تولید می کند. به دلیل استفاده از مدل رفتاری، این روش نیازهای وظیفه مندی را که مربوط به کارکردهای مورد انتظار کاربر نهایی از سیستم است، به خوبی پوشش می دهد. اما نیازهای غیروظیفه مندی که مربوط به کیفیت اجرای کارکردها و سیستم هستند، نادیده گرفته می شوند. امنیت یکی از مهمترین نیازهای غیروظیفه مندی است که کنترل دسترسی به عنوان یکی از ارکان مهم آن معرفی شده است. معمولاً در طراحی و توسعه نرم افزار، منابعی وجود دارد که نیاز است اطمینان حاصل شود فقط افراد خاص در سطح مجاز خود، قادر به دسترسی به آنها هستند، این اطمینان از طریق کنترل دسترسی حاصل می شود. در این پژوهش، با ترکیب مدل رفتاری و سیاست های کنترل دسترسی یک سیستم نرم افزاری، آزمون مبتنی بر مدل، چنان توسعه یافته است که قابلیت ارزیابی خودکار صحت پیاده سازی سیاست های کنترل دسترسی را نیز داشته باشد. تولید مجموعه آزمون منفی در کنار آزمون های مثبت، امکان کشف خطاهای ناشناخته را بیشتر می کند و این امر موجب برتری روش پیشنهادی نسبت به روش های مشابه شده است. همچنین استخراج خودکار مسیر آزمون از مدل و تأمین داده های آزمون به کمک حلال قیود، این روش را تبدیل به روشی تمام خودکار کرده است. روش پیشنهادی در قالب ابزاری در چارچوب .net طراحی و پیاده سازی شده است که با بهره مندی از مدل رفتاری و سیاست های کنترل دسترسی xacml قادر است مجموعه ای از آزمون های قابل اجرا را تولید کند. این مجموعه آزمون، سیستم تحت آزمون را از سطح واسط کاربر، مورد ارزیابی قرار می دهند و برای برنامه های دارای فرم که فوق العاده مستعد خطاهای کنترل دسترسی هستند، بسیار مناسب است. ارزیابی های انجام شده روی یک سیستم مدیریت کتابخانه که دارای مجموعه متنوعی از قوانین کنترل دسترسی است، نشان می دهد، مجموعه آزمون نهایی، قادر به کشف 95 درصد از نقص های مربوطه می باشد.
مریم بارانی بهمن زمانی
اشکال زدایی نرم افزار به صورت دستی فرایندی بسیار دشوار و پرهزینه است. مکان یابی و رفع خطاهای پنهان نرم افزار پرهزینه ترین عمل در فرایند اشکال زدایی برنامه است. تاکنون راهکارهای متعددی برای خودکارسازی مکان یابی خطا ارائه شده است. بسیاری ازاین راهکارها مکانیابی خطا را با فرض وجود یک خطا در هر بار اجرای برنامه انجام می دهند و پس از رفع یک خطا در برنامه، عملیات مکانیابی را مجدداً تکرار می کنند. فرض وجود یک خطا در هر بار اجرای برنامه فرضی غیر واقعی است و علاوه بر اینکه تأثیر وقوع چندین خطا را بر نتیجه برنامه در نظر نمی گیرد، به علّت کشف یک خطا در هر بار اجرای عملیات مکانیابی، سربار بالایی ایجاد کرده و این روش ها را ناکارآمد می سازد. در این تحقیق راهکاری جدید برای حل مسئله مکانیابی خطا با فرض وجود چندین خطا در هر بار اجرای برنامه ارائه شده است. روش پیشنهادی، با استفاده از خوشه بندی مبتنی بر چگالی(density based) گزاره های مظنون به خطای موجود در برنامه، خوشه هایی که به علت وجود یک خطا ایجاد می شوند را کشف و سپس با استفاده از الگوریتم liblit05 گزاره های مظنون به خطا در هر خوشه را شناسایی می نماید. نتایج ارزیابی نشان می دهد که در روش پیشنهادی این تحقیق برای مکانیابی خطاهای چندگانه نیاز به بررسی درصد کمتری از کد برنامه می باشد و این امر باعث کاهش هزینه اشکال زدایی برنامه میگردد.
احمد رفیعی شهرکی بهروز ترک لادانی
ماهیت شبکه¬های اقتضائی متحرک باعث شده تا استفاده از راه کارهای امنیتی و تحمل¬پذیری خطای ارائه شده برای شبکه¬های سیمی در این شبکه¬ها با مشکل مواجه گردد و لذا امنیت و تحمل¬پذیری خطا در آن¬ها تفاوت¬های اساسی با شبکه¬های سیمی داشته باشد. در سال¬های اخیر پروتکل¬های قابل اعتماد و قابل اطمینان به یکی از ابزارهای مهم جهت افزایش امنیت و تحمل¬پذیری خطا و کارایی اجزای شبکه¬های اقتضائی متحرک تبدیل شده¬اند. در پژوهش¬های متعددی از این ابزارها جهت افزایش کارایی، امنیت و تحمل¬پذیری خطا در مسیریابی، ارسال اطلاعات، اشتراک اطلاعات، کنترل دسترسی و موارد متعدد دیگری در شبکه¬های اقتضائی متحرک استفاده شده است. اما با توجه به چالش¬های باقی مانده هم¬چنان نیاز به تحقیق و توسعه در این زمینه وجود دارد. به عنوان مثال در اکثر راه کارهای ارائه شده به ارائه پروتکلی با پشتیبانی توأم از هر دو عامل اطمینان و اعتماد که سازگار با شرایط محیط و زمینه کاربردی باشد، توجهی نشده است. در این پژوهش، با توجه به خصوصیات ذاتی اعتماد و اطمینان و ماهیت شبکه¬های اقتضائی متحرک به استخراج نیازمندی¬های اعتماد و اطمینان در این شبکه¬ها پرداخته شده است. با توجه به این نیازمندی¬ها، نیازمندی¬های امنیتی و تحمل¬پذیری خطا از هم تفکیک شده¬اند. هر کدام از این نیازمندی¬ها مناسب برای کاربردها و شرایط خاصی از این شبکه¬ها در راستای پیاده¬سازی اعتماد و اطمینان می¬باشد. برای پشتیبانی از هر دو عامل اطمینان و اعتماد، یک پروتکل مطمئن و معتمد تحت عنوان rsr پیشنهاد شده است. این پروتکل بر مبنای پروتکل پایه aodv طراحی و توسعه یافته است. در پروتکل پیشنهادی با توجه به زمینه کاربرد، شرایط شبکه و احتمال وقوع خطا و رفتارهای خصمانه در شبکه، پارامترها در جهت پیاده¬سازی مناسب اعتماد و اطمینان تنظیم می¬گردد. rsr به¬صورت سازگار و وفق¬پذیر، متناسب با شرایط شبکه و میزان وقوع رفتارهای منفی و خطا و خرابی در شبکه، برقراری اعتماد و اطمینان را انجام می¬دهد و قابل گسترش برای استفاده در کاربردهای مختلف شبکه¬های اقتضائی متحرک می¬باشد. برای بررسی کارایی و قابلیت استفاده از پروتکل مطمئن و معتمد rsr، این پروتکل با استفاده از ابزار شبیه¬سازی در سناریوهای مختلف مورد ارزیابی قرار گرفته است. نتایج به¬دست آمده از شبیه¬سازی، بهبود کارایی کلی عملکرد شبکه در هنگام وقوع خطا و خرابی و بروز رفتارهای خصمانه در شبکه در مقایسه با پروتکل پایه aodv و دیگر پروتکل¬ها را نشان می¬دهد.
زهره جنابی بهمن زمانی
امروزه اطلاعات به عنوان یکی از باارزش ترین دارایی های سازمان ها و سیستم های اطلاعاتی محسوب می شود، از این رو امنیت اطلاعات خود یک دغدغه و چالش جدی محسوب می شود. امنیت اطلاعات سازوکاری است که اطلاعات را در برابرگستره وسیعی از تهدیدها محافظت می کند. یکی از راه های دستیابی به امنیت اطلاعات ایجاد یک سیستم مدیریت امنیت اطلاعات (isms) مبتنی بر اساس یکی از استانداردهای موجود بین المللی است. یک نکته قابل توجه در خصوص سیستم های مدیریت امنیت اطلاعات، از جمله سیستم های مبتنی بر استانداردهای مورد بحث توجه ویژه این سیستم ها و این استانداردها به مبحث مدیریت ریسک امنیت اطلاعات است. اهمیت به کارگیری مدیریت ریسک امنیت اطلاعات تا جایی است که می توان آن را قلب isms نامید. از طرفی، جنبه های مختلفی از مفهوم امنیت در فناوری اطلاعات و سیستم های اطلاعاتی وجود دارد. یکی از این جنبه ها تحلیل ریسک امنیت است که یک فعالیت اجتناب ناپذیر و حیاتی برای هر سازمان محسوب می شود. در این میان روش ها و استانداردهای مختلفی برای تحلیل ریسک امنیت وجود دارد. انتخاب یک استاندارد مناسب و تحقق و اطمینان از ارضای نیازهای امنیتی امری چالش برانگیز است چرا که توصیفات و راهنماهای این روش ها بسیار کلی هستند و نیاز به پالایش توسط کارشناسان امنیتی دارند. از سوی دیگر، زمانی که سازمان یا سیستم دچار تغییر یا به روزرسانی می شود نمی توان از ابتدا تحلیل ریسک امنیت را انجام داد. بنابراین نیاز به روشی است که نتایج تجزیه و تحلیل به آسانی قابل دسترسی و نگهداری و منطبق با یک استاندارد امنیتی باشد. برای رسیدن به این هدف یکی از روش ها استفاده از مدلسازی در تحلیل ریسک می باشد. مدلسازی از پیچیدگی تحلیل ریسک کاسته و سناریوها و علت وقوع ریسک ها و اهداف امنیتی را شبیه سازی کرده و از نتایج برای بهبود مستندسازی ریسک استفاده می شود. در میان استانداردهای موجود برای ایجاد یک سیستم مدیریت امنیت اطلاعات (isms)، استاندارد iso/iec 27001 به عنوان یکی از رایج ترین استانداردها مطرح است. هم چنین یکی از روش های تحلیل ریسک امنیت مبتنی بر مدل، روشی به نام coras است که می توان با توسعه آن مدل سازی ریسک های امنیتی را مطابق با استاندارد iso/iec 27001 برای استقرار یک isms انجام داد و جنبه های امنیتی آن را غنی تر کرد. از این رو در این پژوهش روشی مبتنی بر توسعه coras پیشنهاد شده است که می تواند مدلسازی تحلیل ریسک امنیت را با هدف پشتیبانی و انطباق با استانداردiso/iec 27001 انجام دهد. این روش با ارائه مدل های جدید، الگوها و قالب هایی نتایج تحلیل ریسک امنیت را منطبق با استانداردiso/iec 27001 برای ایجاد یک سیستم مدیریت امنیت اطلاعات ساختاردهی و مستندسازی می نماید. برای ارزیابی، روش پیشنهادی بر روی سناریویی از بانکداری الکترونیکی مورد مطالعه قرار گرفته است. نتایج این مطالعه به شکل مدل ها، قالب ها و آثاری برای مستندسازی نتایج تحلیل ریسک امنیت با هدف بهبود جنبه های امنیتی منطبق با استاندارد iso/iec 27001 ارائه گردیده است.