توضیحات

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

 مقاله سیستم مدیریت تحت وب فایل ورد (word) دارای 75 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله سیستم مدیریت تحت وب فایل ورد (word)  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : توضیحات زیر بخشی از متن اصلی می باشد که بدون قالب و فرمت بندی کپی شده است

بخشی از فهرست مطالب پروژه مقاله سیستم مدیریت تحت وب فایل ورد (word)

مقدمه
فصل اول – مفاهیم استفاده شده در پروژه
1-1-برنامه نویسی لایه ای
1-1-1-برنامه چند لایه چیست؟
1-1-2-مزیت برنامه چند لایه
4presentation1-1-3-انتخاب لایه
5Business logic1-1-4-انتخاب لایه
5Data access1-1-5-انتخاب لایه
5Data lager1-1-6-انتخاب لایه
1-1-7-ارسال داده از یک لایه به لایه  دیگر
1-2-پیشینه
1-3-سیر تکامل زبان های برنامه نویسی تحت وب
) چیست؟ 9Ajax 1-4-ای جکس (
1-5-مکانیزم ای جکس
فصل دوم – شرح امکانات و محدودیت های سیستم
2-1-چشم انداز
2-1-1-شرح مساله
2-1-2-شرح عملیات
2-1-3-مخاطبین سیستم
2-1-4-محدودیت ها
2-2-مستند واژه نامه
2-3-مفاهیم سیستم گزارش گیری
فصل سوم – تجزیه و تحلیل سیستم
3-1-تعریف مساله
3-2-امکان سنجی
3-2-1-امکان سنجی منطقی
3-2-2-امکان سنجی فیزیکی
3-2-3-امکان سنجی فرهنگی
3-2-4-امکان سنجی اقتصادی
) 20Iteration plan3-3-طرح تکرار (
) 21Class diagram3-4-نمودار های کلاس (
3-4-1-توضیحات کلاس
31Uml 3-5-نمودار های
فصل چهارم – پیاده سازی سیستم
4-1-نگاهی به اجزای پروژه در ویژوال استودیو
4-2-جداول استفاده شده در پایگاه داده
4-2-1-نمای کلی از جدول های موجود
4-3-توضیح جداول بانک اطلاعاتی
44Anbar 4-3-1-جدول
45Anbar 14-3-2-جدول
45Anbargardani 4-3-3-جدول
47Bime 4-3-4-جدول
48check4-3-5-جدول
49fish4-3-6-جدول
50Crash code4-3-7-جدول
50Etelaeie 4-3-8-جدول
51Factor 4-3-9-جدول
52Factor num4-3-10-جدول
53Good price4-3-11-جدول
54kala4-3-12-جدول
55Mojoody 4-3-13-جدول
55Kargoziny 4-3-14-جدول
56Khadamat pas az forosh4-3-15-جدول
57Boff 4-3-16-جدول
58Kharid_forosh4-3-17-جدول
58Pass 4-3-18-جدول
59Tashilat 4-3-19-جدول
60Tashilat etaie4-3-20-جدول
61Tavoun request4-3-21-جدول
61Tavoun 4-3-22-جدول
62Units 4-3-23-جدول
63Validation 4-3-24-جدول
4-4-نتایج پیاده سازی
منابع و مراجع

1-1- برنامه نویسی لایه ای

1-1-1- برنامه چند لایه چیست؟

      در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد؛ مثلا نمایش  Interface، کاربر برای دسترسی به داده های برنامه می تواند هر تعداد لایه داشته باشد. ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از

1-       Presentation Layer     (Interface)

2-      Business Logic Layer

3-       Data Access Layer

4-      Data Layer

لایه Presentation چیزی نیست  جز بخشی از نرم افزار که با کاربر برنامه ما ارتباط برقرار می کند؛ به عبارت دیگر کاربران با این لایه در ارتباط خواهند بود. نمایش داده ها به کاربر نهایی و اجازه به ایشان برای ارتباط  با داده ها، اصلی ترین وظیفه این لایه است

در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت بر عهده  لایه Business Logic است.در نهایت داده های برنامه ما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند.  این وظیفه توسط لایه دسترسی به داده (Data Access Layer) انجام  می شود

     داده های ما در DataLayer ذخیره شده و با استفاده از Stored Procedure های نوشته شده در این لایه درج، حذف و به روز رسانی می شوند

به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند

    – کاربر برای دست یابی به داده های برنامه، درخواستی را ارسال می کند

    – لایه Data Access داده های مورد نظر را از DataLayer  بازیابی کرده  و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد. در برخی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند
- لایه نمایش، اطلاعاتی را که باید نمایش داده شوند  از طریق لایه Business Logic دریافت می کند
- کاربر داده ها را تغییر داده  و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
- لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
- اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به لایه دسترسی به داده انتقال می دهد

لایه دسترسی داده، داده ها را به DataLayer فرستاده و این لایه تغییرات را بر روی آن ها اعمال می کند

1-1-2- مزیت های برنامه های چند لایه

     برنامه ها به چند بخش منطقی جدا از هم تقسیم می شوند و ارتباط میان User Interface (رابط کاربری) ، پردازش ها و بانک اطلاعاتی کم می شود

تغییر در بانک اطلاعاتی یا روال های دسترسی به داده ها تاثیری در لایه نمایش یا برنامه کلاینت نخواهد گذاشت

 برنامه کلاینت با عبارات SQL آمیخته نخواهد شد

 نام جداول و ستون ها به طور موثری از برنامه کلاینت حذف می شوند

 برنامه کلاینت متوجه نمی شود  که داده ها از کجا آمده اند ( چیزی که به آن location transparency گفته می شود )

 تغییر یا گسترش برنامه بسیار ساده تر خواهد شد، بدون آن که نیاز به تغییر یا کامپایل مجدد برنامه کلاینت داشته باشیم

نکته منفی در معماری چند لایه آن است که ما باید تعداد زیادی بخش ها و  کلاس های جدا از هم را در نرم افزار ایجاد نماییم. اما به هر حال مزایای این روش بیشتر و برتر از معایب آن است

لایه ها

1-1-3- انتخاب های لایه Presentation

     دو انتخاب اصلی برای ساخت یک لایه نمایش در .NET وجود دارد. آنها فرم های ویندوزی یا فرم های وبی ASP.NET هستند

با استفاده از ویندوز فرم ها، ما می توانیم برنامه های Desktop فرم محور (BaseForm) معمول را بسازیم. برنامه های ویندوز فرمی می توانند عناصر رابط کاربری (UI) بسیار غنی به کاربر پیشنهاد کنند. آن ها کم و بیش مشابه  فرم های ویژوال بیسیک هستند

جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل GridView و تقویم (Calendar)، یک رابط کاربری قدرتمند به همراه مقادیری کد فراهم می کنند

انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل C#  یا VB.NET پیاده سازی شوند

1-1-4- انتخاب های لایه Business Logic

     لایه Business Logic از چندین بخش تشکیل شده که عملیاتی نظیر اعتبار سنجی کار، گردش کار یا اعمال مشابه را انجام می دهند

Component های .NET این لایه را شکل می دهند

وب سرویس های ASP.NET هم می توانند به عنوان یک Business Logic عمل کنند. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در محلی بیرون از شبکه ما اتفاق افتاده باشد

Component  هایی که ما توسعه می دهیم به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از NET Remoting می توانیم آن ها را بر روی چندین ماشین توزیع کنیم

1-1-5- انتخاب های لایه Data Access

    این لایه با دستکاری داده ها مثل اضافه، حذف و به روز رسانی آن ها سر و کار دارد. داده هایی که به آن ها اشاره کردیم می توانند در RDBMS یا  XML قرار داشته باشند. بایستی لایه دسترسی به داده را چنان طراحی کنیم که دیگر لایه ها نیازی به اطلاع از وضعیت انبار داده ها نداشته باشند

1-1-6- انتخاب های DataLayer

    این لایه از این جهت حائز اهمیت است که داده را در خود نگهداری می کند و توابع موجود در Data Access Layer با برقراری ارتباط با Stored Procedure ها این لایه اعمال حذف، درج و بروز رسانی را انجام می دهدند

ADO.NET   فناوری دسترسی به داده تحت .NET است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان عدم اتصال می باشد. DataSet  نقش کلیدی را در این مورد بازی می کند. در بعضی موارد ما می توانیم ADO را هم برای دسترسی به داده ها استفاده کنیم ولی استفاده از آن باید دلیل معتبری داشته باشد

وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این گفته مخصوصا زمانی درست است که DataBase ما Provider داده ندارد. در این گونه موارد می توانیم جهت پر نمودن DataSet ها و نیز بازگرداندن نتایج درون DataSet به درخواست کننده، کد نویسی  انجام دهیم

علاوه بر ADO.NET  می توان از امکانات سیستم مدیریت DataBase  (مثل توابع و یا  Stored Procedures ) استفاده کرد

1-1-7- ارسال داده از یک لایه به لایه دیگر

     در تمامی موارد، نیازمند ارسال اطلاعات از یک لایه به لایه دیگر می باشیم. به طور معمول برنامه نویسان از رشته ها، آرایه ها و;. برای رسیدن به این هدف استفاده می کنند. در .NET ، DataSet ها یک  روش فوق العاده برای انتقال اطلاعات میان لایه ها فراهم می کنند. حتی می توانیم با برنامه نویسی یک DataSet ایجاد کرده و آن را با داده های خودمان پر کنیم

 بنابراین کلاس های برنامه با توجه به مطالب ذکر شده در مورد برنامه نویسی لایه ای مربوط به لایه ی Application  می باشند

ابتدا کلاس Sender و متدهای آن شرح می شود

1-2- پیشینه

     واژه Ajax را برای اولین بار آقای Jesse James Garrett در فوریه سال 2005 در مقاله Ajax: A New Approach to Web Applications استفاده کرد. اگرچه نام Ajax برای نخستین بار در سال 2005 ابداع شد، اما تاریخچه اکثر فناوری‌هایی که به آژاکس منتهی شدند به حدود یک دهه قبل و ابتکارات مایکروسافت در اسکریپت نویسی از راه دور بازمی‌گردد. با این حال تاریخچه فناوری‌هایی برای بارگذاری غیرهمروند محتویات یک صفحه وب، بدون نیاز به بارگذاری دوباره صفحه، به عناصر IFRAME (که در سال 1996 در نسخه 3 IE ارائه شد) و عناصر LAYER (که در سال 1997 در نسخه 4 Netscape ارائه شد، اما در نسخه‌های اخیر Mozilla متروکه شده است) باز می‌گردد. هردوی این عناصر، یک خصوصیت src دارند که می‌تواند یک آدرس URL خارجی را شامل شود و به این ترتیب اگر صفحه‌ای شامل یک کد JavaScript بارگذاری شود که صفحه والد را دستکاری می‌کند، نتیجه‌ای شبیه Ajax خواهیم داشت

      اسکریپت نویسی از راه دور مایکروسافت (یا MSRS که در سال 1998 مطرح شد) جایگزین مناسب‌تری برای تکنیک‌های گذشته به نظر می‌رسد. در این روش، داده‌ها به‌وسیله یک Java Applet دریافت می‌شود، و در سمت کلاینت برقراری ارتباط به‌وسیله JavaScript انجام می‌گیرد. این روش در نسخه‌های 4 و بعدتر IE و Netscape Navigator پشتیبانی می‌شود. سپس مایکروسافت در نسخه 5 IE شی XMLHttpRequest را ارائه کرده و برای اولین بار در Outlook Web Access که در Microsoft Exchange Server 2000 ارائه شد، از این روش با استفاده از شی XMLHttpRequest بهره جست

     در نهایت با تغییر و تحولاتی که در این مسیر بوجود آمد و جایگزینی شی XMLHttpRequest به جای Java Applet، اکنون روشی برای اسکریپ نویسی از راه دور متداول شده که آن‌را با عنوان Ajax می‌شناسیم

     اما آنچه باعث شد پس از این مدت، ناگهان توجه‌ها به سمت Ajax جلب شود، تمرکز Google بر این معماری بود. Google Map، Gmail و Google Suggest پروژه‌هایی بودند که باعث شد توجه کاربران، چه کاربران عادی و چه کاربران حرفه‌ای، به نحوه کار آنها جلب شود

1-3- سیر تکامل زبان های برنامه نویسی تحت وب

    سالهای اولیه شروع به کار سایت های اینترنتی متخصصین برای طراحی سایت از زبان هایی مثل html استفاده می کردند . حتما اطلاع دارید که زبانی مثل html توانایی آنچنانی برای طراحی صفحات هوشمند ندارد ولی باید در نظر گرفت که html در حیطه کاری خود فوق العاده قوی عمل می کرده است . برنامه های بزرگی مثل فرون پیج و دریم ویور نیز از این زبان قدیمی و با ثبات پشتیبانی می کنند . اما چیزی که باعث به فراموشی سپردن زبان های برنامه نوسی این گونه ی تحت وب شد چیزی نبود جز نیاز به پیشرفت و هوشمند سازی صفحات اینترنت و پیشرفت از صفحات استاتیک به داینامیک

       بعد از مدتی زبان های پیشرفته مانند asp و php و … روی کار آمدند. این زبان ها با استقبال خوبی مواجه شدند زیرا امکاناتی که در اختیار برنامه نویس قرار می دادند پیش از حد تصور آن بود . از این زبان ها به راحتی امکانی رو فراهم می کردند که در داخل صفحات اینترنت از بانک های اطلاعاتی استفاده شود و ارتباط با دیتابیس جزو مزیت های فوق العاده آنها بود . انقلاب بزرگ اینترنت از همین جا شروع شد و زمینه برای فعالیت دنیای مجازی فراهم شد . زبان های پیشرفته بستری رو فراهم کردند تا برنامه نویسان از خودشان را نشان دهند و خود نمایی کنند . با وجود این زبان های برنامه نویسی هر چیزی که به ذهن برنامه نویس می رسید به راحتی قابل پیاده سازی بود

    در حال حاضر نیز کاربران اینترنت باید منتظر انقلابی جدید باشند که وب را متحول می کند . وقتی که اولین برنامه های توسط AJAX و XML نوشته شد به این انقلاب نزدیک تر شدیم . زبان ای جکس و XML نیز نسل جدیدی از زبان های برنامه نویسی هستند برای پروژه ای عظیم به نام وب 2 به وجود آمدند

1-4- ای جکس ( AJAX ) چیست ؟

     بیشتر افراد فکر میکنند ای جکس یک تکنولوژی جدید در زمینه طراحی و تولید نرم افزارهای تحت وب میباشد. ولی در اصل ای جکس یک تکنیک جدید است ، که از تکنولوژی های قدیمی استفاده میکند. ای جکس از دو تکنولوژی XML و JavaScript استفاده میکند که از جمله تکنولوژی های قدیمی بستر وب محسوب میشوند

 اما واقعا ای جکس چیست و چرا به این سرعت رشد کرده است ؟

      برای پاسخ به این سوال و فهم بهتر این تکنیک بهتر است کمی به عقب برگردیم و برنامه نویسی تحت ویندوز را مورد بررسی قرار دهیم. اگر شما برنامه نویسی تحت ویندوز انجام داده باشید ، حتما به این مشکل بر خورد کرده اید! وقتی شما در صفحه دکمه ای دارید که تابعی را صدا میزند و آن تابع برای انجام کار ، زمان زیادی لازم داشته باشد ، چه اتفاقی برای نرم افزار شما خواهد افتاد ؟ نرم افزار شما قفل می‌شود یا به اصطلاح هنگ میکند !

خوب دلیل بروز این مشکل چیست ؟

     سیستم عامل برای اجرای هر نرم افزار ، یک ترد Thread برای آن در نظر میگیرد. در واقع این ترد اصلی Main Thread کنترل کل اجرای برنامه را برعهده دارد. این کنترل شامل جواب دادن به حرکات موس و دکمه های کیبورد است که سیستم عامل آنها را بصورت پیامهایی در اختیار نرم افزار قرار میدهد. حال اگر شما در برنامه خود تابعی داشته باشید که زمان اجرای زیادی لازم داشته باشد در واقع این ترد اصلی است که وظیفه اجرای این تابع را بر عهده دارد و در نتیجه دیگر نمیتواند به پیامهای سیستم عامل جواب دهد و اینگونه به نظر میرسد که نرم افزار هنگ کرده است

اما راه حل چیست ؟

     استفاده از ترد های دیگر برای اجرای کارهای سنگین ، با این کار ترد اصلی همچنان به سیستم عامل پاسخ میدهد و در عین حال نرم افزار نیز تابع سنگین خود را بدون مشکل اجرا میکند. در واقع با این تکنیک شما برای انجام کارهای مختلف از تردهای مختلف استفاده مینمایید. یعنی برای هر کار یک ترد جدید ایجاد میکنید

 حال که با مفهوم ترد آشنا شدید و کاربرد آن را در افزایش کارایی و کیفیت نرم افزار ها دیدید!

 این سوال پیش می آید که چگونه میتوان از این تکنیک تحت وب نیز بهره برد ؟

    جواب این سوال ، تکنیک ای جکس است! بزرگترین مشکل در نرم افزارهای تحت وب زمانی است که کاربر میخواهد اطلاعاتی را به سمت سرور بفرستد. برای ارسال اطلاعات از روش Post استفاده می‌شود. در واقع برای ارسال اطلاعات از کاربر به سمت سرور ، مرورگر تمام اطلاعات صفحه به اضافه تغییراتی که مد نظر کاربر بوده است را برای سرور ارسال میکند. حال آنکه این کار اضافی به نظر میرسد که کل اطلاعات صفحه به سمت سرور ارسال گردد. در حالی که میتوان فقط اطلاعاتی که تغییر کرده و نیاز است ، به سمت سرور ارسال گردد. در واقع ای جکس برای نیل به این هدف متولد شده است. به واسته استفاده از تکنیک ای جکس شما صفحه را طوری ایجاد میکنید که اجزای هرقسمت از صفحه به قسمت های دیگر وابسته نمی باشد و در واقع هر قسمت مستقل میباشد و تغییرات در هر قسمت، فقط همان قسمت را Refresh میکند

اما بیایید مروری بر تاثیرات تکنیک ای جکس بر نتیجه نهایی نرم افزارهای تحت وب بیاندازیم

 1) مهم ترین تاثیری که استفاده از تکنیک ای جکس در نرم افزارهای تحت وب دارد ، عدم نیاز به Refresh شدن کل صفحه میباشد. بدترین چیزی که وجود دارد این است که کاربر برای لود شدن هربار صفحه ، منتظر بماند. اکثرا در این حالت کاربر باید صفحه سفید و خالی را مشاهده کند که از لحاظ روانی ، سوای محسنات بیشمار نرم افزارهای تحت وب ، یک معضل اساسی به حساب می آید

          2) اضافه شدن امکاناتی که سالها نرم افزارهای تحت ویندوز از آن بهره میبرند ، مانند

 I) تب: شما به وفور تب را در پنجره های ویندوز می بینید. در واقع با استفاده از تب شما تعداد زیادی پنجره را در یک پنجره در کنار هم و با یک ساختار مشخص ایجاد میکنید. شما بدون ای جکس هم میتوانید در وب تب ایجاد کنید ولی برای حرکت بین تبها ، لازم است که صفحه Refresh شود ولی با استفاده از ای جکس شما میتوانید تبی بسازید که تفاوتی با نمونه تحت ویندوز نداشته باشد

