آموزش اصول مهندسی نرم افزار

تعداد ویدئو 121
زمان دوره 04:56:45
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش اصول مهندسی نرم افزار یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی اصول مهندسی نرم افزار است که با نام اصلی Software Engineering Essentials از شرکت Pluralsight منتشر شده است.

مهندسی نرم افزار چیست؟

مهندسی نرم‌ افزار (Software Engineering) به معنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرم‌افزاری با کیفیت که قابل اطمینان و با صرفه بوده و بر روی ماشین‌ های واقعی به طور کارآمدی عمل کند. مهندسی نرم‌افزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرم‌ افزاری با کیفیت است. مهندسی نرم‌ افزار اغلب شامل فرایند خطی تحلیل، طراحی، پیاده‌سازی و آزمون است؛ که با به کارگیری روش‌ های فنی و علمی از علوم مهندسی موجب تولید نرم‌ افزاری با کیفیت مطلوب در طول یک فرایند انتخابی مناسب پروژه می‌شود.

Software-Engineering

کاربردهای مهندسی نرم‌ افزار دارای ارزش‌ های اجتماعی و اقتصادی هستند، زیرا بهره‌ وری مردم را بالا برده، چند و چون زندگی آنان را بهتر می‌کنند. مردم با بهره‌گیری از نرم‌ افزار، توانایی انجام کارهایی را دارند که قبل از آن برایشان شدنی نبود. نمونه‌ هایی از این دست نرم‌ افزارها عبارت‌ اند از: سامانه‌ های توکار، نرم‌ افزار اداری، بازی‌ های رایانه‌ ای و اینترنت.

این امر برای مشاغل بسیار مهم است زیرا به آنها کمک می کند تا از رقبا متمایز باشند و رقابت بیشتری هم داشته باشند. توسعه ی نرم افزار می تواند تجارب client را بهبود ببخشد و محصولاتی که پر از قابلیت و مبتکرانه هستند را به بازار عرضه کند و set up ها را با ایمنی، بهره وری و کارایی بیشتر انجام دهد. دیجیتال کردن اطلاعات و ذخیره سازی آنها بصورت آنلاین، نه تنها باعث صرفه جویی در فضا می شود بلکه آنها را یکپارچه و متمرکز می کند تا دسترسی افرادی که به این اطلاعات نیاز دارند، راحتتر باشد. همچنین محافظت از داده ها از افرادی که در خارج از سیستم هستند، آسان است.

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

  1. تجارت خود را ارتقا دهید: توسعه نرم افزار کسب وکار شما را به درجات بالاتری می رساند. به ارتقا و گسترش تجارت شما کمک می کند. زیرا باعث می شود برند شما از طریق رایانه یا تلفن همراه هوشمند برای همه و تقریباً در هر کجا قابل مشاهده باشد.
  2. فروش و خدمات را بهبود می بخشد: موضوع مهمی که باید بدانید این است که ببینید کاربران چه فکری در مورد برند و محصولات شما می کنند. اگر می خواهید نظر آنها را بدانید و همچنین می خواهید که انها نظر مثبتی بدهند، پس باید یک پلتفرم آنلاین داشته باشید تا کاربران بتوانند به راحتی با شما تماس بگیرند و نظر خود را در مورد محصولات و سریویس های شما به اشتراک بدهند.
  3. ارتباط مستقیم: توسعه نرم افزار تنها چیزی است که می تواند به شما در برقراری ارتباط مستقیم با کاربر کمک کند. هیچ استراتژی دیگری نمی تواند به شما در برقراری ارتباط مستقیم با کاربران کمک کند. این سریعترین راه برای افزایش آگاهی از برند شما است.
  4.  افزایش مشارکت کاربران: هر تجارتی می خواهد لیست کاربران وفادار خود را افزایش دهد. اما چگونه یک تجارت می تواند تعداد کاربران خود را افزایش دهد؟ پاسخ این سوال بازاریابی آنلاین است. کسب و کار ها  باید استراتژی های بازاریابی آنلاین را پیاده سازی کنند. شما می توانید با کمک یک برنامه تلفن همراه یا یک وبسایت، مشارکت کاربران را افزایش داده و بازخورد  آنها را به سمت خودتان برگردانید نه به سمت رقیب خود.
  5. به بازاریابی تجارت شما کمک می کند: توسعه نرم افزار به شما کمک می کند تا بازاریابی کسب و کار خود را انجام دهید. بنابراین محصولات و سرویس های شما را در هر مکانی بدون صرف هزینه اضافی یا زمان اضافی ارتقا می دهد. به این ترتیب کاربران شما می توانند از هرجای دنیا به شما دسترسی پیدا کنند.

 

سرفصل مطالب آموزش ویدئویی اصول مهندسی نرم افزار

فصل اول: معرفی

  • مقدمه
  • مهندسی نرم افزار چیست؟
  • فرآیند نرم افزار و مدل های فرآیندی (Process Models)
  • متدهای مهندسی نرم افزار
  • ابزارهای مهندسی نرم افزار
  • وظیفه ی مهندسی نرم افزار
  • مهندسی نرم افزار و مدیریت پروژه
  • SWEBOK و دانش نامه ی مهندسی نرم افزار
  • موضوع کامل بحث در این بسته ی آموزشی
  • جمع بندی

