جزوه تایپ شده استاتیک و مقاومت مصالح
جزوه PDF مهندسی پزشکی کارشناسی ارشد مهندسی شیمی کاردانی مکانیک آزمون استخدامی مهندسی صنایع دانشگاه آزاد عمران پیام نور افشین سالاری
: ()، ()، “” -: “()، “: () () () () () ؟
—اقدامات را برای فعالیتهای ارتباطی، تنظیم کنید.یک اقدام را انتخاب کنید و مجموعهای از وظایف را برای آن تعریف کنید.
4-2 اگر دو سهامدار با ایده هایی متناقض در مورد ماهیت نرم افزار داشته باشید، در طی ارتباطات، یک مشکل رایج اتفاق می افتد.به عبارتی، آنها متقابلاً درخواست هایی متناقض دارند.الگوی فرآیندی ایجاد کنید که این مشکل را بیان کند، و رویکردی مؤثر به این مسئله پیشنهاد کنید.
5-2 سه مثال از پروژه های نرم افزاری که متناسب با مدل آبشاری باشند را به دقت ارائه کنید.
6-2 سه مثال از پروژه های نرم افزاری که متناسب با مدل ساخت نمونه ی اولیه باشند را به دقت ارائه کنید.
7-2 وقتی در امتداد جریان فرایند مارپیچ، به سمت خارج حرکت می کنید، در مورد نرم افزار در حال توسعه یا استاتیک و مقاومت مصالح ، چه می توانید بگویید؟
8-2 آیا می توان مدل های فرایندی را ترکیب کرد؟در این صورت، مثالی بزنید.
9-2 مزایا و معایب توسعه نرم افزاری که “به اندازهی کافی با کیفیت است”، چیست؟به عبارتی، با ترجیح سرعت توسعه بر کیفیت محصول، چه اتفاقی میافتد؟
10-2 آیا می توان صحت بخشی از نرم افزار و یا حتی کل برنامه را ثابت کرد؟پس چرا کسی این کار را نمی کند؟
11-2 آیا فرآیند مشترک و زبان جزوه استاتیک و مقاومت مصالح مدل سازی، هر دو یک چیز هستند؟پاسخ خود را توضیح دهید.

