چکیده
این پروژه ٬پروژه طراحی وب سایت با استفاده از نرم افزار asp.net و بانک اطلاعاتی access است.وب سایت طراحی شده دارای انواع سوالات و مقالات ریاضی جهت استفاده سریع و آسان مقاطع مختلف تحصیلی و همچنین داری لیست نمایش کتابها و امکاناتی جهت سفارش کتاب است که هدف آن از بین بردن محدودیت ٬سهل الوصول بودن و پرداخت نکردن هیچ گونه هزینه جهت استفاده مراجعه کنندگان محترم است.
فهرست مطالب
فصل اول: تجزیه و تحلیل بانک سئوالات
1-1-1راه های جمع آوری اطلاعات………………………………………………………………………………….
1-1-2 درخواست مشتری…………………………………………………………………………………………………..
1-1-3 قسمت هایی که آنالیز گر اضافه کرده است……………………………………………………………..
1-1-4 نیاز سنجی………………………………………………………………………………………………………………
1-1- 5امکان سنجی………………………………………………………………………………………………………….
1-1- 6برنامه نویسی شی گرا ……………………………………………………………………………………………
فصل دوم : نصب IIS و خصوصیات آن
1-2 از کدام ویندوز استفاده کنیم ……………………………………………………………………………………
2-2 سرویس دهنده وب…………………………………………………………………………………………………..
3-2 نصب IIS………………………………………………………………………………………………………………….
4-2 خواص پوشه ها ………………………………………………………………………………………………………
5-2 برنامه های کاربردی ASP.NET……………………………………………………………………….
6-2 انواع فایل ها در ASP.NET ………………………………………………………………………………
فصل سوم:شرح پروژه
1-3 صفحه home……………………………………………………………………………………………………………………..
2-3 صفحه about u………………………………………………………………………………………………………………..
3-3 صفحه contact u…………………………………………………………………………………………………………..
4-3 صفحه register now…………………………………………………………………………………………………..
5-3 صفحه login……………………………………………………………………………………………………………………
6-3 صفحه admin………………………………………………………………………………………………………………
7-3صفحه maghale……………………………………………………………………………………………………….
8-3 پایگاه داده………………………………………………………………………………………………………………….
منابع و ماخذ…………………………………………………………………………………………………………….
فهرست تصاویر
نمودار های مربوط به مدل سازی سیستم UML
1-2-2نمودار use case مربوط به طراحی سایت…………………………………………………………………………
1-2-3نمودار sequence مربوط به اخبار ………………………………………………………………………….
1-2-4نمودار sequence مربوط به عضویت…………………………………………………………………..
1-2-5نمودار sequence مربوط به سفارش کالا………………………………………………………………..
1-2-6نمودار sequence مربوط به سوالات…………………………………………………………………
1-2-7نمودار کلاس مربوط به بانک سوالات………………………………………………………………………..
1-2-8نمودار کالبریشن مربوط به اخبار …………………………………………………………………………
1-2-9نمودار کالبریشن مربوط به سفارش کالا به عضویت…………………………………………
1-2-10نمودار کالبریشن مربوط به سفارش کالا………………………………………………..
1-2-11نمودار کالبریشن مربوط به سوالات………………………………………………………………..
پیشگفتار
عصر حاضر، عصر اطلاعات، شبکه های کامپیوتری و ارتباطات است. وب به عنوان یک مدل ارتباطی قدرتمند در اینترنت محسوب می شود. به طوری که اغلب سازمانها، ادارات، شرکت ها، موسسات و حتی افراد تمایل به داشتن وب سایت در اینترنت دارند تا از طریق آن خودشان را به دنیا معرفی کنند. این موضوع یک اجبار است و همه افـراد در آینده نزدیکی به این نتیجه می رسند که بدون حضور در اینترنت، از دنیای ارتباطات غافل خواهند بود.
ASP.NET یک فناوری بسیار مهم است که به ساخت صفحات وب کمک شایانی کرده است، به طوری که در اندک زمان می توان وب سایت های مناسبی را طراحی و در اینترنت انتشار داد.
فصل اول
مدلسازی بانک سئوالات با Rational rose
1-1-1 راه های جمع آوری اطلاعات:
1- اینترنت: بازدید از سایت های مشابه در این زمینه و الگو برداری از سایت ها
2- کاربران نهائی: پرسش از کاربران نهائی در مورد نیاز ها و در خواست ها ی آنها از سایت
1-1-2 درخواست مشتری:
1- افراد با رمز منحصر به فردی وارد شوند :
به این گونه که هر فرد با یک رمز خاص وارد سایت شود که این کار نیازمند انجام دادن کارهای زیر است:
افتتاح حساب ویژه اینترنتی به این صورت که ما با ریختن پول به این حساب یک شماره فیش به ما داده می شود و ما این شماره فیش را در فرم ثبت نام سایت ذخیره و وارد می کنیم و خود بانک نیز لیستی از کسانی که به این شماره حساب پول واریز کرده اند در data base سایت قرار داده و به محض وارد کردن شماره فیش باعث می شود که آن شماره فیش با شماره فیشی که بانک به ما داده است چک شود و در صورت درست بودن فرد ثبت نام می شود.
2- اطلاعات مربوط به هر بخش جدا جدا نوشته شود:
مثلا بخش های مختلف ریاضی به صورت جدا باشد نظیر بخش احتمال و بخش انتگرال و غیره
3- هر بخش دارای دو قسمت باشد:
* تستی : سوالات تستی مربوط به هر بخش به صورت مجزا باشد
* تشریحی : سوالات تشریحی مربوط به هر بخش به صورت مجزا باشد
توجه: با کلیک کردن بر روی هر سوال جواب مربوطه در یک صفحه مجزا ظاهر شود.
4- سوالات متفرقه:
* تست کنکور های سال قبل
* سوالات تشریحی سال های قبل
* تست کنکور های آزمایشی
وغیره………….
5- ارتباط با ما :
اگر یک سری از افراد سوالاتی غیر ازسوالات موجود در سایت داشته باشند با استفاده از خاصیتی که طراحی شده سوال خود را مستقیما با مدیر سایت در میان بگذارد.
انتقادات و پیشنهادات بازدید کننده در این قسمت مستقیما با مدیریت سایت یا سازنده سایت در میان گذاشته می شود.
1-1-3 قسمت هایی که آنالیزگر اضافه کرده است:
1- فروش: فروش نرم افزار های جدید برنامه های آموزشی و بازی های جدید موجود در بازار و لیست تمام کتاب های موجود در مورد ریاضیات و فروش آنها به صورت اینترنتی
به این صورت که با قرارداد بستن با یک کتاب خانه می توانیم لیست تمام کتاب های موجود برای فروش اینترنتی را در سایت فراهم بیاوریم
2- لطیفه و طنز های مربوط به ریاضی: به صورت تست های هوش و بازی و ریاضی
3- اخبار: اخبار جدید در مورد نرم افزار های آموزشی و تکنولوژی جدید مربوط به علم کامپیوتر
1-1-4 نیاز سنجی :
1- شامل درخواست ها و نیاز مندی های صاحب سایت:
نظیر در خواست هایی که برای ساخت سایت مورد استفاده قرار می گیرند که قبلا ذکر شده است
2- شامل نیاز ها و در خواست های بازدید کننده سایت:
* کار کردن با web page مورد نظر راحت باشد:
بازدید کننده باید بتواند بین صفحات به راحتی جابه جا شوند و نیاز های خود را به راحتی دریافت کنند
* محیط سایت باید شفاف و رسا باشد:
یعنی موضوعات موجود در سایت به راحتی برای عموم قابل فهم باشد
* نقشه سایت وجود داشته باشد:
برای پیدا کردن راحت تر قسمت های موجود در سایت و ارتباط با آنها
* link ها باید مرتبط با موضوع مربوطه باشد:
مثلا زمانی که یک لینک مربوط به احتمال می باشد لینک اتصال دهنده نیز مربوط به احتمال باشد.
* برا ی عموم و مقاطع مختلف قابل فهم باشد:
یعنی هر بازدید کننده در هر شرایط سنی بتواند به راحتی از امکانات موجود در سایت استفاده کند.
* دارای لیست سایت های آموزشی مرتبط باشد:
نظیر سایت های آموزشی موجود برای ریاضیات و سایت های مهم جهان در زمینه ریاضی
1-1-5 امکان سنجی :
1- امکانات مورد نیاز برای ساخت سایت :
نظیر برنامه های مورد نیاز برای طراحی صفحات وب و برنامه های جانبی آن
2- باصرفه بودن:
* سود مربوطه سایت:
نظیر سودی که از این طریق برای صاحب سایت حاصل می شود مانند درآمد از طریق فروش سوالات و نرم افزار ها و کتاب ها و بدست آوردن اعتبار برای صاحب سایت
* سود مربوطه به کاربر نهایی:
به دست آوردن سوالات بسیار زیاد به صورت یکجا و با هزینه بسیار کم
* اطلاعات راحت و ساده طبقه بندی و ساده تر قابل دسترسی می باشد
* اطمینان نسبت به سیستم ، و به دست آوردن راحت تر اطلاعات خود
1-1- 6برنامه نویسی شی گرا
نوع برنامه نویسی به کار رفته برنامه نویسی شی گرا می باشد زیرا خصوصیات یک برنامه نویسی شی گرا را دارا می باشد .
یعنی نگاه کلی به یک چیز و بررسی آن و تجزیه آن مسئله تا جایی که برای ما مفید باشد اساس کار برنامه نویسی شی گرا می باشد.
اجزاء تشکیل دهنده شی:
1- ویژگی هی و خصوصیات
2- رفتار ها و توابع و عملکردها
در برنامه نویسی شی گرایی باید به سه نکته توجه کرد :
1- Encapsolation : سطح دستری
* Public
* private
* protect
2- ارث بری
3- چند ریختی
دید انتزاعی در اشیاءشی گرایی : در اشیاء شی گرایی دید به صورت انتزاعی است یعنی ما به اشیاء به صورت انتزاع نگاه می کنیم و صفات و خصوصیات شی را تا آنجایی که لازم داریم بیرون می آوریم.
برای تجزیه و تحلیل یک سیستم باید یک سری مراحل را طی کنیم:
1- جمع آوری اطلاعات
2- نیاز سنجی
3- امکان سنجی
با استفاده از 9 مدل یا نمودار سیستم ما به نرم افزار مورد نظر تبدیل می شود :
1- نمودار use case یا سناریو نگار :
تحقیقات و موضوعات که در فاز شناخت برای سیستم خود جمع آوری کرده ایم را به عنوان سناریو در نظر می گیریم یعنی ما باید سناریو بدست آمده را مدل کنیم .
در use case 3 مولفه اصلی داریم :
1- use case : شامل تمام آن چیز هایی است که درون سیستم قرار دارد از سطح خیلی بالا نگاه می کنیم.
2- Actor :شامل تمام آن چیز هایی است که خارج از سیستم قرار دارد .
3- رابطه ها : ارتباط و رابطه بین use case و Actor را نشان می دهد.
در use case ما زبان کار فرما را مدل می کنیم یعنی همان زبان برنامه نویس .
استفاده کنندگان از use case :
1- مشتریان : مشکلات و یا موضوعاتی را که ما در سناریو نگار به آن توجه نکرده ایم را به ما می گویند چون زبان خودشان است.
2- مهندسین مشاور : استفاده از use case برای طرح دادن و تز دادن
3- آنالیزر ها یا تجزیه کنندگان : منظور خودمان که تحلیلگر هستیم
رابطه ها:
1- رابطه uses : به یک use case اجازه استفاده از عملیات مهیا شده توسط یک use case دیگر را می دهد
-2رابطه include : رابطه ای که در آن یک use case برای تکمیل و ظایف خود به یک یا چند use caseدیگر نیازمند است را رابطه include گویند.
3- رابطه extendey : هنگامی که یک use case بتواند به دو یا چند شکل مختلف اجرا شود و آنگاه ان اشکال مختلف این use case را extend کرده است.
4- رابطه genarlization : هرگاه رابطه u1 یک شکل کلی از رابطه u2 باشد از رابطه فوق استفاده می کنیم
نمودار توالی دو رو دارد : 1- توالی انجام کار ها با کار فرما 2- پیدا کردن object های سیستم
نمودار کالبریشن : نوع مبادره و همکاری بین object ها مشخص می شود و کنترل و تست کردن نمودار
sequence نوع و طریقه همکاری بین object ها
class diagram : یک محل خوب برای پیدا کردن کلاس ها سناریو نگار جریان رخ دادهای سناریو نگار است با نگاهی به اسامی در جریان رخ داد ها به شما اجازه خواهد داد تا بدانید چه تعدادی از کلاس ها وجود دارد و قتی به اسامی نگاه می کنید یکی از چهار حالت زیر است:
1- Actor (عامل) 2- یک کلاس 3- یک صفت از یک کلاس 4- یک اصطلاح که یک عامل کلاس یا صفت نیست با خارج کردن همه این اسامی کلاس ها مشخص می شوند و همچنین می توان object ها را در نمودار sequence یا کالبریشن امتحان کنید به تشابه بین object ها نگاه کنید تا کلاس ها را پیدا کنید .
ما می توانیم یک سری کلاس دیگر را به مدل خود اضافه کنیم:
1- کلاس معمولی یا regular
2- parameterized 3- instantiater 4- utility 5- Meta
Parameterized : یک کلاس پارامتری شده کلاسی است که برای ساختن یک خانواده از کلاس های دیگر استفاده نشده است. مخصوصا یک کلاس پارامتری شده تعداد مرتبی از محفظه است همچنین به عنوان یک الگو شناخته شده است.
Instantiater : کلاس نمونه : یک کلاس نمونه یک کلاس پارامتری شده است که مقادیر واقعی را برای آرگومان ها دارد.
Utility : یک کلاس utility مجموعه ای از عملگر هاست مثلا ممکن است شما تعداد توابع ریاضی داشته باشید که در طول سیستمتان استفاده شده است این توابع می توانند با هم جمع شده و در یک کلاس utiliti قرار داده شوند تا بوسیله کلاس های دیگر سیستم استفاده شوند.
Meta : یک Meta کلاس کلاسی است که در نمونه هایش کلاس ها بیشتر از object ها است.
چهار رابطه بین کلاس ها وجود دارد:
1- Association : رابطه های معنایی بین کلاس ها هستند که نمودار کلاس بوسیله یک خط ساده کشیده می شود
وقتی یک Assocation دو کلاس را به هم وصل می کند مانند شکل قبل هر کلاس می تواند از طریق یک نمودار توالی و یا یک نمودار همکاری (( کالبریشن)) به کلاس دیگر پیغام بفرستد Assocation ها می توانند در UMl دوطرفه یا یک طرفه باشند. Assocation های دوطرفه می توانند به وسیله فلش دوطرفه و هم بوسیله یک خط ساده نمایش داده شوند .
2-dependency: نیز دو کلاس را به هم وصل می کند اما با یک تفاوت کوچک نسبت به Assocation ها . dependency ها همیشه یک طرفه هستند و dependensncy بوسیله یک خط چین فلش نمایش داده می شود.
3- Aggregation : یک فرم قویتر از Assocation ها است یک Aggregation یک رابطه بین یک واحد کل و بخش های آن می باشد.
4- Generalization ها : برای نشان دادن یک رابطه وراثتی بین دو کلاس می باشند.
مراحل پیدا کردن رابطه بین کلاس ها :
1- کار را با بررسی نمودار های Sequence و همکاری کالبریشن آغاز می کنیم اگر کلاس A از طریق نمودار همکاری یا توالی یک پیغام به کلاس B می فرستد یک رابطه باید بین آنها وجود داشته باشد معمولا رابطه هایی که با استفاده از این روش پیدا می کنیم Assocation یا Dependency می باشند
2- کلاس ها را بررسی می کنیم و به دنبال رابطه های کل به جزء می گردیم هر کلاسی که از سایر کلاس ها تشکیل شده باشد ممکن است یک Assocation باشد.
3- کلاس هایتان رابررسی کنید و به دنبال رابطه های generalization بگردید سعی کنید کلاس هایی را پیدا کنید که ممکن است انواع مختلف داشته باشند.
4- کلاس هایتان را برای یافتن رابطه های بیشتر generalization بررسی کنید سعی کنید کلاس هایی را پیدا کنید که مشترکات زیادی با هم دارند .
Stereotype : مکانیزی برای دسته بندی کلاس ها
1- کلاس Boundary : کلاس هایی هستند که روی حاشیه بین سیستم شما و بقیه جهان قرار می گیرد اینها باید شامل همه فرم ها و گزارش ها و واسط های شما با سخت افزار مانند چاپگر ها . اسکنر ها و واسط هایی با دیگر سیستم ها باشند.
2- Entity : کلاس های Entity اطلاعات را نگه می دارند که آن را در انباری طولانی ذخیره می کند به عنوان مثال در سیستم کارمند، کلاس Employ یک نمونه خوب از Entity است معمولا کلاس های Entity در جریان رخ دادها پیدا می شوند.
3- کلاس های کنترل : مسئول هماهنگ کردن کلاس های دیگر هستند به طور ویژه برای هر use case یک کلاس کنترل وجود دارد که دنباله ای از رخدادها را در طول use case کنترل می کند دقت کنید که کلاس کنترل خودش هر تابعی را به خارج منتقل نمی کند کلاس های دیگر پیغام های زیادی به آن نمی فرستند در عوض پیغام های زیادی به خارج می فرستند.
1-2-1 نمودار های مربوط به مدل سازی سیستم UML :
1- نمودار use case : نمودار مربوط به اطلاعات موجود در برنامه می باشد که آن را به صورت نمودار کشیده ایم. و فقط قابل فهم برای مشتری می باشد و به زبان برنامه نویسی نزدیک نیست.
2- نمودار sequence یا نمودار توالی(( همکاری )):که توالی انجام کار را نشان می دهد یعنی مراحل انجام کار را نشان می دهد
3- نمودار کلاس:یک محل خوب برای پیدا کردن کلاس ها سناریو نگار یا جریان رخداد ها می باشد.
-4 نمودار کالبریشن: نوع مبادله و همکاری بین object ها مشخص می شود و کنترل و تست کردن نمودار sequence نوع و طریقه همکاری بین object ها.
5- سناریو نگار((جریان رخدادها)):
نحوه کارکرد پروژه به زبان ساده برای فهم مشتری مثلا یک مشتری وارد سایت شده و بعد از عضویت در سایت و وارد کردن شماره فیش اقدام به دیدن سوالات یاخرید نرم افزار می کند و این یک جریان رخداد برای وارد شدن مشتری به سایت می باشد.
1-2-2 نمودار use case مربوط به طراحی سایت
در نمودار use case دو actor به نام مشتری و متصدی فروش وجود دارد.use case سوالات از سه use case دیگر به نام تستی،متفرفه،تشریحی و use case اخبار از دو use case دیگر به نام ریاضی و متفرقه تشکیل شده است.در use case فروش ابتدا مشتری بایستی نوع سفارش خود که کتاب یا نرم افزار است را مشخص کند و سپس سیستم موجودی کالا و موجودی حساب مشتری را چک می کند که در این صورت مشتری ابتدا بایستی ثبت نام کرده باشد.در صورت تایید سفارش و پرداخت هزینه، ،مشتری نوع تحویل خود که به صورت پستی یا در محل است را انتخاب کرده و بدین صورت کالا را تحویل می گیرد.
1-2-3 نمودار sequence مربوط به اخبار
در نمودار sequence مربوط به اخبار ابتدا مشتری وارد قسمت اخبار می شود.سپس در قسمت اخبار بایستی نوع اخبار را مشخص کند.که انواع آن ریاضی،غیر ریاضی ،تصویری،اسلایدی،نوشتاری و صوتی است که با انتخاب یکی از آن ها قسمت مورد نظر نمایش داده می شود.
1-2-4 نمودار sequence مربوط به عضویت
در نمودار sequence مربوط به عضویت، مشتری انبتدا درخواست عضویت در سایت را صادر می کند.سپس قسمت کنترل مشخصات مشتری را کنترل می کند که در صورت پرداخت کردن فیش توسط مشتری و ارسال تایید از قسمت کنترل به قسمت عضویت، مشتری در سایت ما عضو می شود.
1-2-5 نمودار sequence مربوط به سفارش کالا
در نمودار sequence مربوط به سفارش کالا ابندا مشتری درخواست ورود به قسمت فروش را صادر می کند.در قسمت فروش به مشتری حق انتخاب کتاب یا نرم افزارهای موجود داده می شود که مشتری بنا به احتیاج خود یکی یا هر دو را سفارش می دهد.در قسمت کنترل، موجودی حساب مشتری و موجودی کالاها بررسی می شود که در صورت تایید در قسمت فروش کالا سفارش و به مشتری تحویل داده می شود.
1-2-6 نمودار sequence مربوط به سوالات
در نمودار sequence مربوط به سوالات ابتدا مشتری عملیات ورود به بانک سوالات را انجام می دهد سپس با پاسخ سیستم مبنی بر اتخاب نوع سوالات (تستی،تشریحی،غیره) روبرو می شود که با انتخاب نوع سوالات مشتری سوالات مورد نظر خود را می بیند.
1-2-7 نمودار کلاس مربوط به بانک سوالات
در نمودار کلاس، خصوصیات یک کلاس که آن را از کلاس های دیگر متمایز می کند و عملیات یک کلاس نشان داده می شود.در این نمودار کلاس های valed، news، moshtari، ozviyat، control، forosh ،soalat ،narmafzar، ketab وجود دارد که کلاس های مشتری ،کنترل و فروش را توضیح می دهیم.در کلاس مشتری خصوصیاتی که وجود دارد نام،نام خانوادگی،فیش،میزان تحصیلات و سن است.عملیاتی که در این کلاس انجام می شود تحویل کالا ،ورود به قسمت اخبار، ورود به قسمت عضویت، ورود به قسمت فروش ،ورود به قسمت سوالات، نمایش اخبار و نمایش سوالات است.یعنی در کلاس مشتری تمام این عملیات را می توان انجام داد. کلاس مشتری با کلاس های اخبار، سوالات فروش و عضویت رابطه دارد.در کلاس فروش خصوصیات نقدی ،چک و کارت اعتباری وجود دارد .عملیاتی که در این کلاس می توان انجام داد انتخاب نرم افزار یا کتاب، سفارش کالا، درخواست کنترل، ورود به قسمت فروش و تایید فروش است.کلاس فروش با کلاس های کتاب، نرم افزار، سوالات، مشتری و کنترل رابطه دارد.در کلاس کنترل ،عملیاتی که می توان انجام داد کنترل مشخصات، کنترل موجودی و کالا، کنترل فیش ،کنترل موجودی حساب، تایید سفارش و درخواست کنترل است.کلاس کنترل فقط با کلاس های فروش و عضویت رابطه دارد.
8-2-1 نمودار کالبریشن مربوط به اخبار
9-2-1نمودار کالبریشن مربوط به سفارش کالا و عضویت
10-2-1نمودار کالبریشن مربوط به سفارش کالا
1-2-11نمودار کالبریشن مربوط به سوالات
فصل دوم
نصب IIS و خصوصیات آن
1-2 از کدام ویندوز استفاده کنیم
می توانید از ویندوز 2..3و2… NTوXP برای ساخت وب به وسیله ASPNET استفاده کنید . در این جا از سیستم عامل ویندوز XPاستفاده خواهد شد .
2-2 سرویس دهنده وب
سرویس دهنده وب با استفاده از نرم افزار خاصی به نام IIS می تواند به کاربران خدمات ارایه دهد. برای استفاده از ASPET کامپیوترتان باید به عنوان یک سرویس دهنده وب عمل کند. در واقع وقتی بر روی کامپیوترتان در حال تست کردن برنامه های ASPNETهستید مثل این است که کامپیوترتان با مشتری راه دور اتصال اینترنت دارد وقتی صفحه ای را تست می کنید از طریق IISبه صفحه دستیابی دارید .
(که خدمات ASPNET را ارایه می کند)و HTMLنهایی را از طریق انتقال HTTP بازیابی می نماید تنها تفاوت شیوه انجام کار کامپیوترتان و سرویس دهنده وب این است که کامپیوترتان توسط مشتریان راه دور در اینترنت قابل مشاهده و دستیابی نیست به این ترتیب می توانید صفحات خود را با امنیت کامل و به طور واقعی تست کنید. قبل از نصب نرم افزار Visual Studio NET که بستر Asp است باید IIS را در سیستم خود نصب کنید.
3-2 نصب IIS
همان طور که گفته شد IIS یکی از قطعات ویندوز (2… وXP ) است. برای نصب آن در ویندوز XPبه صورت زیر عمل می کنید:
1- گزینه Start/Settings/Control Panel را انتخاب کنید.
2- بر روی Add Or Remove Programs کلیک مضاعف کنید.
3- در پنجره ای که باز می شود دکمه Add/Remove Windows Component را انتخاب کنید.
4- اگر در کنار گزینه(IIS) Internet Information Sevicesعلامت √وجود داشته باشد به معنای این است که IISفعلا در سیستم شما نصب شده است اما اگر این گزینه فاقد علامت √باشد به معنای این است که IISدر سیستم شما نصب نیست. برای نصب آن در داخل مربع کنار آن کلیک کنید تا علامت √در آن قرار گیرد. سپس دکمه Nextرا کلیک کنید در ادامه کار از شما خواسته می شود که CDویندوز را در درایو CD قرار دهید. سپس پس از انجام این کار برنامه IIS در سیستم شما نصب خواهد شد پس از این که IISنصب شد پوشه هایی برای وب سایت شما بر روی درایوی که ویندوز نصب شده است ایجاد می گرد. به عنوان مثال اگر ویندوز در درایو C نصب شده باشد مسیر C;/netpub/wwwroot در کامپیوترتان ایجاد می گردد. فایل هایی که در این مسیر (یعنی در پوشه wwwroot) ایجاد می شوند گویی در ریشه سرویس دهنده وب ذخیره شده اند در واقع پوشه ریشه سرویس دهنده وب است.
برای اینکه مطمئن شوید IIS به درستی نصب شده است پوشه C:/Inetpub/wwwroot را بررسی کنید. این پوشه باید فایلی به نام IocaIstart.asp داشته باشد. این فایل یک فایل ساده ASP (نهASP.NET) است که به طور خودکار همراه IIS نصب می شود. اگر برروی آن کلیک مضاعف کنید سعی می کند برنامه ی FrontPage یا PhotoShop را پیدا کند. اگر چنین برنامه هایی را نیابد صفحه ای را باز کرده از شما می خواهد برنامه ای را برای اجرا انتخاب نمایید. سعی کنید این فایل را به طور مستقیم (از طریق کلیک مضاعف ) اجرا نکنید.
این محدودیت به روش پردازش فایل های ASP وASP.NETبستگی دارد. در محیط وب IISبا در خواست فایل مواجه می شود و با توجه به پسوند فایل مشخص می کند که استفاده از آن فایل مجاز است یا خیر و در صورت مجاز بودن چه برنامه ای برای اداره کردن آن لازم دارد. فایل های HTML معمولی مستقیما به مرورگر ارسال می شوند.
اما فایل های ASPتوسط خدماتَASP پردازش می شوند (این خدمات به طور خودکار توسط IIS به کار گرفته می شوند.) خدمات ASP یک فایل HTML با نتیجه نهایی پردازش آن را ایجاد می کند. IIS این فایل را به مشتری می فرستد. بنابراین برای تست صحت عملکرد IISباید فایل IocaIstart.aspرا از طریق IIS درخواست کنید.
برای این کار مرورگر وب را راه اندازی نمایید و یکی از آدرس زیر را در نوار آدرس مرورگرتان تایپ کنید: http://IocaIhost/IocaIrt.asp
http://127…..1/IocaIstart.asp
4-2 خواص پوشه ها
مجوز ها بر اساس پو شه ها مدیریت می شوند. یعنی تمام فایل های موجود در پوشه از مجوز یکسانی استفاده می کنند (اما همه ی انواع فایل ها یکسان رفتار نمی کنند). برای اعمال تنظیمات مختلف برای فایل ها می توانید یک پوشه مجازی ایجاد کنید که حاوی چند پوشه دیگر باشد و برای هر پوشه خواص مختلفی را در نظر بگیرید.
برای پیکر بندی گزینه های پوشه ها به روشی که قبلا گفته شد مدیر IIS را اجرا کنید و مراحل قبلی را دنبال کنید. تا صفحه ای باز شود سپس مراحل زیر را انجام دهید:
1. علامت +کنار DefauIt Web Siteرا کلیک کنید تا باز شود. اکنون پوشه های موجود در داخل پوشه wwwrootرا مشاهده می کنید. که عبارتند از:
* پوشه های معمولی: پوشه ای در داخل پوشه مجازی دیگر است.
* پوشه هایی که حاوی تصویر کره زمین هستند:این پوشه ها پوشه های مجازی محض هستند.
* پوشه هایی که به شکل بسته بندی ظاهر می شوند:این پوشه ها پوشه های مجازی هستند که حاوی برنامه های کاربری وب اند وقتی با استفاده از ویزارد پوشه مجازی را ایجاد می کنید به عنوان یک برنامه کاربردی وب پیکر بندی نیز می شود. معنایش این است که مجموعه ای از منابع را به اشتراک می گذارد و در قلمرو برنامه کاربردی خودش اجرا می گردد.
2. برای پیکر بندی هر پوشه بر روی آن کلیک راست کرده در منویی که ظاهر می شود گزینه Properties را انتخاب کنید.
که این شکل حاوی پنج صفحه است. صفحه Virtual Directory مهمترین گزینه ها را دارد. بر روی این صفحه کلیک کنید تا گزینه هایش را ببینید. در این صفحه می توان مجوزهایی را که در هنگام ایجاد پوشه مجازی تعیین شدند تغیر داد.
سه گزینه با دکمه های رادیویی در بالای صفحه وجود دارند که مشخص می کنند محتویات آن پوشه از کجا تامین می شوند. گزینهLocal Path مسیر پوشه فیزیکی متناظر با پوشه مجازی را مشخص می کند. دقت کنید که اگر پوشه مورد نظر یک پوشه مجازی باشد با استفاده از این گزینه می توانید پوشه فیزیکی متناظر با آن را تعیین کنید (دکمه Browse را کلیک نمایید).
وقتی پوشه مجازی را با استفاده از ویزارد می سازید آن پوشه به عنوان یک برنامه کاربردی وب پیکربندی می شود. برای تغییر آن می توانید دکمه Remove موجود در کنار گزینه Application را تغییر دهید.
3. پس از انجام تغییرات مورد نیاز دکمه ok را کلیک کنید.
5-2 برنامه های کاربردی ASP.NET
اغلب برنامه های عادی معمولا از یک فایل اجرایی(با پسوند exe)تشکیل می شوند. اما برنامه های کاربردی ASP.NET از چندین صفحه تشکیل شده است. به این ترتیب می توان برنامه کاربردی ASP.NET را در نقاط مختلفی قرار دهد و با استفاده از پیوندها به بخش های مختلف وب سایت مراجعه کرد.
درASP.NET وب سایت را می توان یک برنامه کاربردی در نظر گرفت. هر برنامه کاربردی ASP.NET از منابع و گزینه های پیکربندی خاصی استفاده می کند. صفحات مربوط به برنامه کاربردی دیگر ASP.NET(حتی اگر در همان سرویس دهنده باشد)در این منابع شریک نیست.
از نظر تکنیکی هر برنامه کاربردی ASP.NET در قلمرو کاربردی خاصی اجرا می شود. قلمرو کاربردی در داخل حافظه از هم تفکیک می شوند و معنایش این است که اگر یک برنامه کاربردی وب دچار خطا شود تاثیری در اجرای سایر برنامه های کاربردی وب ندارد. به عبارت دیگر صفحات یک برنامه کاربردی وب نمی توانند به اطلاعات برنامه کاربردی دیگری که در حافظه است دسترسی داشته باشند.
در تعریف استاندارد کاربردی ASP.NET گفته می شود که شامل مجموعه ای از فایل ها صفحات مولفه ها اداره کننده ها و کد اجرایی است که می تواند در یک پوشه مجازی در سرویس دهنده وب قرار داشته باشند.
6-2 انواع فایل ها در ASP.NET
برنامه های کاربردی ASP.NET از برنامه های کاربردی همتای ASP پیچیده تر هستند و از چندین نوع فایل پشتیبانی می کنند.
aspx: صفحات ASP.NET. حاوی واسط کاربر وتمام یا بخشی از کد است. کاربران باید مستقیما به یکی از این فایل ها برای شروع وب سایت مراجعه کنند.
Ascx: کنترل های کاربر هستند. خیلی شبیه به صفحات وب هستند ولی در داخل فایل aspx اجرا می شوند. با استفاده از این فایل ها می توان واسط کاربر مناسبی را طراحی کرد.
Asmx: خدمات وب asp.net هستند. خدمات وب متفاوت از صفحات وب عمل می کنند اما از منابع تنظیمات پیکربندی و حافظه مشترکی بهره می برند.
Web.config: فــایل پیکر بندی برنامه کاربردی ASP.NETاست که براساس XMLنوشته می شود. این فایل شامل:
global.asax: فایل برنامه کاربردی سراسری است. از این فایل برای تعریف متغیرهای عمومی و پاسخ به رویدادهای عمومی استفاده می شود.
Discoیا vsdisco: فایل های پوشه ای خاص اند که مشتریان با استفاده از آن ها می توانند خدمات وب را بیابند.
Csیا bv: فایلهای کد هستند که در ویژوال بیسیک با #c تشکیل می شوند. این فایل ها موجب می شوندکد از منطق واسط کاربردر صفحه وب تفکیک شود.
Resx: این فایل ها هنگام استفاده از ویژوال استودیونت ایجاد می شوندو برای ذخیره اطلاعاتی به کار می روند که در هنگام طراحی اضافه می کنید.
Vbproj,suo,slnو csproj: این فایل ها توسط ویژوال استودیو نت برای دسته بندی پروژه ها (مجموعه ای از فایل ها در برنامه کاربردی وب)و راه حل ها (مجموعه ای از پروژه ها) به کار می روند. لیستی از فایل های مرتبط و گزینه های مربوط به محیط ویژوال استودیو نت را ذخیره می کنند. این فایل ها در هنگام نوشتن صفحات وب به کار می آیند و نباید به سرویس دهنده وب ارسال شوند. تنظیمات امنیتی ASP.NET مانع از دستیابی کاربران به این فایل ها می شود.
علاوه بر این پوشه مربوط به وب سایت می تواند حاوی فایل هایی باشد که مخصوص ASP.NET نباشد مثل فایل تصویر فایل های HTML و فایل های مربوط به شیوه نامه ها(فایل های css). ویژوال استودیو نت به طور خودکار فایل styles.css را به پروژه اضافه می کند که می توانید سبک های مورد استفاده در کنترل های صفحات وب را به آن اضافه کنید. البته این فایل ها بیشتر با HTML به کار می روند تا ASP.NET. اغلب این فایل ها اختیاری اند. می توانید برنامه های کاربردیی بنویسید که فقط شامل فایل های aspx یا asmx باشند.
فصل سوم
شرح پروژه
صفحه های موجود در وب سایت:
1- صفحه home
2- صفحه about u
3- صفحه contact u
4- صفحه register now
5- صفحه login
6- صفحه admin
7- صفحه maghale
1- 3 صفحه home:
این صفحه شامل یک سری اطلاعات عمومی شامل تصاویر و اخبار و موضوع های مختلف است و اولین صفحه در زمان بار گذاری سایت می باشد که دارای برنامه نویسی خاصی نیست و از یک سری جداول ساده برای طراحی آن استفاده شده است.با استفاده از این دستور ما می توانیم به هر صفحه ای که بخواهیم لینک داشته باشیم.
<a href="name safhe.aspx">name safhe</a>
2- 3 صفحه about us :
این صفحه به دو قسمت تقسیم می شود که یکی درباره سازنده سایت و دیگری درباره مدیریت سایت می باشد که اطلاعات مورد نیاز کاربر جهت آشنایی با سازنده سایت و مدیریت سایت در این قسمت نوشته می شود.
3- 3 صفحه contact u :
در این صفحه همان طور که از نامش پیدا است جهت ارتباط کاربر با سازنده یا مدیریت سایت است که با پر کردن فرم مربوطه اطلاعات به دست آنها می رسد .
این صفحه شامل فرمی است که در آن یک textbox نام را می گیرد و یک textbox نام خانوادگی و یک textbox دیگر نیز موضوع را می گیرد و یک DropDownlist برای انتخاب گیرنده ( مدیریت سایت یا سازنده سایت) و یک textbox دیگر هم برای گرفتن توضیحات و یک Button برای ارسال اطلاعات به database و در قسمت دیگر نیز شماره مربوط به روابط عمومی پست الکترونیکی و اطلاعات دیگر استفاده شده است.
کد نویسی مربوط به دکمه ارسال
Imports System.Data.OleDb
Partial Class contactu
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Con As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("./app_data/banktestmath.mdb"))
Dim Cm As OleDbCommand
Con.Open()
Cm = New OleDbCommand("Insert into [contactu] ([name],[family],[email],[mozo],[girandeh],[memoha]) values ('" & TextBox2.Text.Trim.ToLower() & "','" & TextBox3.Text.Trim.ToLower() & "','" & TextBox4.Text.Trim.ToLower() & "','" & TextBox5.Text.Trim.ToLower() & "','" & DropDownList1.SelectedItem.Text() & "','" & TextBox6.Text.Trim.ToLower() & "' )", Con)
Cm.ExecuteNonQuery()
Con.Close()
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
TextBox5.Text = " "
TextBox6.Text = " "
End Sub
End Class
4- 3 صفحه register now :
در این صفحه همان طور که از نامش پیدا است در موردعضویت کاربر در سایت برای استفاده از اطلاعات موجود در سایت می باشد که با پر کردن فرم مربوطه اطلاعات به جدول مربوطه ارسال می شود .
این صفحه شامل فرمی است که در آن یک textbox نام را می گیرد و یک textbox نام خانوادگی و یک DropDownlist برای انتخاب گروه سنی ( اول دبیرستان , دوم دبیرستان و غیره) و یک textbox دیگر هم برای گرفتن آدرس و یک Button برای ارسال اطلاعات به database می باشد.
5- 3 صفحه login :
این صفحه برای login شدن کاربر می باشد تا با استفاده از رمزی که در اختیار دارد بتواند از صفحه مقاله استفاده نمایید چون در صورتی کاربر می تواند از صفحه مقاله دیدن نماید که دارای رمز کاربری معتبری باشد. .پسوردی که مدیر سایت وارد می کند با استفاده از قطعه کدی که در برنامه وجود دارد((hashing تبدیل به یک رمز می شود که جهت بالا بردن امنیت از این روش اتسفاده شده است چون در این صورت اگر کسی به بانک اطلاعات دسترسی داشته باشدنمی تواند به رمز ورود کاربران را تشخیص دهد.
کد نویسی مربوط به دکمه log in
Imports System.Data.OleDb
Partial Class LOG_IN
Inherits System.Web.UI.Page
Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
Dim Con As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("./app_data/banktestmath.mdb"))
Dim Cm As OleDbCommand
Dim Dr As OleDbDataReader
Con.Open()
Cm = New OleDbCommand("Select * from [login] where [username]='" & Login1.UserName.Trim.ToLower() & "' And [password]='" & Login1.Password.Trim().GetHashCode() & "'", Con)
Dr = Cm.ExecuteReader()
Dr.Read()
If Dr.HasRows = True Then
Session("valid") = "yes"
If Dr("admin").ToString.ToLower() = "true" Then
Session("admin") = "yes"
Response.Redirect("admin.aspx")
Else
Session("admin") = "no"
Response.Redirect("maghale.aspx")
End If
Else
Session("valid") = "no"
End If
Dr.Close()
Con.Close()
End Sub
End Class
6- 3 صفحه admin :
این صفحه از دید کاربر پنهان می باشد و فقط مدیریت سایت می تواند آن را ببیند و یک سری اطلاعات مربوط به جداول ارتباط با ما و عضویت و مربوط به user name و password کاربران می باشد.در این صفحه مدیر سایت افرادی را که عـضو سـایت شده اند در جـدول عضویت مشـاهده می کنـد و یـک user name و password به کاربر اختصاص میدهد که با زدن دکمه insert به بانک اطلاعاتی اضافه می شود.
کد نویسی مربوط به دکمه insert
Imports System.Data.OleDb
Partial Class contactu
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Con As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("./app_data/banktestmath.mdb"))
Dim Cm As OleDbCommand
Con.Open()
Cm = New OleDbCommand("Insert into [contactu] ([name],[family],[email],[mozo],[girandeh],[memoha]) values ('" & TextBox2.Text.Trim.ToLower() & "','" & TextBox3.Text.Trim.ToLower() & "','" & TextBox4.Text.Trim.ToLower() & "','" & TextBox5.Text.Trim.ToLower() & "','" & DropDownList1.SelectedItem.Text() & "','" & TextBox6.Text.Trim.ToLower() & "' )", Con)
Cm.ExecuteNonQuery()
Con.Close()
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
TextBox5.Text = " "
TextBox6.Text = " "
End Sub
End Class
7- 3 صفحه maghale :
این صفحه شامل مقالات و تحقیق های علمی می باشد و در صورتی کاربر می تواند از این صفحه استفاده نماید که ابتدا عضو شده و رمز کاربری معتبر را دریافت کرده باشد و پس از login شدن می تواند از این صفحه استفاده نماید.
8-3 پایگاه داده
این پروژه از پایگاه داده access استفاده می کند . ابتدا بایستی جداول مربوطه در آن ساخته شود و سپس با استفاده از کد نویسی به هم مرتبط شوند.برای اطمینان از درستی کار بایستی پس از وارد کردن اطلاعات در برنامه این اطلاعات در جدولی که درقسمت admin با استفاده از منوی tool boxوگزینه gridview ساخته می شود نمایش داده شود.برای خواندن اطلاعات ازجداول بانک اطلاعاتی ابتدا فیلدهایی را که نیاز داریم انتخاب می کنیم.مثلا در قسمت login پس از وارد کردن username وpassword برنامه اطلاعات را از جدول می خواند و اگر admin وارد شده بود وارد قسمت admin و اگر با نام معتبر کاربری وارد شده بود وارد قسمت مقاله می شود.
منابع و ماخذ:
1-آموزش گام به گام ASP.NET جعفر نژاد قمی
2-آموزش ASP3.NET مهرداد توانا و سعید هراتیان