II) حدس زنی ( Suggestion ) در این روش اطلاعات مورد نظر یک فیلد در یک فرم از پایگاه داده ها خوانده می‌شود. بهترین مثال این قسمت در سیستم ارسال ایمیل گوگل و یاهو وجود دارد. شما فقط قسمتی از نام گیرنده ایمیل را وارد میکنید و نام کامل و ایمیل فرد به نمایش در می آید

III) مرتب کردن اطلاعات در کنترل هایی مثل GridView و ;

IV) درگ اند دراپ ( Drag & Drop )  بهترین مثال شخصی سازی صفحه گوگل ویا وبلاگ گوگل می باشد

باقی امکانات و نمونه ها را میتوانید از اینجا http://ajax.asp.net/ajaxtoolkit نگاه کنید

3) امنیت : البته خود سیستم های برنامه نویسی تحت وب از امنیت لازم برخوردار هستند. نکته قابل توجه در اینجا این است ؛ زمانی که مرورگر در ابتدا وارد یک صفحه می‌شود که از تکنیک ای جکس در آن استفاده شده است ، فقط اطلاعات همان صفحه را می تواند ذخیره کند. تمام تراکنش های بعدی که توسط ای جکس انجام میگرد، فقط در حافطه مرورگر میماند و دیگر قابل ذخیره سازی نمی باشد. از لحاظ فنی نیز ، Trace اطلاعاتی که توسط ای جکس منتقل شده است، سخت تر می باشد، چونکه اطلاعات ناقص هستند و فقط شامل تغییرات می شوند

