جزوه تایپ شده برنامه سازی سیستم
: () () پردازش مداوم، نشان می دهد. یک رویداد (گاهی اوقات، محرک نامیده می شود) باید اتفاق بیفتد تا یک شیء را مجبور به : () –“” ”” “” -:
ً () (-) () —-ً ()، : “”.
()، (–)، ( )، –: “” “”.()، 
( ) ( )، -() -؟ -“” ؟ -8 بخش مربوط به امور عمومی یک شهر بزرگ، تصمیم گرفته است که یک سیستم ردیابی مبتنی بر وب و تعمیر چاله ها ایجاد کند.شرح این کار، چنین است: شهروندان می توانند وارد یک وب سایت شوند و موقعیت و شدت حفره ها را گزارش دهند. با گزارش چاله ها، آنها در یک “سیستم تعمیراتی در بخش امور عمومی” وارد می شوند و یک شماره شناسایی به آنها اختصاص داده می شود، و آدرس خیابان، اندازه (در مقیاس 1 تا 10)، محل (مختصات حدودی، محدوده، و غیره)، منطقه (با توجه به آدرس خیابان مشخص می شود)، و اولویت تعمیر(با توجه به اندازه چاله تعیین می شود)، ذخیره خواهد شد. داده های سفارش کار، با چالهی مورذنظر، مرتبط است و شامل محل و اندازه چاله، شماره شناسایی خدمه تعمیر، تعداد خدمه، تجهیزات اختصاص داده شده، ساعات اعمال شده برای تعمیر، وضعیت سوراخ (کار در حال انجام، تعمیر، تعمیر موقت، تعمیر نشده)، مقدار مواد پرکننده مورد استفاده و هزینه تعمیر (با توجه به ساعات اختصاص داده شده ) ———؟
-؟
: ؟ ً ؟ ؟ ؟ ؟ ؟ () ؛ ؛ ً “”، (–)، :() () /() () ً ً ً و تأثیر الگوها بر روند طراحی را بررسی می کنیم. در فصل های 10 تا 14، انواع مختلفی از روش های طراحی نرم افزار و نحوه اجرای آنها برای طراحی معماری، رابط و اجزا و رویکردهای طراحی مبتنی بر الگو، تلفن همراه و تجربه کاربر، ارائه می شود.
طراحی در چارچوب مهندسی نرم افزار
طراحی نرم افزار در هسته فنی مهندسی نرم افزار قرار دارد و صرف نظر از مدل فرآیند نرم برنامه سازی مورد استفاده، اعمال می شود.پس از تجزیه و تحلیل الزامات نرم افزار و مدل سازی آنها، طراحی نرم افزار، آخرین اقدام مهندسی نرم افزار در فعالیت مدل سازی است و زمینه را برای ساخت و ساز(تولید و آزمایش کد)، آماده می کند. هر یک از عناصر مدل الزامات (فصل 8) اطلاعات لازم برای ایجاد چهار مدل طراحی مورد نیاز برای ذکر کامل مشخصات طرح را ارائه می دهند. جریان اطلاعات در حین طراحی نرم افزار در تصویر 1-9 نشان داده شده است. مدل الزامات نشان داده شده با اجزای مبتنی بر فیلمنامه و مبتنی بر گروه، به طراحی کمک می کند.در طراحی، با استفاده از نماد طراحی و روش های طراحی مطرح شده در فصل های بعدی، یک طراحی داده/طبقه، طراحی معماری، طراحی رابط و طرحی از اجزا تولید می شود. طراحی داده/طبقه، مدل های طبقه (فصل 8) را به مفاهیم طبقه طراحی و ساختارهای داده مورد نیاز برای پیاده سازی نرم افزار تبدیل می کند. اشیاء و روابط تعریف شده در مدل CRC و محتوای داده های دقیق ترسیم شده توسط ویژگی های طبقه و سایر نشانه ها، اساس فعالیت طراحی داده را فراهم می کنند. بخشی از طراحی طبقه، می تواند همراه با طراحی معماری نرم افزار رخ دهد. با طراحی هر جزء نرم افزاری ، طبقه با جزئیات بیشتری طراحی می شود. طراحی معماری، رابطه بین عناصر ساختاری اصلی نرم افزار، سبک معماری و الگوهای مورد استفاده برای دستیابی به
الزامات تعریف شده برای سیستم (فصل 14)، و محدودیت های مؤثر بر معماری قابل اجرا، را مشخص می کند. بازنمایی طراحی معماری ( چارچوب یک سیستم مبتنی بر رایانه)، از مدل الزامات مشتق شده است. طراحی رابط، نحوه ارتباط نرم افزار با سیستمهای در تعامل با آن و افرادی که از آن استفاده می کنند، را توضیح می دهد. یک رابط به جریان اطلاعات (به عنوان مثال، داده ها و/یا کنترل) و نوع خاصی از برنامه سازی ، دلالت دارد. بنابراین ، فیلمنامه های کاربری و مدل های کارکردی، بسیاری از اطلاعات مورد نیاز برای طراحی رابط را ارائه می دهند. طراحی انجام شده در سطح اجزاء، عناصر ساختاری معماری نرم افزار را به یک جزوه برنامه سازی سیستم رویه ای از اجزای نرم افزار تبدیل می کند. اطلاعات بهدست آمده از مدل های مبتنی بر طبقه و مدل های کارکردی، به عنوان پایه ای برای طراحی اجزا عمل می کنند.