استاتیک و مقاومت مصالح
فصل سوم: مهارت و فرآیند
در سال 2001، گروهی از توسعه دهندگان، نویسندگان و مشاوران نرم افزار مشهور
“بیانیهی توسعهی ماهرانهی نرم افزار” را امضا کردند؛ در این بیانیه، آنها سر مسائل زیر توافق کردند:
“ترجیح افراد به فرآیندها و ابزارها، نرم افزارهای در حال پردازش به اسناد جامع، ترجیح همکاری با مشتری به مذاکره در مورد قرارداد، و پاسخ به تغییر بر پیروی از یک برنامه.”
نگاهی سریع
مهندسی نرم افزار ماهرانه چیست؟مهندسی نرم افزار ماهرانه، ترکیبی از یک فلسفه و مجموعهای از دستورالعمل های مربوط به توسعه است.این فلسفه، منجر به رضایت مشتری و تحویل سریع و پیش روندهی نرم افزار، کمک به تیم های پروژهی کوچک با انگیزهی بالا، ارائه ی روش های غیررسمی، محصولات کار جزئی مهندسی نرم افزار، و تسهیل توسعهی کلی می شود.دستورالعمل های استاتیک و مقاومت مصالح ، تحویل و ارائه را بر تحلیل و طراحی (علیرغم اینکه این فعالیت ها کارآمد نیستند)، ارجح می دانند.
چه کسانی کار مهندسی نرم افزار ماهرانه را انجام می دهند؟مهندسین نرم افزار و سایر سهامداران پروژه(مدیران، مشتریان، کاربران نهایی)، با همکاری یکدیگر در تیمی از افراد ماهر، این کار را انجام می دهند.این تیم، سازمان دهی و کنترل مقاصد خود را در دست دارد.در یک تیم بامهارت، ارتباط و همکاری بین تمام افراد، دیده می شود.
مهندسی نرم افزار ماهرانه چه اهمیتی دارد؟ محیط های تجاری مدرن که منجر به تولید سیستم های رایانه ای و محصولات نرم افزاری می شوند، با سرعت بالا و به طور مداوم در حال تغییر هستند.مهندسی نرم افزار ماهرانه، جایگزینی مناسب برای مهندسی نرم افزار معمولی ارائه می کند.ثابت شده است، که این روش مهندسی، می تواند با سرعت بالا سیستم های موفقیت آمیزی ارائه دهد.
مراحل مهندسی نرم افزار ماهرانه چه هستند؟توسعهی ماهرانه را بهتر است با اصطلاح “مهندسی نرم افزار آرشیو”، جایگزین کنیم.فعالیت های چارچوبی اصلی، یعنی ارتباطات، برنامه ریزی، مدل سازی، ساخت و ساز، و راه اندازی مشابه قبل هستند.اما در قالب مجموعهای از وطایف جزئی که تیم پروژه را در مسیر ساخت و ساز و ارائه، به جلو می راند.
محصول کار چیست؟مهم ترین محصول کار، یک “توسعه دهندهی نرم افزار” کاربردی است که در موعد مقرر به مشتری تحویل داده می شود.مهم ترین اسناد ساخته شده، گزارش کاربردها و موارد آزمایش مربوط به آنها است.
چطور از نحوهی انجام صحیح آن، اطمینان حاصل کنیم؟اگر تیم بامهارت، استاتیک و مقاومت مصالح قت کند که فرآیند جزوه استاتیک و مقاومت مصالح، کارآمد است و نرم افزاری پیش رونده و قابل اجرا تولید کند که رضایت مشتری را جلب کند، در این صورت می توان گفت که کار، درست انجام شده است.
ایده های اساسی که توسعهی ماهرانه را رهبری می کنند، منجر به ایجاد روش های ماهرانهای برای غلبه بر نقاط ضعف ملموس و واقعی در مهندسی نرم افزار معمولی شده است.توسعهی ماهرانه می تواند مزایای مهمی را به دنبال داشته باشد، اما احتمالاً نمی توان آن را در تمام پروژهها، محصولات، و توسط تمام مردم و در تمام شرایط به کار گرفت.همچنین این شیوه، در تناقض با مهندسی نرم افزار جامع نیست و می تواند به عنوان یک فلسفه ی اساسی، در تمام کارهای نرم افزاری اعمال شود.در اقتصاد مدرن، پیش بینی نحوهی تغییر یک سیستم مبتنی بر رایانه(به عنوان مثال، یک برنامهی تلفن همراه) با گذشت زمان، دشوار و گاهی غیرممکن است. وضعیت بازار به سرعت تغییر می کند، نیازهای کاربر نهایی متحول می شود و خطرات جدید رقابتی، بدون هشدار ظاهر می شوند.در بسیاری از موارد، شما قبل از شروع پروژه، قادر به تعریف کامل نیازها نخواهید بود.شما باید به قدری ماهر باشید تا بتوانید به یک محیط کاری انعطاف پذیر، پاسخ دهید.انعطاف پذیری، نیازمند تغییر است و تغییر، پرهزینه است، به خصوص در صورت عدم کنترل یا مدیریت ضعیف.یکی از جالب ترین خصوصیات رویکرد ماهرانه، توانایی آن در کاهش هزینههای ایجاد تغییر، از طریق فرایند نرم افزار است.در کتابی تأمل برانگیز در رابطه با توسعهی نرم افزار ماهرانه، آلیستر کاکبرن استدلال می کند که مدل های فرایند قراردادی معرفی استاتیک و مقاومت مصالح در فصل 2، یک نقطه ی ضعف بزرگ دارند:”این مدل ها، ضعف سازندگان نرم افزار های رایانهای را نادیده می گیرند.” مهندسان نرم افزار ربات نیستند.آنها سبک کاری بسیار متنوع و تفاوت های زیادی در سطح مهارت، خلاقیت، نظم، پشتکار و انجام کارها ب صورت خودجوش، دارند.برخی از آنها ارتباط کتبی خوبی برقرار می کنند و برخی دیگر اینطور نیستند.مدل های فرآیندی، باید ساز و کاری واقع بینانه برای کمک به ایجاد نظم لازم، ارائه دهند، همچنین از روی “تحمل بالای” افرادی که کار مهندسی نرم افزار انجام می دهند، میتوان به تأثیر این مدل ها پی برد.
1-3 منظور از مهارت چیست؟
جزوه استاتیک و مقاومت مصالح دانلود رایگان خلاصه کتاب پی دی اف pdf
منظور از مهارت، تنها در زمینهی مهندسی نرم افزار، چیست؟ایوار جیکوبسون استدلال می کند که فراگیر شدن تغییر، عامل اصلی ضرورت مهارت است.مهندسان نرم افزار، برای سازگاری با تغییرات سریعی که جیکوبسون بیان کرد، باید سریع و ماهر باشند.اما مهارت، چیزی بیش از یک پاسخ مؤثر به تغییرات است؛ بلکه حتی شامل فلسفهای می شود که در بیانیهی ابتدای فصل، مورد حمایت قرار گرفته است.این رویکرد، ساختارها و نگرش های تیمی را ایجاد می کند که ارتباطات (در میان اعضای تیم، بین فناوران و اهالی کسب و کار، و در میان مهندسان نرم افزار و مدیران آنها) را تسهیل می کند.همچنین این شیوه، بر تحویل سریع نرم افزارهای کاربردی تأکید می کند و محصولات کاری حدوسط را کم اهمیت می شمارد(که این مسئله، گاهی خوب نیست)؛ مشتری را به جزوه استاتیک و مقاومت مصالح بخشی از تیم توسعه در نظر می گیرد تا نگرش “ما و آنها”، که در بسیاری از پروژههای نرم افزاری اتخاذ می شود را، از بین ببرد؛ براساس این رویکرد، برنامه ریزی در دنیایی که پر از حوادث غیرمنتظره است، محدودیت های مخصوص به خود را دارد و برنامه ی پروژه، باید انعطاف پذیر باشد.رویکرد ماهرانه می تواند در هر فرآیند نرم افزاری به اجرا در آید.با این حال، برای این کار، لازم است تا فرآیند به گونهای طراحی شود تا تیم پروژه بتوانند وظایف را تنظیم کنند و برای تسهیل آنها، برنامهای طراحی کنند که سبب درک انعطاف پذیری رویکرد توسعهی ماهرانه شود، تمام محصولات کاری به جز ضروری ترین موارد را، ضمن حفظ کارایی آنها، از بین ببرد؛ و بر یک استراتژی تحویل تدریجی تأکید می کند، که نرم افزار در حال پردازش را با همان سرعتی که برای نوع محصول و محیط کاربری امکان پذیر است، به دست مشتری برساند.
2-3 رویکرد ماهرانه و هزینهی ایجاد تغییر
نگرش معمول در توسعهی نرم افزار (بر اساس دههها تجربه)، این است که استاتیک و مقاومت مصالح ی ایجاد تغییر، با پیشرفت پروژه به صورت خطی افزایش می یابد(تصویر 1-3، منحنی سیاه ممتد).ایجاد تغییرات، زمانی که تیم نرم افزار در حال جمع آوری درخواست ها(در اوایل پروژه) می باشد، نسبتاً آسان است.موارد استفاده باید تغییر یابد، می توان لیست گستردهای از کارکردها ارائه کرد، یا به ویرایش خصوصیات پرداخت.هزینهی انجام این کارها ناچیز ایت و زمان لازم برای آن هم تأثیر چندانی بر نتیجهی پروژه نمی گذارد.اما بیایید نگاهی سریع به چند ماه بعد بیندازیم.تیم، در حال آزمایش و ارزیابی(که معمولاً در اواخر پروژه انجام می شود) خواهد بود؛ اکنون تصور کنید که یکی از سهامداران مهم، درخواست یک تغییر اساسی کند.ایجاد تغییر، نیازمند تغییر طرح ساختاری نرم افزار، طراحی و ساخت و ساز سه جزء جدید، تغییر 5 جزء دیگر، طراحی آزمایشات جدید و موارد دیگر است.هزینه ها به سرعت افزایش می یابد و زمان و تلاش لازم برای مطمئن شدن از اینکه تغییر موردنظر، بدون عوارض جانبی ناخواسته، ایجاد می شود، نامعلوم است.طرفداران رویکرد ماهرانه، استدلال می کنند که یک فرآیند ماهرانه که به خوبی طراحی شده باشد، منحنی هزینهی ایجاد تغییر را “هموار” می کند(تصویر 1-3، منحنی هاشورخوردهی ممتد)، و به تیم نرم افزار این امکان را می دهد که در اواخر یک پروژهی نرم افزاری، بدون فشار از نظر هزینه و زمان، تغییرات لازم را ایجاد کنند. قبلاً جزوه استاتیک و مقاومت مصالح که فرآیند ماهرانه، شامل تحویل تدریجی می شود.اگر تحویل تدریجی، با سایر روش های ماهرانه مثل آزمایش مداوم بخش، و برنامه نویسی دو نفره(به اختصار در بخش 1-5-3، و با شرح جزئیات در فصل 20 توضیح داده خواهد شد.)، همراه شود، هزینه ایجاد تغییر کاهش می یابد.اگر چه همچنان بحث بر میزان هموار شدن منحنی هزینه، ادامه دارد، اما بر اساس شواهدی، می توان به کاهش قابل توجهی در هزینه ها دست یافت.
تصویر 1-3
3-3 منظور از یک فرآیند ماهرانه چیست؟
هر فرآیند نرم افزاری استاتیک و مقاومت مصالح ، فرضیاتی را در مورد اکثر پروژه های نرم افزاری ارائه می کند:
1. پیش بینی اینکه کدام نیازهای نرم افزاری بدون تغییر می مانند و کدام یک تغییر می کنند، کار دشواری است.پیش بینی روند تغییر اولویت های مشتری با ادامهی پروژه هم به همان اندازه دشوار است.
2. برای بسیاری از انواع نرم افزارها، طراحی و ساخت به هم پیوسته است.به عبارتی، هر دو باید همرمان با هم انجام شوند تا مدل های طراحی، همزمان با ساخته شدن، محقق شوند.پیش بینی میزان طراحی لازم، قبل از به کار گیری ساخت و ساز لازم برای تحقق طرح، دشوار است.
3. تجزیه و تحلیل، طراحی، ساخت و آزمایش نیز به همان اندازه غیر قابل پیش بینی است (از نظر برنامه ریزی).
با توجه به این 3 فرض، سؤالی مهم مطرح می شود: چگونه یک فرایند بسازیم که مسئلهی غیر قابل پیش بینی بودن را مدیریت کند؟همانطور که قبلاً هم اشاره کردیم، پاسخ در قابلیت انطباق فرآیند(در پاسخ به پروژهی در حال تغییر و شرایط فنی)، نهفته است.بنابراین، یک فرآیند ماهرانه، باید قابلیت انطباق داشته باشد.اما سازگاری مداوم و بدون پیشرفت به جلو، چندان کارآمد نیست.بنابراین، یک فرآیند نرم افزار ماهرانه، باید تدریجاً سازگار شود.برای این کار، تیمی از افراد ماهر، نیاز به بازخورد مشتری دارند( تا سازگاری های مناسب، اتفاق بیفتد).یکی از عوامل مؤثر در بازخورد مشتری، یک نمونهی اولیهی کاربردی یا یک سیستم کاربردی است.از این رو، استراتژی توسعه ی تدریجی، باید به کار گرفته شود.پیشرفت نرم افزار(نمونه های اولیهی قابل اجرا یا بخش هایی از یک سیستم کاربردی)، باید در بازههای زمانی کوتاه ایجاد شود تا سازگاری همگام با تغییرات(با توجه به غیر قابل پیش بینی بودن شرایط و تغییرات)، صورت گیرد.این رویکرد تکرارپذیر، مشتری را قادر می سازد تا به طور منظم، پیشرفت نرم افزار را ارزیابی کند، بازخورد لازم را به تیم نرم افزار ارائه می دهد، و بر سازگاری های فرآیند که برای دریافت بازخورد ایجاد شدهاند، تأثیر می گذارد.
1-3-3 اصول رویکرد ماهرانه
اتحاد رویکرد ماهرانه، 12 اصل را برای سازمان های نرم افزاری که در صدد دستیابی به استاتیک و مقاومت مصالح لازم در این زمینه هستند، تعریف می کند.در پاراگراف های بعدی، خلاصهای از این اصول بیان می شود.کسب اعتبار از طریق جزوه استاتیک و مقاومت مصالح ی هر چه سریع تر نرم افزار به مشتری، رضایت مشتری را به دنبال دارد.برای این کار، توسعه دهندگان ماهر، تغییر نیازها را مد نظر قرار می دهند.آنها به طور مکرر نرم افزار را توسعه می دهند و با همکاری سهامداران، به بازخوردی سریع و معنی دار، دست پیدا می کنند.یک تیم ماهر، از افرادی باانگیزه تشکیل می شود که ارتباط رو در رو برقرار می کند، و در محیطی کار می کنند که منجر به توسعه ی نرم افزار با کیفیت بالا می شود.تیم، فرآیندی را دنبال می کند که از نظر فنی بهتر باشد و منجر به ایجاد یک طراحی خوب شود، و بر سادگی، ” هنر حداکثر کار انجام نشده”، تأکید کند.هدف اصلی آنها، راه اندازی نرم افزاری است که پاسخگوی نیازهای مشتری باشد و مسیر اقدامات تیم باید “ثابت” باشد، و آنها را قادر سازد تا برای مدت زمان طولانی، به نحوی مؤثر، کار کنند.یک تیم ماهر، یک تیم “خود سازمان یافته” است، که توسعهی ساختار آن، می تواند منجر به ایجاد طرح های منسجم و رضایت مشتری شود.بخشی از فعالیت های تیم، مربوط به در نظر گرفتن اقدامات خود تیم از درون است، که همواره با هدف بهبود روشهای دستیابی به اهداف اولیه صورت می گیرد.تمام مدل های فرآیند ماهرانه، خصوصیات مطرح شده در این بخش را به یک میزان، نخواهند داشت، و برخی مدل ها اهمیت یک یا تعداد بیشتری از استاتیک و مقاومت مصالح رویکرد ماهرانه را نادیده می گیرند.با این حال، این اصول، ماهیت رویکرد ماهرانه را که در هر یک از مدل های فرآیند ارائه شده در این فصل، نهفته است، تعریف می کنند.

