جزوه تایپ شده آنالیز دستگاهی
خلاصه کتاب آنالیز دستگاهی داروسازی اسکوگ پوران پژوهش دکتر خلیلی دکتر میرشکرایی دکتر مهناز قمی دکتر حجت دکتر گیتی میرمحمد صادقی داروسازی و
؟ ؟ ؟ ؟ ؟ ؟
؛ ً بم کنترل گر تولید مطلع بود، اما در آن زمان هیچ چیزی در مورد مهندسی نرم افزار و حتی در مورد زمانبندی و ردیابی پروژه نمی دانست. رئیس او به مهندس جوان اطلاع داد که پروژه باید در 2 ماه به پایان برسد. بنابریان او رویکردی را در نظر گرفت و نوشتن کد را آغاز کرد. پس از 2 هفته، رئیس، او را به دفتر خود فرا خواند و از اوضاع پرسید. مهندس جوان با شور و شوق جوانی گفت: “اوضاع واقعاً عالی است و این کار، بسیار ساده تر از چیزی است که فکر می کردم. احتمالاً نزدیک به 75 جزوه آنالیز دستگاهی کار انجام شده است. ” رئیس لبخندی زد و مهندس جوان را تشویق کرد تا کار خود را ادامه دهد. آن ها برای هفته بعد، قرار ملاقات گذاشتند. یک هفته بعد، رئیس مهندس را وارد دفتر خود کرد و پرسید: “اوضاع چطور است؟”جوان گفت: “همه چیز خوب پیش می رود، اما به چند مشکل کوچک برخورد کرده ام که آن ها را برطرف می کنم و به زودی به مسیر اصلی برمی گردم.” رئیس پرسید: “نظرت راجع به مهلت تحویل چیست؟” مهندس گفت: “مشکلی نیست. تقریباً 90 درصد کار، انجام شده است.” اگر بیش از چند سال است که در دنیای نرم افزار کار می کنید، می توانید انتهای داستان را حدس بزنید. بعید نیست که مهندس جوان در کل مدت پروژه، در همان 90 درصد انجام شده درجا بزند و (با کمک دیگران) پس از 1 ماه تاخیر، پروژه را به پایان برساند. این داستان طی پنج دهه گذشته صدها هزار بار توسط توسعه دهندگان نرم افزار تکرار شده است. اما سؤالی که پیش می آید، علت این امر است.

