مهندسی نرم افزار - بخش اول
سیستم چیست؟

تعریف سیستم:مجموعه ای از عناصر كه برای یك هدف مشخص با همدیگر در تعامل هستند.

:در زیر تعریف برخی از افراد  از سیستم را ارائه داده ایم

دوروسنه: مجموعه ای از عناصر در تعادل پویا كه بر حسب هدفی سازمان یافته اند.

فون برتالانفی: مجموعه ی واحدهایی كه بین خود دارای ارتباط متقابل هستند.

دوسوسور: مجموعه ی سازمان یافته ای مركب از عناصری متعدد است كه آنها را تنها در ارتباط با یكدیگر و بر حسب مكانی كه در این مجموعه دارند.

ژ-لاردیر: موضوعی پیچیده كه از عناصر مشخص تشكیل شده است. عناصر توسط روابطی با یك دیگر مرتبط هستند.

برای شناخت سیستم ها اصولاً از دو دیدگاه استفاده می كنند:

• مبتنی بر تجزیه و تركیب

• مبتنی بر تجرید و تعمیم

ویژگی های سیستم:

1. هر سیستم در یك محیط قرار می گیرد، بنابراین برای شناخت یك سیستم باید محیط آن را تشخیص داد.

2. یك سیستم در محیط خود دارای مرزی مشخص است، بنابراین باید سرحدات سیستم را شناخت.

3. سیستم دارای ورودی و خروجی است، ورودی را از محیط می گیرد و خروجی را به محیط می دهد. بنا براین برای شناخت سیستم باید ورودی و خروجی را تشخیص داد.

4. سیستم ها دارای روش استفاده هستند، بدین ترتیب ارتباط بین سیستم ها براساس چگونگی استفاده از آنها برقرار می شود. بنابراین برای ش ناخت یك سیستم باید مشخص كرد كه چگونه می توان از آن استفاده كرد.

5. یك سیستم ممكن است دارای چندین زیرسیستم باشد، برای نمونه سیستم دانشگاه دارای زیرسیستم های مالی، اداری، آموزشی و ... است. باید زیرسیستم ها را شناخت تا سیستم شناسایی شود. هر زیرسیستم خود نیز یك سیستم است.

6. سیستم هایی پایدار هستند كه دارای مكانیزم های كنترلی باشند. بنابراین می بایست جهت تعیین پایداری، مكانیزم های كنترلی را تشخیص داد.

7. كنترل سیستم به بازخورد و بعضی اوقات پیش خورد وابسته است.

8. یك سیستم دارای پارامترهایی است كه به پارامترهای اجرایی مربوط نمی شود و در سطح كل سیستم مطرح است. به عبارتی دیگر یك شی كلی یا كل ممكن است دارای اجزایی باشد كه ویژگی های كل را در مجموع نداشته باشد.

انواع سیستم ها:

• سیستم های تولیدی

• سیستم های پشتیبانی

• سیستم های اطلاعاتی

هدف ما در اینجا سیستم های اطلاعاتی است. این نوع سیستم ها در انجام سیستم های دیگر تاثیرگذار هستند. برخی از اطلاعات توسط پیغام ها حمل می شوند. یك سازمان نوع خاصی از سیستم است .

فعالیت های یك سازمان در مجموع به سه رده ی راهبردكی، عملیاتی و تاكتیكی تقسیم بندی می شود. راهبرد سازمان در واقع سیاست سازمان برای آتیه را مشخص می كند. روش دسترسی به اهداف را تاكتیك می گویند. لذا برای شناخت سازمان ها باید راهبرد، تاكتیك و عملیات آن سازمان را مورد شناسایی قرار داد. هر سیستمی دارای یك معماری است.

معماری اطلاعات:

معماری اطلاعات به راهبردی موثر در هدایت و گردش اطلاعات در سازمان ها تبدیل شده است . اما معماری سیستم های اطلاعاتی چیست؟