دانلود رایگان خلاصه کتاب استاتیک و مقاومت مصالح pdf
2-3-3 تدابیر توسعهی ماهرانه
برخلاف فرآیندهای مهندسی معمولی، در مورد مزایا و کاربرد توسعه ی ماهرانه ی نرم افزار، بحث های قابل توجهی وجود دارد.جیم های اسمیت، از روی شوخی، در وصف افرادی که به شیوه هایی قدیمی تر به مهندسی نرم افزار می پردازند، این چنین می گوید: “اهالی علم اصول، افراد محافظه کاری هستند که تولید اسناد بی نقص را به سیستم های در حال پردازش که پاسخگوی نیازهای کسب و کار هستند، ترجیح می دهند.”در مقابل، باز هم به شوخی در وصف افرادی که در مهندسی نرم افزار ماهرانه عمل می کنند، می گوید: “این افراد، هکرهای بزک شده ای هستند که در کمال تعجب، ضمن ارتقای اسباب سرگرمی خود، آنها را به نرم افزارهای شرکتی تبدیل می کنند.”مانند تمام استدلال های مربوط به فناوری نرم افزار، این بحث روش شناختی، خطرات اضمحلال را در قالب یک جنگ مذهبی مطرح می کند.اگر جنگ آغاز شود، جزوه استاتیک و مقاومت مصالح منطقی از بین می روند و عقاید، به جای حقایق، مبنای تصمیم گیری قرار خواهد گرفت.هیچ کس با رویکرد ماهرانه مخالف نیست.سؤالی که وافعاً پیش می آید، این است که بهترین راه دستیابی به آن چیست؟به خاطر داشته باشید که راه اندازی نرم افزار، مهم است، اما فراموش نکنید که نرم افزار باید از ویژگی های کیفی مختلفی مثل قابل اعتماد بودن، کاربردی بودن، و قابل نگهداری بودن هم برخوردار باشد.چگونه می توان نرم افزاری ساخت که پاسخگوی نیازهای امروزهی مشتری باشد و ویژگی های کیفی آن، منجر به استاتیک و مقاومت مصالح آن در راستای پاسخگویی به نیازهای مشتریان در دراز مدت شود؟پاسخ ثطعی برای هیچ یک از این سؤالات وجود ندارد.حتی در خود رویکرد ماهرانه نیز مدل های چارچوبی متعددی(بخش 4-3 و 5-3) مطرح می شود که هرکدام به روش متفاوتی به حل مسائل رویکرد ماهرانه می پردازند.درون هر مدل، مجموعهای از “ایده ها” (متخصصان رویکرد ماهرانه، تمایلی ندارند، که آنها را “وظایف کاری” بنامند) وجود دارد که مسیر را به طرز قابل توجهی از مهندسی نرم افزار به شیوهی قدیمی، منحرف می کند.با این حال، بسیاری از مفاهیم مربوط به این رویکرد، صرفاً اقتباسی از مفاهیم مفید مهندسی نرم افزار است.نکتهی اصلی اینجاست که با در نظر گرفتن نکات مهم هر دو رویکرد، می توان اطلاعت زیادی کسب کرد، در حالی که کم اهمیت در نظر گرفتن هر کدام از آنها، عملاً فایدهای نخواهد داشت.
4-3 روش اسکرام
روش اسکرام (این اسم از فعالیتی که در طول بازی راگبی اتفاق می افتد، گرفته شده است)، روشی مشهور در مهندسی نرم افزار ماهرانه است که توسط جف ساترلند و تیم توسعهی او در اوایل دههی 1990 ابداع استاتیک و مقاومت مصالح.توسعه ی بیشتر این روش، توسط افرادی به نام شوابر و بیدل انجام شد. اصول اسکرام، با بیانیهی رویکرد ماهرانه سازگارند و برای کمک به فعالیت های توسعه در طول فرآیند، استفاده می شود و شامل فعالیت های چارچوبی مثل درخواست ها، تجزیه و تحلیل، طراحی، ارزیابی و ارائه، می شود.در هر فعالیت چارچوبی، وظایف کاری در یک دورهی زمان بندی شدهی نسبتاً کوتاه، به نام اسپرینت، انجام می شوند.کار انجام شده در یک جزوه مقاومت مصالح ۲ (تعداد اسپرینت لازم برای هر فعالیت چارچوبی، بسته به اندازهی محصول و پیچیدگی آن، می تواند متفاوت باشد)، با مشکل موجود مطابقت می کند و اغلب به طور همزمان، توسط تیم اسکرام، تعریف و تنظیم می شود.در تصویر 2-3، جریان کلی فرآیند اسکرام نشان داده شده است.بیشتر توصیف ما از چارچوب اسکرام، حاصل کار فاولر و ساترلند است.
تصویر 2-3
“خانهی امن”: بررسی توسعهی ماهرانهی نرم افزار
صحنه: دفتر داگ میلر.
گفتگوکنندگان: داگ میلر جزوه استاتیک و مقاومت مصالح مهندسی نرم افزار، جیمی لازار عضو تیم نرم افزار، وینود رامان عضو تیم نرم افزار.
مکالمه:(با ضربهای به در، جیمی و وینود، به دفتر داگ وارد می شوند).
جیمی: داگ ، یک دقیقه وقت داری؟
داگ:البته جیمی، چه خبر؟
جیمی:ما دیروز به بحثی که درمورد فرآیند موردنظرمان داشتیم فکر کردیم…میدانی، فرآیندی که می خواهیم برای پروژهی جدید “خانهی امن” انتخاب کنیم.
داگ:خب؟
وینود: داشتم با یکی از دوستانم در شرکتی دیگر صحبت می کردم و او چیزی در مورد اسکرام به من گفت، که یک مدل فرآیند با عملکرد ماهرانه است.چیزی در مورد آن شنیدهای؟
داگ:بله، هم چیزهای خوب و هم بد.
جیمی:خب به نظر ما که بسیار خوب است، کمک می کند تا نرم افزار را به استاتیک و مقاومت مصالح ، توسعه دهیم، در صورتی که تیم، محصول را تکمیل شده اعلام کند، با استفاده از چیزی به نام اسپرینت، به ارائهی تدریجی نرم افزار می پردازد…به نظر من که بسیار جالب است.
داگ:قطعاً ایده های بسیار خوبی به دنبال خواهد داشت.من از قابلیت اسپرینت، تأکید بر ایجاد :؟؟
():::”” : ؟
:ً : : “”.؟
:().
: ؟
():!
(): ::
فهرست مطالب