جان جانان

متن مرتبط با «مهندسی» در سایت جان جانان نوشته شده است

Diagram-as-Code ؛ روشی برای رسم نمودار با متن + رسم نمودارهای مهندسی نرم‌افزار با کمک هوش مصنوعی

  • نیلوبلاگ

    یکی از چالش‌ها در مهندسی نرم‌افزار و البته در هر بحثی رسم اشکال است؛ نمودار یا دیاگرام و چارت و فلوچارت یا نمودار گردش کار و... رسم این‌ها نیاز به محیط گرافیکی دارد و انتقال آنها نیز به سادگی متن نیست. یک ابتکار جالب که مدتی است دارد جایگزین رسم دیاگرام می‌شود، «دیاگرام در قالب کد» است. در این حالت کاربر فقط کافی‌ست تعدادی دستور یا تابع را یاد بگیرد تا بتواند هر نموداری که خواست رسم کند. از آنجا که فعلاً هیچ سازمان بین‌المللی این مفهوم را استاندارد نکرده است، سایت‌های مختلف، روش‌های خاص خود را برای این کار معرفی کرده‌اند؛ برخی از آن‌ها عبارتند از: PlantUML و Mermain و ZenUML و... از بین موارد بالا به نظر می‌رسد Mermaid روان&z...

    ادامه مطلب
  • مهندسی اجتماعی در امنیت و سوء استفادههای سایبری و هک

  • نیلوبلاگ

    بخش Cypersecurity در سایت W3Schools حاوی مطالب جالبی است که می‌تواند به عنوان منبعی برای تدریس استفاده شود: https://www.w3schools.com/cybersecurity/index.php البته که غنای آن به جزوه امنیت خود ما که به تازگی منتشرش کرده‌ام نمی‌رسد: دانلود جزوه امنیت اما یکی از مباحث  جالب آن مبحث Social Engineering است. اکثر سوء استفاده‌های امنیتی (و حتی غیرامنیتی) مبتنی بر اصول مهندسی اجتماعی است. اصولی مانند آنچه در ادامه آمده: اکثر افراد در مواجهه با دیگران (به ویژه غریبه‌ها) با ادب رفتار می‌کنند. حرفه‌ای‌ها می‌خواهند که خود را آگاه و هوشمند جلوه دهند. اگر کسی از شما تعریف کند، معمولاً تمایل دارید که بیشتر صحبت کنید و چیزهای مخفی و سرّی را بیشتر لو ب...

    ادامه مطلب
  • روشهای کشف حقیقت ویژه درس مهندسی نرمافزار (Fact-finding techniques)

  • نیلوبلاگ

    دانشجویانی که با بنده درس مهندسی نرم‌افزار داشته باشند، یکی از کارهایی که باید در طول دوره انجام دهند، انتخاب یک «محیط عملیاتی» و تحلیل آن محیط است. یعنی طی کردن روالی که ما در اصطلاح به آن روال Fact-Finding (کشف حقایق) می‌گوییم. این روال، روالی است که هر تولیدکننده نرم‌افزاری باید در تولید هر نرم‌افزاری طی کند؛ همانطور که ما خودمان در آفتابگردان برای تولید هر نرم‌افزاری این روال را طی کرده‌ایم و خواهیم کرد. با توجه به اینکه دانشجویان ممکن است ابهاماتی در تهیه گزارش نهایی داشته باشند، توضیحاتی در این زمینه می‌دهم: اگر شما این درس را دارید، به عنوان پروژه‌ی این درس، باید روال زیر را طی کنید: ۱- بررسی قلمروهای مشابه (Similar Domains) این یک ا...

    ادامه مطلب
  • موضوعاتی برای ارائه در درس مهندسی نرمافزار پیشرفته و آزمون نرمافزار

  • نیلوبلاگ

    یک سری موضوع اینجا مطرح می‌کنم که برای دانشجویان کارشناسی، ارشد و دکترای نرم‌افزار به عنوان یک موضوع برای ارائه در دروسی مانند «مهندسی نرم‌افزار»، «مهندسی نرم‌افزار پیشرفته»، «آزمون نرم‌افزار» و «معماری نرم‌افزار» و دروس مشابه مفید خواهد بود. موضوع برای تحقیق و ارائه در درس مهندسی نرم‌افزار و معماری نرم‌افزار: ۱- نرم‌افزار اتکاپذیر چیست؟ ۲- مبحث مدیریت پروژه‌های نرم‌افزاری می‌توان یک پروژه‌ی نمونه را با MS Project یا دیگر ابزارهای مدیریت پروژه پیاده‌سازی کرد. ۳- مبحث پشتیبانی نرم‌افزارها ۴- ارائه یکی از مدل‌ها و متودولوژی‌های Agile / Lean / DevOps / Scrum / XP ...

    ادامه مطلب