فصل دوم: فرآیندهای نرم افزار

  • مقدمه
  • مدل فرآیندی آبشاری (Waterfall) یا خطی (Linear)
  • مدل فرآیندی Iterative و Incremental
  • مدل فرآیندی Prototyping
  • مدل فرآیندی حلزونی (Spiral)
  • مدل فرآیندی چابک
  • مدل فرآیندی RUP
  • مدل های فرآیندی خاص
  • کدام یک از مدل های فرآیندی را استفاده کنیم؟
  • منابع بیشتر برای مطالعه
  • جمع بندی

فصل سوم: مهندسی نیازمندی ها

  • مقدمه
  • نیازمندهای سیستمی و کاربری
  • نیازمندی های Functional و Non-functional
  • فرایند مهندسی نیازمندی ها
  • نقش های مهم
  • استخراج نیازمندی ها
  • تجزیه و تحلیل نیازمندی ها
  • اهمیت مدل سازی در نیازمندی ها
  • استاندارسازی نیازمندی ها (Requirements Specification)
  • اعتبارسنجی نیازمندی ها
  • مدیریت نیازمندی ها
  • مهندسی نیازمندی ها در مقابل تجزیه و تحلیل تجاری
  • منابع بیشتر برای مطالعه
  • جمع بندی

فصل چهارم: مدل کردن نیازمندی ها بر اساس تجزیه و تحلیل ساختاری

  • مقدمه
  • متدهای تجزیه و تحلیل
  • تجزیه و تحلیل ساختارمند (Structured Analysis)
  • مدل سازی داده ها ERD
  • مدل های جریان اطلاعات و مدل های Functional (مباحث DFD و PSPEC)
  • مدل های رفتاری STD
  • مدل های رفتاری CFD و CSPEC
  • متد تجریه و تحلیل ساختارمند در تجزیه و تحلیل نیازمندی ها
  • اهمیت مدل سازی
  • منابع بیشتر برای مطالعه
  • جمع بندی

فصل پنجم: مدل کردن نیازمندی ها بر اساس تجزیه و تحلیل شی گرا

  • مقدمه
  • دلیل استفاده از تجریه و تحلیل شی گرا
  • روش های مختلف تجزیه و تحلیل و طراحی شی گرا
  • نقش UML در تجزیه و تحلیل شی گرا
  • مبحث 4+1 View Model
  • مدل سازی پویا و ایستا
  • ویئو سناریوهای Use Case
  • ویئو منطقی و Class Diagram
  • ویئو منطقی و Interaction Diagram
  • ویئو منطقی و State Machine Diagram
  • ویئو منطقی و Activity Diagram
  • مدل سازی نیازمندی های Non-functional
  • تجزیه و تحلیل شی گرا در RUP
  • تجزیه و تحلیل فرآیند تجاری
  • منابع بیشتر برای مطالعه
  • جمع بندی

فصل ششم: اصول طراحی

  • مقدمه
  • تجزیه و تحلیل در مقابل طراحی
  • نگاه به مدل سازی نیازمندی ها تا رسیدن به طراحی
  • طراحی در مقابل معماری
  • مثالی از معماری و طراحی
  • سطوح انتزاع Contextual و Conceptual و Logical و Physical
  • مباحث Viewpoint ها و View ها
  • سطوح انتزاع و ویئوها
  • نیازمندی های Non-functional و ویژگی های کیفی
  • توصیف معماری
  • جمع بندی

فصل هفتم: متدولوژی طراحی

  • مقدمه
  • متد طراحی ساختارمند
  • طراحی شی گرا
  • مشخص کردن NFR ها و سناریوهای مربوط به معماری
  • برنامه ریزی Iteration ها و Activity ها
  • تصمیم گیری در مورد Viewpoint ها و Notation ها
  • تجزیه کامپوننت های مربوط به معماری
  • مشخص کردن استایل های معماری موجود
  • ویئو پوینت Logical
  • ویئو پوینت Information
  • ویئو پوینت Process
  • ویئو پوینت Physical
  • ویئو پوینت Development
  • ویئو پوینت Operation
  • ویئو پوینت های دیگر
  • افزودن ویژگی های کیفی
  • متعدل کردن ویژگی های کیفی
  • اعتبارسنجی معماری
  • مشخص کردن الگوهای طراحی
  • انجام طراحی
  • منابع بیشتر برای مطالعه
  • جمع بندی

فصل هشتم: ساخت

  • مقدمه
  • از طراحی تا رسیدن به ساخت
  • اصول کدنویسی
  • تست کردن
  • مبحث یکپارچه سازی مکرر (Continuous Integration)
  • اتوماتیک کردن مدل فرآیندی
  • جمع بندی

فصل نهم: تست کردن

  • مقدمه
  • تفاوت تست کردن، کنترل کیفیت و تضمین کیفیت
  • از ساخت تا رسیدن به تست کردن
  • واژه های مهم در فرآیند تست کردن
  • مباحث مربوط به Test Plan ها، سناریوها، اسکریپت ها
  • استفاده از مدل V برای انجام Validation و Verification
  • تکنیک های تست کردن
  • سطوح تست کردن
  • اهداف تست کردن
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش اصول مهندسی نرم افزار”

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

دسته های محصولات

افزودن به سبد خرید