تالار گفتمان مانشت

نسخه‌ی کامل: اصول برنامه نويسي و شروع كار با تحليل يك نمونه كار
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
به نام او
جدیدا مبحث برنامه نویسی تو مانشت رونق گرفته و بخشهای زیادی راجع بهش شروع به کار کردن.اما چیزی که این وسط کمبودش احساس میشه اصلی ترین بخش کار ه که تحلیل هست.به نظر من بهتره به این قسمت هم توجه خاصی بشه و دوستان صاحب تجربه به این قسمت هم رونق بدن.البته فقط یه نظره و میتونه با یه نمونه کار کوچک تعریف بشه و کم کم به تمام قسمتهای تحلیل طبق همون مثال کوچک پرداخته بشه.
یه جورایی تحلیل ، مهمترین کاریه که یه مهندس باید انجام بده.

چون اساسِ هر پروِژه ای که قراره انجام بشه ، تحلیل درست از سیستم مورد نظر هستش. و در واقع کل کار وابسته به تحلیله .

واگه تحلیل غلط باشه:

خشت اول چون نهد معمار کج
تا ثریا می رود دیوار کج
سلام
اولین چیزی که باید بهش دقت کنیم اینه که چرا تحلیل نیازمندی های نرم افزار یا به عبارتی تحلیل سیستم اهمیت داره؟

من بحث رو با ارائه تعریفی از پروژه موفق و پروژه شکست خورده شروع میکنم تا ببینیم که اصلا پروژه موفق و شکست خورده چیه و چه عواملی در موفقیت و شکست پروژها دخیال هستن تا از این نقطه به اهمیت تحلیل نیازمندی های نرم افزار منتقل بشیم.

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

تعریف پروژه شکست خورده: پروژه ای شکست خورده است که در زمان مشخص و با بودجه تعیین شده و کیفیت مطلوب به پایان نرسه.
که میشه برعکس تعریف پروژه موفق.
اول بپردازیم به اینکه چه عوامل در شکست پروژه نرم افزاری جایگاه بسزایی دارند.
در یک بررسی کلی میشه عومل مهم شکست پرژه های نرم افزاری رو سه عامل زیر دانست:
۱- ازدست دادن و گم کردن نیازمندی های استخراج شده از ذینفعان پروژه
۲- نیازمندی های مبهم و نا کافی
۳-تغییر نیازمندی ها
بعلاوه عواملی که تاثیر بسزای در شکست پروژه های نرم افزاری داشتند یکسری عوامل دیگه ای هم در شکست پروژه های نرم افزاری دخیل اند اما سهم کمی رو به خودشون اختصاص دادن .این عوامل شامل موارد زیر می باشد:
۱- زمانبندی غیر واقع بینانه
۲- نیروی انسانی ناکافی
۳- نداشتن مهارتهای تکنولوژیکی

حالا یک نگاه اجمالی هم به عوامل موفقیت پروزه های نرم افزاری بندازیم. این عوامل شامل موارد زیر می باشند:
۱- مشارکت کاربران
۲- حمایت مدیران اجرایی
۳- تعیین اهداف مشخص

با توجه به مطالبی که تا اینجا گفته شد و یکسری از آمار و ارقامهای که توسط شرکتهای معتبر دنیا منتشر شده این نتیجه گیری حاصل شده :
مهمترین عامل شکست پروژه های نرم افزاری مربوط به ضعف در تحلیل نیازمندی های سیستم های نرم افزاری می باشد.

در ادامه بحث میخوام بپردازم به جایگاه تحلیل نیازمندی ها در فرایند توسعه نرم افزار.

در فرایند توسعه نرم افزار:
نرم افزار از دانشکده ریاضی ظهور کرده. و در این دانشکده مسائل در دو مرحله حل میشد. در یک مرحله مساله مطرح میشد و در مرحله دیگه راه حل ارائه میشد. به این صورت:

راه حل < ---------------------------- مساله
چون تولید نرم افزار یک فرایند پیچیده هست و به یک باره نمی تونیم از نیازمندیها به راه حل منتقل بشیم. سر همین مشکل بود که
یکسری فازهای بین نیازمندیها و راه حل اضافه شد.
اگه فرایند اولیه توسعه نرم افزار به صورت زیر باشه:
نیازمندیها------------->پیاده سازی------------>نگهداری
به دلیل اینکه انتقال از فاز نیازمندیها به فاز پیاده سازی سخت بود فازی با نام طراحی به فرایند مذکور به صورت زیر اضافه شد:
نیازمندیها------------->طراحی --------------> پیاده سازی ------------>نگهداری
و در نهایت چون انتقال از فاز نیازمندیها به فاز طراحی مشکل بود یک فاز دیگری رو بین نیازمندیها و طراحی با عنوان فاز تحلیل اضافه کردنند. به صورت زیر:
نیازمندیها-------------> تحلیل -------------->طراحی --------------> پیاده سازی ------------>نگهداری

در ادامه موضوعاتی که تاکنون بحث شد فهرست می گردد.
تا اینجای بحث موارد زیر بررسی شد:
۱- تعریف پروژه موفق.
۲- تعریف پروژه شکست خورده.
۳- عوامل شکست پروژه های نرم افزاری.
۴- عوامل موفقیت پروژه های نرم افزاری.
۵- جایگاه تحلیل نیازمندیها در فرایند توسعه نرم افزار