دانلود رایگان خلاصه کتاب برنامه سازی سیستم PDF
در طول طراحی، تصمیماتی گرفته می شود که در نهایت، بر موفقیت ساخت نرم افزار و سهولت حفظ نرم افزار تأثیر می گذارد. اما چرا طراحی اینقدر مهم است؟ اهمیت طراحی نرم افزار را می توان با کلمه “کیفیت”، بیان کرد.در طراحی، کیفیت توسط مهندسی نرم افزار تقویت می شود و نرم افزارهایی ارائه می شوند که از نظر کیفیت، قابل ارزیابی هستند. طراحی، تنها راه
تبدیل الزامات سهامداران، به یک محصول نرم افزاری یا سیستم کامل است. طراحی نرم افزار، به عنوان پایه ای برای تمام اقدامات مهندسی نرم افزار و فعالیت های پشتیبانی نرم افزاری که در ادامه جزوه برنامه ریزی تولید می شود، محسوب می شود. بدون طراحی، احتمال ساخت یک سیستم ناپایدار ( برنامه سازی که در صورت ایجاد تغییرات کوچک، از کار می افتد؛ آزمایش آن دشوار است؛ و کیفیت آن تا اواخر فرآیند نرم افزار، قابل ارزیابی نیست)، وجود خواهد داشت.منظور از اواخر
پروژه، موقعی است که زمان کوتاه است و بسیاری از بودجهها صرف انجام امور شدهاند.
“خانهی امن: طراحی در مقایسه با برنامه نویسی”
صحنه: اتاقک جیمی، همزمان با آماده شدن تیم برای ترجمه الزامات در قالب طراحی.
گفتگوکنندگان: جیمی، وینود و اد، همگی از اعضای تیم مهندسی نرم افزار SafeHome.
مکالمه:
جیمی: می دونی داگ ]مدیر تیم[ روی طراحی وسواس داره. بذار روراست باشم، کاری که عاشقشم کدنویسیه، اگه بهم C++ یا جاوا بدن، خوشحال میشم.
اد: نه…تو طراحی رو دوست داری.
جیمی: اصلاً به حرفام گوش نمیدی.من عاشق کدنویسیم.
وینود: فکر کنم منظور اد اینه که تو واقعاً کدنویسی رو دوست نداری؛ تو دوست : ؟
: : ؟
: : (): : ً : : “” سطح بالایی از انتزاع نشان داده شده است؛ سطحی که در آن، می توان مستقیماً به هدف خاص سیستم و با جزئیات بیشتری از داده ها، و الزامات عملکردی و کارکردی پی برد با تکرار طراحی، اصلاح بعدی منجر به ارائه طرح در سطوح انتزاعی بسیار پایین تر می شود. این موارد را هنوز می توان به الزامات ردیابی کرد، اما ممکن است ارتباطات در سطوح انتزاعی پایین تر، واضح نباشد.
1-2-9 دستورالعمل ها و ویژگی های کیفیت نرم افزار
در طول فرایند طراحی، کیفیت طرح در حال تکامل با مجموعه ای از بررسی های فنی مورد بحث در فصل 16، ارزیابی می شود. مک گلاگلین، سه ویژگی که به عنوان راهنمای ارزیابی یک طرح، خوب عمل می کنند را پیشنهاد می کند:
• طراحی باید تمام الزامات صریح موجود در مدل الزامات را اجرا کند، و باید تمام الزامات ضمنی مورد نظر سهامداران را برآورده کند.
• طرح، باید راهنمایی خوانا و قابل درک برنامه نویسان و برنامه سازی آزمایش و پشتیبانی از نرم افزار، باشد.
• در طراحی باید یک تصویر کامل از نرم افزار ارائه شود و داده ها، حوزه های عملکردی و کارکردی از دیدگاه اجرایی باید مشخص شوند.
هر یک از این ویژگی ها، یکی از ؟
: -:
: () () ( ً )، () : -؟ ؟ ()، ً () ً
–“” ً ساختار معماری در طرح های ایجاد برنامه سازی ، تمرکز می کند، شدیداً تأكيد می شود. در 10 سال گذشته، تکنیک های مهندسی نرم افزار مبتنی بر جستجو(SBSE) برای همه مراحل چرخه عمر مهندسی نرم افزار، از جمله طراحی، کاربردی بوده است. SBSE تلاش می کند تا مشکلات مهندسی نرم افزار را با استفاده از تکنیک های جستجوی خودکار تقویت شده توسط تحقیقات عملیاتی و الگوریتم های یادگیری ماشین، حل کند. بسیاری از سیستم های نرم افزاری مدرن باید درجه بالایی از تنوع را، هم در محیط استقرار و هم در تعداد جزوه برنامه سازی سیستم کاربری، در بر گیرند. : () () () ()