آنالیز دستگاهی
1-25 اظهار نظر در مورد برآورد
برنامه ریزی شما را ملزم به تعهدی اولیه می کند، حتی اگر ثابت شود که این “تعهد” اشتباه است. هر زمان که برآوردها انجام می شود، باید به آینده نگاه کنید و تا حدی بلاتکلیفی را به عنوان یک امر طبیعی بپذیرید. برآورد کردن به همان اندازه که علم است، هنر نیز می باشد و نباید به طور اتفاقی انجام شود. از آنجا که برآورد، پایه ای برای سایر اقدامات برنامه ریزی پروژه است و برنامه ریزی پروژه، نقشه راه مهندسی نرم افزار موفق را ارائه می دهد، و شروع کار بدون آن توصیه نمی شود. برآورد منابع، هزینه و برنامه زمانبندی توسعه نرم افزار مستلزم تجربه، دسترسی به اطلاعات خوب از گذشته (به عنوان مثال، واحدهای فرآیند و آنالیز دستگاهی) و شجاعت برای متعهد شدن به پیش بینی های کمی در صورت وجود اطلاعات کیفی است. برآورد دارای خطری ذاتی است و این خطر جزوه آنالیز دستگاهی به بلاتکلیفی می شود. پیچیدگی پروژه، اندازه پروژه و درجه بلاتکلیفی ساختاری، همگی بر قابلیت اطمینان برآوردها تأثیر می گذارند. پیچیدگی پروژه تأثیر شدیدی بر بلاتکلیفی ذاتی برنامه ریزی دارد. با این حال، پیچیدگی یک معیار نسبی است که تحت تأثیر آشنایی با تلاش های گذشته قرار می گیرد. اولین توسعه دهنده یک برنامه تجارت الکترونیک پیچیده ممکن است آن را بسیار پیچیده در نظر بگیرد. با این حال، یک تیم مهندسی وب که دهمین WebApp تجارت الکترونیکی خود را توسعه می دهد، چنین کاری را ساده و نه چندان پیچیده در نظر می گیرد. تعدادی معیار کمی برای پیچیدگی نرم افزار پیشنهاد شده است؛ اما به ندرت از آن ها در پروژه های دنیای واقعی استفاده می شود. با این حال، ارزیابی های ذهنی پیچیدگی (به عنوان مثال، عوامل تنظیم پیچیدگی نقطه عملکرد توصیف شده در بخش 25.6)، می توانند در مراحل اولیه برنامه ریزی مشخص شوند. اندازه پروژه یکی دیگر از عوامل مهم است که می تواند بر دقت و کارایی برآورد ها تأثیر بگذارد. با افزایش اندازه، وابستگی متقابل بین عناصر مختلف نرم افزار به سرعت افزایش می یابد. تجزیه مشکل، که یک رویکرد مهم برای برآورد است، با گذشت زمان دشوارتر می شود؛ زیرا اصلاح عناصر مشکل می تواند همچنان پیچیده باشد. به بیان قانون مورفی: “آنچه ممکن است اشتباه پیش برود، اشتباه خواهد شد” و اگر موارد بیشتری وجود داشته باشد که ممکن است شکست بخورد، موارد بیشتری شکست خواهند خورد. میزان بلاتکلیف ساختاری نیز بر برآورد خطرات احتمالی تأثیر دارد. در این زمینه، ساختار به میزان تثبیت الزامات، سهولت تقسیم بندی عملکردها و ماهیت سلسله مراتبی اطلاعاتی که باید پردازش شوند، اشاره دارد. در دسترس بودن اطلاعات گذشته تأثیر زیادی بر برآورد خطرات احتمالی دارد. با نگاهی به گذشته، می توانید از عملکردهای مثبت تقلید کرده و مشکلات بهبود بخشید. وقتی معیارهای نرم افزاری جامع (فصل 23) برای پروژه های گذشته در دسترس باشد، می توان با اطمینان بیشتری برآوردها را انجام داد، برنامه هایی برای جلوگیری از مشکلات گذشته تعیین کرد و خطرات احتمالی را کاهش داد. اگر درک محدوده پروژه ضعیف باشد یا الزامات پروژه در معرض تغییر باشد، بلاتکلیفی و خطر برآورد به طور خطرناکی بالا می رود. به عنوان یک برنامه ریز، شما و مشتری باید تشخیص دهید که تنوع در الزامات نرم افزار، به معنای بی ثباتی در هزینه و برنامه است. با این حال، نباید در هنگام برآورد، وسواس به خرج دهید. رویکردهای مهندسی نرم افزار مدرن (به عنوان مثال ، مدل های فرایند تکاملی)، یک دیدگاه تکراری از توسعه را در نظر می گیرند. در چنین رویکردهایی، ممکن است مجدداً برآوردها (از آنجا که اطلاعات بیشتری در دست است)، آنالیز دستگاهی شوند و هنگامی که سهامداران در الزامات یا برنامه ها تغییر ایجاد می کنند، آن ها را مورد تجدید نظر قرار دهند.
2-25 فرآیند برنامه ریزی پروژه
هدف از برنامه ریزی پروژه نرم افزاری ارائه چارچوبی است که مدیر را قادر می سازد تا برآوردی منطقی از منابع، هزینه و زمان بندی را ارائه کند. علاوه بر این، برآوردها باید فیلمنامه های بهترین و بدترین حالت را تعریف کنند تا بتوان نتایج پروژه را محدود کرد. علیرغم وجود بلاتکلیفی جزوه آنالیز دستگاهی ، تیم نرم افزاری طرحی را آغاز می کند که در نتیجه مجموعه وظایف برنامه ریزی پروژه ایجاد شده است.بنابراین، برنامه باید با پیشرفت پروژه سازگار و به روز شود. در بخش های بعدی، هر یک از فعالیت های مرتبط با مجموعه وظایف برنامه ریزی پروژه نرم افزاری، مورد بحث قرار می گیرد.
دانستنی ها: مجموعه وظایف در برنامه ریزی پروژه
1. ایجاد محدوده پروژه.
2. تعیین امکان سنجی
3. تجزیه و تحلیل خطرات (فصل 26).
4. تعریف منابع مورد نیاز
آ. تعیین نیروی انسانی مورد نیاز
ب. تعریف منابع نرم افزاری قابل استفاده مجدد
ج. شناسایی منابع محیطی
5. برآورد هزینه و تلاش
آ. تجزیه مشکل
ب. ایجاد دو یا چند برآورد با استفاده از اندازه، نقاط عملکرد، وظایف پردازش یا موارد کاربری
ج تطبیق برآوردها با یکدیگر
6. تهیه یک برنامه اولیه برای پروژه (بخش 25.11)
آ. ایجاد یک مجموعه هدفمند از وظایف
ب. تعریف یک شبکه از وظایف
ج. استفاده از ابزارهای زمان بندی برای توسعه نمودار زمان
د. تعریف مکانیسم های ردیابی برنامه
دانلود رایگان خلاصه کتاب جزوه آنالیز دستگاهی کامل پی دی اف pdf
7. تکرار مراحل 1 تا 6 را تا ایجاد یک برنامه جزوه آنالیز دستگاهی برای هر نمونه اولیه؛ همزمان با مشخص شدن محدوده هر نمونه اولیه
3-25 محدوده و امکان پذیری پروژه
وظیفه محدوده نرم افزاری، شرح عملکردها و ویژگی هایی را که باید به کاربران نهایی تحویل داده شود، داده های ورودی و خروجی، “محتوایی” که در نتیجه استفاده از نرم افزار به کاربران ارائه می شود، و عملکرد، محدودیت ها، رابط ها و قابلیت اطمینان محدودکننده سیستم می باشد.
تصویر 1-25
محدوده را می توان با ایجاد مجموعه ای از آنالیز دستگاهی کاربری که با کاربران نهایی توسعه یافته است، تعریف کرد.عملکردهای توصیف شده در موارد کاربری ارزیابی می شوند و در برخی موارد تصحیح می شوند تا قبل از شروع برآورد، جزئیات بیشتری ارائه دهند. از آنجا که هم برآورد هزینه و هم برنامه زمانبندی عملکردی هستند، کمی تجزیه اغلب مفید خواهد بود. ملاحظات عملکرد، اغلب الزامات پردازش و زمان پاسخ را محدود می کند. پس از مشخص شدن محدوده (با موافقت مشتری)، منطقی است که بپرسیم: “آیا می توانیم نرم افزاری برای برآورده ساختن این محدوده بسازیم؟ آیا این پروژه امکان پذیر است؟” اغلب اوقات، مهندسان نرم افزار با عجله این سوالات را پشت سر می گذارند (یا مدیران بی حوصله یا سایر سهامداران از کنار آن ها می گذرند) و تنها غرق در پروژه ای می شوند که از ابتدا محکوم به فنا بوده است. شما باید امکان ایجاد سیستم با استفاده از فناوری موجود، دلار، زمان و سایر منابع موجود را تعیین شود. امکان سنجی پروژه مهم است، اما توجه به نیازهای تجاری از اهمیت بیشتری برخوردار آنالیز دستگاهی. ساختن یک سیستم یا محصول با تکنولوژی بالا که طرفداری ندارد، فایده ای ندارد.
4-25 منابع
پس از تعیین محدوده، باید منابع مورد نیاز برای ساختن نرم افزار اجراکننده مجموعه موارد کاربری توصیف کننده ویژگی ها و عملکردهای نرم افزار را تعریف کرد. شکل 25.1 سه دسته اصلی منابع مهندسی نرم افزار، یعنی افراد، اجزای نرم افزاری قابل استفاده مجدد و محیط توسعه (سخت افزار و ابزارهای نرم افزاری) را نشان می دهد.
تصویر 1-25
هر منبع با چهار ویژگی مشخص می شود: شرح منبع، میزان در دسترس بودن، زمان نیاز به منبع و مدت زمانی که منبع مورد استفاده قرار می گیرد. دو ویژگی آخر را می توان به عنوان یک پنجره زمانی در نظر گرفت. در دسترس بودن منبع برای یک پنجره مشخص، باید در اسرع وقت، تعیین شود.
1-4-25 منابع انسانی
برنامه ریز، با ارزیابی محدوده نرم افزار و انتخاب آنالیز دستگاهی های مورد نیاز برای تکمیل توسعه، کار خود را آغاز می کند. هم موقعیت سازمانی (به عنوان مثال، مدیر، مهندس ارشد نرم افزار) و هم تخصص (به عنوان مثال، مخابرات، پایگاه داده، تجارت الکترونیک) نیز باید مشخص شود. برای پروژه های نسبتاً کوچک (چند نفر در ماه)، یک فرد واحد می تواند تمام کارهای مهندسی نرم افزار را انجام دهد و در صورت لزوم با متخصصان مشورت کند. برای پروژه های بزرگتر، ممکن است تیم نرم افزاری از نظر جغرافیایی در چندین مکان مختلف پراکنده شده باشند. از این رو مکان هر منبع انسانی نیز باید مشخص شود. تعداد افراد مورد نیاز برای یک پروژه نرم افزاری را می توان تنها پس از برآورد تلاش توسعه (به عنوان مثال، شخص-ماه) تعیین کرد. تکنیک های برآورد تلاش، در ادامه این فصل مورد بحث قرار می گیرد.