در ادامه مراحل تحلیل نیازمندیهای نرم افزار به طور اجمال مطرح میشه و سپس هر مرحله با جزئیات بیشتر تشریح میشه.
مراحل تحلیل نیازمندیهای نرم افزار شامل موارد زیر می باشند:
1- تحلیل مساله(Problem Analysis)
2- شناسایی نیازهای ذینفعان(Identification Stakeholder Needs)
3- تعریف سیستم(Define The System)
دوستان داخل پرانتز خدمتتون عرض کنم که برای تحلیل نیازمندهای یک سیستم نرم افزاری ابتدا باید مفاهیم حوزه تحلیل نیازمندی ها به طور کامل و دقیق فهمیده بشه و سپس اقدام به تحلیل یک سیستم نمونه بکنیم.
بدون درک مفاهیم و تکنیک های تحلیل نیازمندی ها در این مورد کاری از پیش نمیشه برد. و بی شک هیچ فایده و سودی نخواهد داشت.
به خاطر همین هم هست که سعی کردم مطالب رو از ابتدا شروع کنم تا اینکه برسم به مطالب مهم تر یعنی سند چشم انداز(Vision Document)، سازماندهی مدل مورد کاربرد(Use case Model Structure) ، مدل تحلیل (Analysis Model) و نمونه اولیه(Prototype) که دستاوردهای اصلی فاز تحلیل نیازمندیها می باشد.
در ضمن یادآور میشم که از استانداردهای RUP برای دستاوردها استفاده خواهم کرد.
در آخر هم اگه خدا خواست یک Business رو انتخاب می کنیم و کار تحلیلش رو شروع می کنیم.
و اینکه در آخر دوستان فیدبک بدن و در موضوع مشارکت داشته باشن تا درصد یادگیری دوستان افزایش پیدا کنه.

<<<<که ره دور است و تاریک است و باریک به دوشم می کشم بار گران را>>>>
قبل از اینکه جلو برم تا بخوام مرحله تحلیل مساله رو با جزئیات بیشتری توضیح بدم لازم دونستم که دو تا اصطلاح رو تعریف کنم.یکی مساله و دیگر تحلیل مساله می باشد.
1- تعریف مساله: تفاوت بین آنچه که هست(وضعیت فعلی) با آنچه که انتظار می رود(وضعیت مطلوب).
2- تعریف تحلیل مساله: به فرایند شناسایی نیازها و مشکلات واقعی کاربران و ذینفعان و ارائه راه حل برای حل آنها تحلیل مساله گفته می شود.
حالا وقت اینه که پیش بریم و گامهای تحلیل مساله(Problem Analysis) رو با هم ببینیم.
همون طوری که قبلا ذکر شد یکی از مراحل تحلیل نیازمندیهای نرم افزار تحلیل مساله(Problem Analysis) می باشد.
این مرحله خودش به 5 گام تقسیم میشه که در هر گام یکسری کارها انجام میشه که در ادامه با جزئیات بیشتری هر گام تشریح خواهد شد:
1- توافق بر سر تعریف مساله.
2- شناسایی عوامل بروز مساله.
3- شناسایی کاربران و ذینفعان.
4- تعیین مرز سیستم.
5- شناسایی قیدهای راه حل.
دوستان عزیز در رابطه با مرجعی که برای بیان کردن مطالبی که تاکنون به محضر تون تقدیم داشتم نکته ای رو بیان کنم.
مرجع اصلی این کتاب "روش کاربردی تحلیل نیازمندی های نرم افزار" نوشته یوسف مهرداد بی بالان، پویا شهبازیان و مظفر ایراف می باشد.
عمیقا" تاکید می کنم که اگه دوستان وقت دارن این کتاب رو به طور کامل و ژرف مطالعه کنند.
هدفم از گفتن مطالب بالا صرفا و دقیقا و فقط به خاطر اینه که بگم مطالب ارائه شده مطالب موثق و معتبری هست که از منابع قابل قبول و معتبر به همراه تجربه نویسندگان کتاب می باشد.
حس کردم که اگه این مطالب رو بگم شاید دوستان برای خوندن مطالب بیشتر ترغیب بشن و با اطمینان خاطر بیشتری برای یادگیری مطالب وقت بزارن.
در اخر هم از دوستان عزیزی که مطالب رو می خون خواهش می کنم نظر خودشون رو بیان کنند.
سلام
خیلی ممنون زحمت می کشید خیلی مطالب تا اینجا پیچیده نبوده اما امیدوارم مثال آخرتون یک مساله پیچیده باشه نه مثل مسائلی که در کتابها می نویسند تا بتونیم ازش ایده بگیریم
موفق باشید
(29 تير 1394 11:40 ق.ظ)AliRezaJe نوشته شده توسط: [ -> ]دوستان عزیز در رابطه با مرجعی که برای بیان کردن مطالبی که تاکنون به محضر تون تقدیم داشتم نکته ای رو بیان کنم.
مرجع اصلی این کتاب "روش کاربردی تحلیل نیازمندی های نرم افزار" نوشته یوسف مهرداد بی بالان، پویا شهبازیان و مظفر ایراف می باشد.
عمیقا" تاکید می کنم که اگه دوستان وقت دارن این کتاب رو به طور کامل و ژرف مطالعه کنند.
با سپاس از مطالبی که بیان کردید؛
1) این کتاب توسط نویسندگان نوشته شده یا ترجمه شده؟
از این جهت که کتابهای اصلی به کتابهای ترجمه داده شده ترجیح داده می شن؛
2) اصول برنامه نویسی به اینکه چه زبان برنامه نویسی کار می شه ربط داره یا این اصول برای همه زبانها یکیه؟
3) اگر منابع دیگه ای هم می شناسید ممنون میشیم معرفی کنید.
صفحه‌ها: 1 2 3
لینک مرجع