1-5- مکانیزم  ای جکس:

  هر عمل از سوی کاربر که به طور معمول موجب تولید یک تقاضای Http می شود به جای ارسال مستقیم به وب موجب فراخوانی یک فرمان جاوااسکریپتی و هدایت آن به موتور ای جکس می شود.هر نوع پاسخی به کاربر از سوی سرور (مانند کنترل صحت داده های وارد شده , ویرایش اطلاعات در حافظه)نیاز به ارسال یک صحفه جدید به سمت کاربر ندارد و تنها همان قسمتی که باید تغییر کند بروز می شود.به طور سنتی وقتی کاربر فرمی را پر می کند و به سایت ارسال می کند وب سرور با مقداردهی مجدد صفحه (Refresh)و نمایش یک پیغام و یا نتیجه پردازش اطلاعات به او پاسخ می دهد و به همین دلیل هم وقت سرور برای ارسال کل محتوای آن صفحه گرفته می شود و هم کاربر باید برای دریافت کامل آن صفحه منتظر بماند که نتیجه آن کاهش بازده سرور – پهنای باند و تلف شدن وقت و هزینه است.این مشکلات با ارایه Ajax کاهش قابل ملاحظه ایی داشته است

فصل دوم- شرح، امکانات و محدودیت‌های سیستم

 

برای دریافت اینجا کلیک کنید

سوالات و نظرات شما

برچسب ها

سایت پروژه word, دانلود پروژه word, سایت پروژه, پروژه دات کام,
Copyright © 2014 icbc.ir