« Back

Systems Analysis and Design

Name Systems Analysis and Design
Lesson Code 8101149
Unit Count 3
Need Lessons
Prerequisite Lessons

مشخصات درس

نام درس

تحلیل و طراحی سیستم‌ها

شماره درس (واحد)

8101149 (3واحد)

نیمسال

دوم سال تحصیلی 93-92

زمان ارائه

یکشنبه‌ها و سه‌شنبه‌ها ساعت 16:00 تا 17:30

مکان

کلاس 9 ساختمان شماره 1 دانشکده مهندسی برق و کامپیوتر

 

 

2)  مدرس

نام و نام خانوادگی

فاطمه قاسمی اصفهانی

دفتر

اتاق 611 ساختمان 2 دانشکده مهندسی برق و کامپیوتر

شماره تماس

4995

پست الکترونیکی

fghassemi@ut.ac.ir

ساعات رفع اشکال

یکشنبه‌ها و سه‌شنبه‌ها ساعت 14:00 تا 16:00

 

 

3)  محتوای درس

شرح درس

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

1.      معرفی مهندسی نرم‌افزار و چالش‌های آن

2.      مدل‌های فرآیند توسعه نرم‌افزار و تفاوت آن‌ها : فرآیندهای آبشاری، تکراری ، مزایا و معایب هر روش، معرفی مراحل توسعه نرم‌افزار مشترک در فرآیندها (مهندسی نیازها، تحلیل، طراحی، پیاده‌سازی و آزمون)

3.      مهندسی نیازمندی‌ها: معرفی، مولفه‌ها و ابزارهای آن (قصه کاربر و مورد کاربردی)، نوشتن مورد کاربردی و قصه کاربر، مدل مورد کاربردی در UML

4.      تحلیل سیستم : مدل‌سازی دامنه (ساختار) ، شناسایی عملیات سیستم، قرارداد سیستم و توصیف آن‌ها به‌کمک زبان OCL

5.      طراحی سیستم: تقسیم وظایف اشیا به کمک اصول پنجگانه GRASP، نمودارهای توالی، تعامل، کلاس در UML

6.       معماری نرم‌افزار: تعریف، نیازمندی غیرکارکردی و معماری، نماهای مختلف معماری، سبک‌های معماری : 3-لایه ، MVC ، C/S، نمودار استقرار، بسته  و مولفه در UML

7.      طراحی سیستم : تعیین اهداف طراحی، لایه بندی و تقسیم بندی کلاس‌ها ، همروندی‌ها، کنترل دسترسی ، جریان کنترل سراسری، مدیریت داده، شرایط مرزی سیستم (شروع / توقف سیستم)

8.       الگوهای طراحی: Facade، Publisher/Subscriber، Proxy، Adaptor ، Factory (این الگوها در حین درس براساس نیاز تدریس می‌گردند)

9.      آشنایی مقدماتی با مدیریت پروژه  و برنامه‌ریزی : وظایف مدیر در شروع ، اجرا و خاتمه پروژه ، تخمین پروژه و منابع ، دیاگرام‌های Gantt و شبکه.

 

اهداف درس

هدف این درس آشنایی دانشجویان با فرآیند، روش‌ و ابزارهای توسعه نرم‌افزار به درد بخور است و دانشجویان را برای کار در حوزه مهندسی نرم‌افزار آماده می‌سازد. دانشجویانی که این درس را با موفقیت پشت سر بگذارند بینش مناسبی در موارد زیر خواهند داشت:

1-    کاربرد فرآیند توسعه نرم‌افزار در تولید نرم‎افزار،

2-    انتخاب و به ‌کارگیری ابزارهای توسعه نرم‌افزار،

3-    مستندسازی فرآورده‌های نرم‌افزاری به‌کمک زبان UML،

4-    تحلیل و طراحی سیستم‌ها به روش شی‌گرا.

 

مراجع

[1]   C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Addison Wesley, 2004

[2]   B. Bruegge and A. Dutoit: Object-Oriented Software Engineering: Using UML, Patterns and Java, Third Edition, Prentice Hall, 2010

[3]   Ivan Marsic, Software Engineering, Rutgers University, 2011

[4]   David L. Olson, Information System Project Management, McGrawHill, 2004

[5]   Roger S. Pressman, Software Engineering: a Practitioner’s Approach, McGrawHill, fifth edition, 2001

 

 

4)  تکالیف، پروژه و امتحانات

تکالیف

6 تکلیف

پروژه

 پروژه به صورت گروهی انجام می‌شود و هر گروه حداکثر 3 نفر است.

امتحان میان ترم

 مطابق برنامه

امتحان پایان ترم

 مطابق برنامه آموزش
 

 

5)  ارزیابی

نمره دهی

1۰%

تکالیف و امتحانک

۲۵%

پروژه

25%

امتحان میان ترم

۴۰%

 

امتحان پایان ترم

*حداقل کسب 50% نمره از میان‌ترم و پایان‌ترم برای گذاردن درس الزامی است.

 

 
مطابق برنامه

 

مطابق برنامه