Transcript Document
امروزه دانش مهندس ی نرم افزار و به دنبال آن صنعت نرم افزار در دنیا به خوبی
جا ی خود را بازنموده است .
متاسفانه حرکت موتور صنعت نرم افزار در ا یران بسیار کند و آهسته می باشد .
عدم وجود د یدگاه ها ی مهندس ی و شیوه برخورد غیر مهندس ی با ا ین زمینه می
باشد .چرا که نرم افزارها ی طراحی شده داخل کشور یا به شیوه کارگاهی توسط
افراد ی که صرفا توانا یی هایی در یک زبان برنامه نویس ی ،آن هم به طو ر
محدود،داشته اند انجام شده است .و یا اینکه به عنوان یک طرح تحقیقاتی و نه
تجاری و سودآور ،در یکی ازمراکز دانشگاهی یا پژوهش ی کشور به انجام رسیده
است
طراحی ساختمان های داده
محاسبات
طراحی الگوریتم های مناسب
پروتکلهای ارتباطی
همزمانی و دسترسی به داده ها
تخصیص عملکرد برای طراحی المان ها
توزیع فیزیکی
ترکیب المان های طراحی
مقیاس و بازدهی نرم افزار
توجه به معماری و تمرکز بر روی آن اولین قدم و سنگ بنای شروع
ساخت و توسعه یک سیستم نرم افزار محسوب می گردد.
RUPکه در چند سال اخیر از آن به عنوان متدولوژی پیشرو در
صنعت نرم افزار یاد می شود ،یک متدولوژی مبتنی بر معماری می
باشد .بدین معنا که بالفاصله پس از شناخت سیستم ،معماری نرم
افزار ترسیم می گردد .و تا استخراج یک معماری مشخص از
سیستم ،فاز ساخت نرم افزار شروع نخواهد شد.
الیه بندی را می توان یک گروه بندی منطقی زیر سیستم ها بر اساس
عملکردشان دانست .که بر این اساس عملکرد ها و وظایف مرتبط
با کاربرد و تعامل کاربر با سیستم در الیه های باالیی ،عملکرد ها
و وظایف مرتبط با دامنه مساله در الیه های میانی و عملکردها و
وظایف مرتبط با استقرار نر م افزار هم در الیه های پایینی قرار
می گیرند.
نقاط ضعف
نقاط قوت
افزایش حجم کاری و طوالنی شدن روند توسعه
سیستم
ساده شدن نگهداشت نرم افزار در آینده
کاهش سرعت سیستم در صورت افزایش الیه ها
استقالل الیه ها از یکدیگر و عدم وابستگی آنها به
هم
امکان بروز اشتباه در تعیین دقیق مرز الیه ها
امکان استفاده مجدد از کالس های هر الیه در
آینده
تجزیه یک سیستم به چند زیر سیستم و درک و
توسعه بهتر آن
منظور از سیستم های اطالعاتی ،به طور کلی سیستم های نرم افزاری
است که داده هایی را از کاربران سیستم اخذ نموده و آنها را در
پایگاه داده ذخیره کرده ،بر روی این داده ها پردازشهایی را انجام
داده و آنها را به اطالعات ٤تبدیل می کند .در انتها هم اطالعات
را در قالب گزارش های متنوع و با فرمتهای گوناگون و قابل فهم
کاربران به آنها ارائه می نماید .این گونه نرم افزارها همواره به
یک سیستم مدیریت بانک اطالعاتی متصل بوده و با آن ارتباط
تنگاتنگی دارند.
این معماری که در واقع یک معماری دو الیه Clientها و serverاست ازسیستم
Main Frameایده گرفته است.
.
خارجی
مفهومی
داخلی
Presentation
<<layer>>
Business
<<layer>>
Data Access
<<layer>>
کالس: customer view
این کالس مسئول اجرای منطق الیه نمایش و تعامل با کاربر انسانی (مشتری) است .
این کالس اجرای عناصر موجود در رابط(های) گرافیکی کاربر مشتری را
برعهده دارد.
کالس : Customer
این کالس مسئول اجرای منطق الیه کسب و کار است .برای مثال این کالس مواردی
این کالس مسئول اجرای منطق الیه کسب و کار است .
کالس :CustomerData
این کالس مسئول اجرای منطق الیه دسترسی به داده است .برای مثال این
کالس حالت های مانا ی یک مشتری ( مثل اطالعات شخصی و شناسنامه ای و سایر
اطالعات مشابه ) را نگهداری می کند.
نوع سیستم
الیه ها
سمت کالینت
Single System
سمت سرور
الیه های :نمایشُ ،دمین و
دسترسی به داده
Thin Client
الیه نمایش
Fat Client
الیه های :نمایشُ ،دمین
الیه های ُ :دمین و دسترسی به
داده
الیه دسترسی به داده
راهکاری که عموما ً برای جداسازی دو الیه از هم ارائه می شود و ما در اینجا برای الیه های
نمایش ودمین آنرا به کار خواهیم برد ،استفاده از یک الیه سوم یا الیه واسط است که بین این
دوالیه قرار میگرد .این الیه که معموالً با نام الیه کاربرد معرفی و شناخته می شود ،دقیقا ً
نقشی واسطه ای بین دوالیه نمایش و ُدمین دارد .الیه کاربرد مسئول تمامی دسترسی ها به
الیه ُدمین و انجام هر گونه پردازشی بجز پردازش های مربوط به واسط های گرافیکی کاربر
است.
Presentation
<<layer>>
Facade
<<layer>>
Domain
<<layer>>
MFC, Borland VCL, MS .Net,
Mac App, ...
نقش و جایگاه الیه "کاربرد" در میان سایر الیه ها