معمولاً معماری نه تنها ساختار بانك اطلاعاتی را در سیستم مد نظر دارد، بلكه مسیرهای گردش اطلاعات در داخل سیستم را نیز مشخص می نماید. بنابراین معماری اطلاعات را می توان حاوی اطلاعات تبادل شونده، بانك های اطلاعاتی و مسیرهایی كه اطلاعات در آنها حركت می كنند تعریف نمود. اصولاً سیستم های اطلاعاتی عبارتند از: دسته بندی اطلاعات و فرآیندها برای كسب بهترین كارایی.

جهت تعیین نیازها می توان معماری سیستم را مورد شناخت قرار داد. به عبارتی ، ابزاری جهت شناخت نیازها است. در نتیجه ، سوال هایی را در ذهن برمی انگیزد. چارچوب معماری سیستم اطلاعاتی در واقع طبقه بندی و سازماندهی اطلاعات را مشخص می كند. برای تعیین چارچوب س وال های زیر مشخص می شوند:

• چه چیز ؟

چارچوب باید مشخص كند كه:

1. سیستم از چه اجزایی تشكیل شده است؟

2. چه اجزایی فراهم شده اند تا سیستم ایجاد شود؟

3. چگونه این اجزا با یكدیگر مرتبط شده اند؟

4. از چه مكانیزم هایی برای اتصال اجزای سیستم به یكدیگر استفاده می شود؟

• چگونه ؟

یك چارچوب سیستم اطلاعاتی باید مشخص كند كه:

1. چگونه این سیستم كار می كند؟

2. چه چیزهایی جزییات یكپارچه ی سیستم را تشكیل می دهند؟

3. از چه ابزاری برای یكپارچگی اجزای سیستم استفاده می شود؟

• كجا ؟

یك چارچوب سیستم اطلاعاتی باید مشخص كند:

1. در چه جاهایی اجزا سیستم قرار دارند و با یكدیگر مرتبطند؟

2. توپولوژی اطلاعات و فرآیندها چیست؟

3. توپولوژی چگونه مدیریت می شود؟

• چه كسی ؟

چارچوب باید مشخص كند كه:

1. چه كسی با چه طبقه بندی و مجوز دسترسی، سیستم را مورد استفاده قرار می دهد؟

2. چگونه كاربران در تعامل با سیستم می باشند؟

3. چگونه دسترسی به منابع توسط كاربران كنترل می شود؟

• چه موقع ؟

چارچوب باید مشخص كند كه:

1. در چه زمان هایی چه رویدادهایی در سیستم اتفاق می افتد؟

2. ترتیب رویدادها چیست؟

• چرا ؟

چارچوب باید مشخص كند كه:

1. چرا سیستم های متفاوتی انتخاب می شوند؟

2. چه چیزی در زیربنای معماری یك سیستم قرار دارد؟

هدف ما تعیین نیاز است برای اینكه نیازها را مشخص كنیم می بایست بر روی عملكرد سیستم شناخت پیدا نماییم. اما سیستم های ما، سیستم های اطلاعاتی هستند و اجزای آنها اطلاعات و ارتباط بین اطلاعات، فرآیندهای ایجادكننده ی اطلاعات و نهایتاً كسانی هستند كه كمك می كنند تا این اطلاعات ایجاد شوند و یا اینكه از اطلاعات استفاده می كنند. بنابراین با تشخیص اجزای سیستم ها ی اطلاعاتی، سیستم ها را مورد شناسایی قرار می دهیم و بر مبنای شناخت، نیازها را تعیین می كنیم

هدف از تحلیل و طراحی سیستم
مهندسی نرم افزار : تحلیلگر، یک برنامه نویس با تجربه است که وظیفه تحلیل و طراحی سیستم را بر عهده دارد و با توجه به پست کاری که در اختیار دارد میزان تحلیل و برنامه نویسی آن تغییر می کند

هدف از تحلیل و طراحی سیستم