دانلود رایگان خلاصه کتاب آنالیز دستگاهی pdf
2-4-25 منابع نرم افزاری قابل استفاده مجدد
مهندسی نرم افزار مبتنی بر اجزا (CBSE) بر قابلیت استفاده مجدد، یعنی جزوه آنالیز دستگاهی و استفاده مجدد از عناصر سازنده نرم افزار، تأکید می کند. چنین سازه هایی که اغلب اجزا نامیده می شوند، برای مرجع آسان، فهرست بندی، و برای کاربرد آسان، استاندارد می شوند و برای ادغام آسان تأیید می شوند. از قضا، اجزای نرم افزاری قابل استفاده مجدد غالباً در حین برنامه ریزی نادیده گرفته می شوند، اما در مرحله توسعه فرآیند نرم افزار به یکی از دغدغه های اصلی تبدیل می شوند. توصیه می شود تا منابع نرم افزاری را زودتر مشخص کنید. به این ترتیب، می توان ارزیابی فنی گزینه ها را انجام داد و هدف، به موقع حاصل می شود. آنالیز دستگاهی حتماً در نظر بگیرید که آیا خرید یک محصول نرم افزاری موجود (با فرض اینکه تمام نیازهای سهامداران را برآورده کند)، از ساختن یک محصول نرم افزاری سفارشی از صفر، هزینه کمتری خواهد داشت یا خیر.
3-4-25 منابع محیطی
محیطی که از یک پروژه نرم افزاری پشتیبانی می کند، اغلب محیط مهندسی نرم افزار (SEE) نامیده می شود، و شامل سخت افزار و نرم افزار است. سخت افزار بستری را برای پشتیبانی از ابزار (نرم افزار) مورد نیاز برای تولید محصولات کاری حاصل از عملکرد خوب مهندسی نرم افزار، فراهم می کند. از آنجا که اکثر سازمان های نرم افزاری دارای حوزه های متعددی هستند که نیاز به دسترسی به SEE دارند، باید پنجره زمانی مورد نیاز برای سخت افزار و نرم افزار را تعیین کرده و در دسترس بودن این منابع را تأیید کنید. هنگام مهندسی یک سیستم مبتنی بر رایانه (شامل سخت افزار و نرم افزار تخصصی)، تیم نرم افزاری ممکن است نیاز به دسترسی به عناصر سخت افزاری توسعه یافته توسط دیگر تیم های مهندسی داشته باشد. به عنوان مثال، نرم افزار دستگاه روباتیک مورد استفاده در سلول تولید کننده، ممکن است به روباتی خاص (به عنوان مثال جوشکار روباتیک) به عنوان بخشی از مرحله اعتبار سنجی، نیاز داشته باشد. یک پروژه نرم افزاری در حین توسعه برای صفحه بندی پیشرفته، ممکن است به یک سیستم چاپ دیجیتال با سرعت بالا نیاز داشته باشد. هر عنصر سخت افزاری باید به عنوان بخشی از برنامه ریزی مشخص شود.
5-25 تجزیه و تحلیل داده و برآورد پروژه نرم افزاری
برآورد هزینه و تلاش نرم افزار هرگز دقیق آنالیز دستگاهی بود. متغیرهای بسیار زیاد (انسانی، فنی، محیطی، سیاسی)، می توانند بر هزینه نهایی نرم افزار و تلاش برای توسعه آن تأثیر بگذارند. با این حال، برآورد پروژه نرم افزاری می تواند از سحر و جادوگری به مجموعه ای از مراحل سیستماتیک تبدیل شود که برآوردها را با ریسک قابل قبول ارائه می دهد. برای دستیابی به برآوردهای قابل اطمینان هزینه و جزوه آنالیز دستگاهی ، جزوه ریاضی مهندسی گزینه پیش رو خواهیم داشت:
1. تأخیر در برآورد تا اواخر پروژه (واضح است که ما می توانیم 100 درصد برآوردهای دقیق را پس از اتمام پروژه بدست آوریم!).
2. 2. برآورد پایه پروژه های مشابه که قبلاً به پایان رسیده است.
3. استفاده از تکنیک های تجزیه نسبتاً ساده برای ایجاد برآورد هزینه و تلاش پروژه
4. استفاده از یک یا چند مدل تجربی برای برآورد هزینه و تلاش نرم افزار
متأسفانه، گزینه اول، علیرغم جذاب بودن، عملی نیست. برآورد هزینه باید از قبل ارائه شود. با این حال، باید بدانید که هرچه بیشتر منتظر بمانید، اطلاعاتتان بیشتر می شود و هرچه بیشتر بدانید، احتمال خطاهای جدی برآوردهایتان، کمتر خواهد بود. گزینه دوم می تواند به طور معقول مؤثر باشد، البته در صورتی که پروژه فعلی کاملاً شبیه موارد گذشته باشد و سایر تأثیرات پروژه (مانند مشتری، شرایط تجاری، محیط مهندسی نرم افزار ، مهلت ها) نیز تقریباً مشابه قبل باشد. متأسفانه، تجربیات گذشته همیشه شاخص خوبی برای نتایج آینده نبوده است. سایر گزینه ها، روش های مناسبی برای برآورد پروژه نرم افزاری ارائه می دهند. در حالت ایده آل، تکنیک های ذکر شده برای هر گزینه باید همزمان انجام شود. و هر کدام برای صحت سنجی دیگری استفاده می شوند. تکنیک های تجزیه برای برآورد پروژه نرم افزاری از رویکرد “تقسیم کن و پیروز شو” استفاده می کنند. با تجزیه یک پروژه به توابع عملکردهای و فعالیتهای مهندسی نرم افزار مرتبط، برآورد هزینه و تلاش را می توان به صورت مرحله ای انجام آنالیز دستگاهی. یک مدل برآورد تجربی برای نرم افزارهای رایانه ای، برای پیش بینی تلاش به عنوان تابعی از مواردی مانند LOC یا FP، از فرمول های مشتق شده از داده های پروژه موجود استفاده می کند. مقدار LOC یا FP با استفاده از روش توصیف شده در بخش های 25.6.3 و 25.6.4 برآورد می شود. اما به جای استفاده از جداول توصیف شده در این بخش ها، مقادیر حاصل برای LOC یا FP به مدل برآورد متصل می شوند. یک مدل برآورد تجربی معمولی، با استفاده از تحلیل رگرسیون بر روی داده های جمع آوری شده از پروژه های نرم افزاری گذشته بدست می آید. ساختار کلی چنین مدل هایی به صورت زیر تعریف می شود:
(1-25) E = A + B × (ev) C
در رابطه فوق، A ، B و C ثابت های مشتق شده تجربی هستند ، E تلاش به ازای ماه-شخص است و ev متغیر برآورد (LOC یا FP) است. علاوه بر رابطه ذکر شده در معادله (25.1)، اکثر مدل های برآورد دارای نوعی از اجزای تعدیل پروژه هستند () () :
= ()
() ().
فهرست مطالب