تحلیلگر، یك برنامه نویس با تجربه است.

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

• تحلیلگر سطح یك: 30 % تحلیل و طراحی، 70 % برنامه نویسی

• تحلیلگر سطح دو : 50 % تحلیل و طراحی، 50 % برنامه نویسی

• تحلیلگر سطح سه: 70 % تحلیل وطراحی، 30 % برنامه نویسی )اغلب ایجاد برنامه ی اولیه(

• تحلیلگر ارشد: 30 % مدیریت پروژه، 60 % تحلیل و طراحی، 10 % برنامه نویسی )اغلب ایجاد برنامه ی اولیه(

• تحلیلگر كل: 75 % مدیریت پروژه، 25 % تحلیل و طراحی

 

مجموعه ی مراحل لازم جهت تولید سیستم های كامپیوتری را چرخه ی حیات سیستم می نامند.

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

    تعریف كلی اعمال لازم برای تولید یك سیستم مكانیزه (كامپیوتری.
    هماهنگ نمودن پروژه های متفاوت برای مكانیزه نمودن یك سازمان.
    ایجاد معیارهای تصمیم گیری و كنترل برای مدیریت پروژه.

 

مراحل چرخه ی حیات وابسته به فرآیند نرم افزار می باشد.

فرآیند نرم افزار: فرآیند نرم افزار در واقع بیانگر چرخه ی حیات و مراحل تولید نرم افزار است . چرخه ی حیات  وابسته به متدولوژی تولید نرم افزار است مانند روش      .Extreme Programming

 

مدل خطی

• مدل سازی و مهندسی سیستم /اطلاعات: مهندسی سیستم دارای مراح ل گردآوری نیازهای

سیستم، تحلیل سطح بالا ، مهندسی اطلاعات گردآوری نیازهای اطلاعاتی در سطوح راهبردك است.

• تحلیل نیازهای نرم افزاری: نیازهای سیستم و نرم افزار هر دو مشخص می شوند.

• طراحی: شامل طرح معماری، ساختمان داده ها، رابط ، ارائه و جز ییات روال ها و الگوریتم ها است. در واقع در پروسه ی طراحی، نیازها به فرمی قابل ارزیابی تبدیل می شوند.

• تولید كد: ایجاد كد برنامه ها.

• آزمون نرم افزار : آزمون ورودی ، كد بر نامه ها و اطمینان از تولید خروج ی مورد انتظار بر اساس ورودی های داده شده.

• پشتیبانی: تغییرات به خاطر افزایش یا تغییر نیازها و یا تغییر محیط عملیاتی نرم افزار.

 

 

مشكلات روش خطی به طور خلاصه عبارتند از:

    تغییر در نیازمندی های مدل آبشاری دشوار است.
    كاربر نمی تواند در یك مرحله مستقیماً نیازهای خود را بیان كند.
    كاربر باید صبور باشد.
    طراحان بدون دلیل در كارشان وقفه ایجاد می شود.

 

 

مدل نمونه برداری

 

در صورتی كه كاربر فقط اهداف كلی را بداند و جز ییات امور و نیازهای خود را نتواند دقیقا مشخص

نماید، مهندس نرم افزار مجبور به ایجاد سریع نمونه هایی ابتدایی و محدود از عملكرد نرم افزار است .

پس از تعیین نمونه آن را عملا در مقابل كاربر به اجرا درآورده و نظریات اصلاحی وی را جویا می

شود. به این ترتیب پس از چندین مرحله اطلاعات كامل از كاربر گرفته شده و نرم افزار بطور دلخواه

ایجاد می شود. مراحل به شرح زیرهستند:

 

    تعیین نیازها: تعیین نیاز و اهداف پروژه ی تولید نرم افزار.
    طراحی سریع شامل ساختار ورودی/خروجی.
    تولید نمونه.
    ارائه و ارزیابی نمونه با كمك مشتری.
    تصحیح نیازها بر اساس ارزیابی.
    تكرار مراحل.
     

اصولاً نمونه برداری روشی برای تعیین نیازمندی های نرم افزار است.

مشكلات این روش به شرح زیر است:

    كل نیازهای سیستم جامع و مرتبط با یكدیگر در این روش دیده نمی شود.
    تسریع در تولید نرم افزار موجب ایجاد كد زائد بدون كارایی الگوریتم ها است.

 

مدل تولید سریع برنامه

 

تاكید بر تولید نرم افزار ب ین 60 تا 80 روز را دارد . مراحل این ،RAD  مدل تولید سریع برنامه ها

متدولوژی شامل:

• مدلسازی سیستم جاری : جریان اطلاعات بین واحدهای كاری جهت تعیین مبدا داده ها، پردازش های انجام شده بر روی داده ها و اطلاعات حاصل مشخص می شود.

• مدلسازی داده ها: تعیین داده های مورد نیاز.

• مدلسازی فر آیندها: تعیین عملیات لازم جهت ایجاد اطلاعات برای پیاده سازی یكی از امور كاری.

• تولید برنامه : با استفاده از امكانات سریع برنامه سازی مثل امكانات زبان های نسل چهارم و بهره بری مجدد از قطعات سریعاً برنامه ها ایجاد می شوند.

• آزمون برنامه ها.

مشكلات
برای پروژه های بزرگ افراد زیادی مورد نیاز است . این روش ، توسعه ی سیستم را با ریسك مواجه می كند، بخصوص برای سیستم های بزرگ میزان ریسك افزایش می یابد.

0
جستجو در سایت
استارت آپ ها

ایده ها برای استارت آپ موجب رونق کسب و کارهای اینترنتی

آینده / استارت آپ

استارت‌آپ‌ها ادبیات بازار سرمایه را بلدند؟

استارت آپ

صدور تاییدیه دانش بنیانی شتابدهنده صدر فردا

اخبار / استارت آپ

اپلیکیشن شارژاپ

گوناگون / استارت آپ / رپرتاژ آگهی / بازتاب

جذاب‌ترین ایده‌های B2B در سال 2020

استارت آپ

۱۰ استارتاپ که بدون سرمایه به سوددهی رسیدند

استارت آپ

ایده ها و پیشنهاد برای استارت آپ در سال جدید

راهکارها و ترفند ها / استارت آپ

استارت‌آپ ایرانی؛ مرجع اول زنان افغان

استارت آپ

شروع یک کسب و کار نوپا پلتفرمی

استارت آپ

برنامه شبکه اجتماعی تیندر

گوناگون / معرفی وب سایت / استارت آپ

10 استارت آپ برتر تاکسیرانی جهان

استارت آپ

پخت پیتزاهای هیجان انگیز با هوش مصنوعی

آینده / استارت آپ

ایده‌ های استارتاپی فراموش شده‌

دورنما / بازار / استارت آپ

اپل، استارتاپ فناوری خودران Drive.ai را تصاحب کرد

استارت آپ

بررسی مهمترین چالش‌های تیم‌های استارتاپی

استارت آپ

نگرانی کاربران از هزینه تعمیر و تامین قطعات

گفت و گو / بازار / استارت آپ

مصاحبه با مدیرعامل و بنیان‌گذار استارتاپ Moz

گفت و گو / استارت آپ

آشنایی با استارت آپ های حوزه مدیریت آب

استارت آپ

راه اندازی ۷۰ استارت آپ توسط نخبگان ایرانی

استارت آپ

معرفی هشت استارت‌آپ‌ موفق ایرانی در حوزه فینتک

استارت آپ

اولین مرورگر شرعی دنیا

استارت آپ

از صفر تا پیست

استارت آپ

معرفی برترین استارتاپ‌های CES 2019

اخبار / استارت آپ

تبلیغات
درباره ما

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

ما را در شبکه های اجتماعی دنبال کنید