پایان نامه فروشگاه الكترونيكي
فهرست مطالب
فصل اول: ابزارهاي برنامه نويسي.. 8
به چه دليل از دات نت استفاده مي كنيم؟ 8
زبانهاي برنامه نويسي در ASP.NET.. 12
نحوه پردازش صفحات ASP.NET بر روي سرويس دهنده وب… 20
آشنائي با فرمهاي وب در ASP.NET.. 26
فصل دوم: طراحي و پياده سازي نرم افزار. 37
صفحه تنظيمات براي مدير سيستم AdminPanel.aspx. 54
صفحه محصولات جديد NewProducts.aspx. 63
صفحه جستجوي اعضا Members.aspx. 66
صفحه گروه محصولات Category.aspx. 71
فصل سوم: شماي فرم ها و جداول. 74
صفحه پروفايل در حال ويرايش: 76
صفحه ثبت نام:صفحه شاپ(خريد محصول):صفحه کنترل پنل سايت: 77
صفحه شاپ(خريد محصول):صفحه کنترل پنل سايت: 78
صفحه ورود مدير:صفحه ويرايش گروه بندی: 80
صفحه ورود مدير:صفحه ويرايش گروه بندی: 81
ورود مدير با نام و يا کلمه عبور غيرمجاز: 84
فصل اول: ابزارهاي برنامه نويسي
به چه دليل از دات نت استفاده مي كنيم؟
به طور معمول نسل هاي جديد زبان هاي برنامه نويسي به اين دليل متولد مي شوند که زبان هاي قديمي تر داراي امکانات محدود بودند و يا قدرت استفاده از تکنولوژي هاي فعلي را به صورت مطلوب و ساده ندارند. مهمترين نيازي که به عنوان آخرين تکنولوژي وجود دارد، برنامه نويسي در محيط اينترنت است. اينترنت در مدت تقريبا ۸ سال جاي خود را به عنوان يکي از مهمترين وسايل ارتباطي براي کارهاي روزمره و تجارت باز کرده است. سيستم هاي برنامه نويسي قديمي تر امکان برنامه نويسي براي اينترنت را فراهم کرده بودند اما هر کدام داراي اشکالات بزرگي هستند، براي مثال تکنولوژي COM اولين بار در ويندوز به کار گرفته شد. در سال 1970 نيز سيستم هايي براي Unix نوشته شده بودند، جاوا نيز در اصل براي ابزارهاي الکترونيکي بود و نه براي اينترنت.
سپس براي اولين بار يک سيستم جامع براي برنامه نويسي تحت اينترنت ايجاد شد. اين سيستم -NET. از مراحل سطح پايين که به زبان ماشين مي باشد تا بالاترين سطح که برنامه نويسي ويژوال آن مي باشد براي استفاده در اينترنت طراحي شده است. البتهNET. فقط براي اينترنت نيست و با استفاده از آن مي توان برنامه هاي کامل تحت Client نيز ايجاد کرد، اما بزرگترين مزيت آن دربرابر سيستم هاي ديگر امکانات اينترنت آن است.
براي اينکه مزاياي استفاده ازNET. را بهتر متوجه بشويم بهتر است در ابتدا معايب سيستم هاي پيشين را ذکر کنيم. شرکت مايکروسافت تا قبل از سال 1995 به برنامه نويسي در محيط هاي Client و Server مي پرداخت، اما از آن سال به بعد توجه بيشتري به مساله برنامه نويسي در اينترنت کرد. مايکروسافت COM و +COM را ايجاد کرد و آنها را در ويژوال استوديوي 6 به کار گرفت. در سال 1999 حدود ۵۰ در صد از بزرگترين سايتهاي تجارت الکترونيکي از محصولات مايکروسافت استفاده مي کردند. اما هنوز هم مشکلات بزرگي در سيستم هاي مايکروسافت وجود داشت که يکي از آنها دشواري نوشتن برنامه در اينترنت با محصولات مايکروسافت بود. شرکت مايکروسافت براي راحتي کار برنامه نويس ها ASP يا Active Server Page را ايجاد کرد. با اينکه اين يک قدم بزرگ بود و کارها را بسيار ساده کرد ولي هنوز از برنامه نويسي شي گرا پشتيباني نمي کرد. همچنين در ويژوال استوديوي 6 قسمتي براي Internet Application ايجاد شده بود و در آنها امکان ساختن Web Class وجود داشت ولي هيچ وقت به عنوان يک ابزار کار آمد براي برنامه نويسي وب درنظر گرفته نشد.
مايکروسافت يک مدل برنامه نويسي به نام Distributed interNet Application دارد که بر پايه برنامه نويسي n-tier و COM بنا نهاده شده است. مدل DNA از سه بخش اساسي تشکيل شده است.
بخش اول به نام Presentation tire معروف است. در اين بخش رابط تصويري کاربر وجود دارد و خود نيز به دو نوع Internet Browser و Win 32 GUI تقسيم مي شود که هر کدام مشکلات خاص خود را دارند. در مدلي که از Win32 GUI يا همان نرم افزارهاي معمولي استفاده مي شود دو مشکل بزرگ وجود دارد ؛ دشواري بروز رساني نرم افزار و ديگري DLL Hell که در ادامه توضيح داده خواهد شد. در نوع دوم مشکلاتي از قبيل نبود امکانات برنامه نويسي کافي در محيط مرورگر، نبود رابط قوي با کاربر، نبودن مرورگر هاي يکسان و… وجود دارد. همچنين هميشه يک اتصال به اينترنت يا اينترانت لازم است. در اين نوع از برنامه نويسي مي توان از Java Applet ها يا ActiveX استفاده کرد ولي مرورگر بايد امکان استفاده از آن را داشته باشد، مخصوصا ً هنگام استفاده از ActiveX که بايد فقط از IE استفاده کرد.
بخش دوم که Middle tier نام دارد، مکاني است که اطلاعات و قوانين تجاري در آن وجود دارد. منظور از قوانين ، متد ها و اجزائي هستند که اعمال کاربران را کنترل مي کنند. مهمترين و آسان ترين زبان براي نوشتن اين اجزا از DNA ويژوال بيسيک است. برنامه نويسي که بخواهد در اين رده برنامه بنويسد بايد آشنايي کاملي با COM و پروتکل هاي رايج داشته، همچنين بايد مهارت کافي در استفاده از ADO و ADSI داشته باشد. مشخص است که يک اشتباه در اين لايه باعث بروز خطا و نقص در کل سيستم مي شود.
بخش سوم يا Data tier مکاني است که اطلاعات سازمان در آن ذخيره مي شود. معمولا ً در اين قسمت از بانکهاي پيشرفته رابطه اي مانند SQL Server و Oracle استفاده مي کنند.
همانطور که ديديد مهمترين قسمت در DNA همان COM است که در جاي جاي آن استفاده مي شود. در اينجا برخي معايب COM ذکر مي شود : ( در ابتداي متن ذکر شد که براي درک نياز بهNET. بايد ابتدا معايب سيستم هاي قديمي را بشناسيم ) DLL Hell: اگر کوچکترين تغييري در يک COM ايجاد شود، ديگر برنامه هايي که از ورژن قبلي استفاده مي کردند قادر به فعال ساختن نسخه جديد نيستند. هنگامي که در ويندوز، يک COM نصب شود برايش در رجيستري يک GUID ثبت مي شود که اطلاعات آن COM را در خود ذخيره مي کند. اگر يک برنامه از نسخه اول يک COM استفاده کند و بعد از مدتي شما تغييراتي در نسخه اول بدهيد و بخواهيد آن را دوباره در سيستم نصب کنيد ويندوز به شما پيغام خطا مي دهد چون ورژن آن تکراري است، اگر هم آن را به ورژن دوم ارتقا دهيد نرم افزار قبلي هنوز به دنبال نسخه اول مي گردد. اين امر باعث مي شود که شما مجبور شويد يکبار ديگر کل برنامه را کامپايل کرده و در کامپيوترتان نصب کنيد.
کمبود در وراثت: در نسخه هاي COM که در حال حاضرهستند چيزي به نام وراثتي که در ++C وجود دارد نمي باشد، بلکه وراثت تنها در واسط يک COM مي باشد، استفاده از آن هم چندان کمکي به برنامه نويسي نمي کند.
برخي محدوديت هاي برنامه نويسي اينترنتي در مدل DNA
۱- وجود دو محيط برنامه نويسي براي اينترنت و Client
نقصان در نوشتن برنامه هايي با رابط گرافيکي خوب که در اينترنت کار مي کردند کاملا ً مشهود است، نمونه بارز آن اختلاف در برنامه نويسي در ويژوال بيسيک و ASP است. ويژوال بيسيک با رابط گرافيکي کاملا ً سطح بالا و ASP تقريبا ً رابط گرافيکي ندارد. همين امر باعث مي شد که يک برنامه نويس مجبور باشد طيف وسيعي از تکنيک ها و زبان ها را فرابگيرد تا بتواند برنامه ساده اي در اينترنت بنويسد.
۲- نبودن حالت هاي ذخيره اطلاعات رابط گرافيکي در صفحه هاي اينترنتي
نمونه اين حالت زماني است که در يک textbox متني وجود داشته باشد. در برنامه هاي Win32 GUI متن داخل textbox تا زماني که کاربر يا برنامه آن را تغيير نداده بر جاي خود وجود دارد. اما در محيط اينترنت و نوع ASP با هر بار refresh کردن صفحه کل اطلاعات ازبين مي رود. البته اين مشکل با استفاده از شئ هاي Request و Response تقريبا ً قابل حل است ولي احتياج به برنامه نويسي براي هر تکه از صفحهASPدارد
۳- نداشتن Event Handler در محيط برنامه نويسي اينترنت
يکي از مهمترين ابزاري که در برنامه نويسي Win32 GUI وجود دارد استفاده از Event ها است. با تکنولوژي که در حال حاضر وجود دارد تنها راه رسيدن به اين مهم استفاده از ActiveX است که به علت مسايل امنيتي در بيش از ۹۵ در صد مواقع توسط کاربر استفاده از آن رد مي شود.
معايب استفاده از API
API ها توابعي هستند که از ويندوز نسخه 1 تا امروز در برنامه نويسي کاربرد داشته و دارند. مهمترين کاري که اين توابع انجام مي دهند انجام کارهاي سخت و سطح پايين سيستمي است که احتياج به برنامه نويسي زيادي دارند و يا حتي امکان ايجاد آن با زبان هايي مثل ويژوال بيسيک نيست. اما هر API از هر نسخه ويندوز تا نسخه ديگر آن مي تواند دچار تغييرات بشود. براي مثال برنامه اي که در ويندوز 98 نوشته شده باشد مي تواند در ويندوز 95 اجرا نشود. همچنين هم اکنون ابزارهاي جديدي به بازار آمده است که براي آنها نيز مي توان برنامه نويسي کرد، مانند تلفن هاي سيار، کيوسک تلفن، دستگاه هاي کامپيوتري جيبي و غيره. در اين نوع دستگاه ها ديگر ويندوز به مفهومي که در حال حاضر وجود دارد قابل اجرا نيست و در نتيجه API هم وجود ندارد. لازم به ذکر است که ويندوز CE براي دستگاه هاي مذکور مي باشد ولي قابليت هاي آن با ويندوزهاي ديگر تفاوت زيادي دارد.
NET نسل بعدي Active Server Pages يا ASP است که توسط شرکت ميکروسافت ارائه شده است. اين محصول توسط ميکروسافت بعنوان شاخص اصلي فناوري در ساخت سايتهاي وب در نظر گرفته شده است. با استفاده از ASP.NET مي توان هم اينترانت کوچک يک شرکت را ساخت و هم يک سايت وب تجاري خيلي بزرگ را طراحي و پياده سازي نمود. مهمترين نکاتي که در طراحي اين محصول در نظر گرفته شده است راحتي استفاده و بالا بودن کارائي و قابليت آن مي باشد. در زير برخي ويژگيهاي ASP.NET را بررسي مي کنيم.
- صفحات ASP.NET کامپايل مي شوند.
هنگامي که يک صفحه ASP.NET براي اولين بارتوسط يک مراجعه کننده به سايت فراخواني مي شود، آن صفحه ابتدا کامپايل شده و بر روي سرور نگهداشته مي شود و در فراخواني هاي بعدي از آن استفاده مي شود. اين بدين معني است که صفحات ASP.NET خيلي سريع اجرا مي شوند. صفحات ASP.NET با ابزارهاي روي سرور ساخته مي شوند.
با ابزارهاي موجود در ASP.NET مي توان صفحات پيچيده وب را براحتي طراحي نمود. بعنوان مثال با استفاده از ابزار DataGrid مي توان به آساني داده هاي موجود در يک بانک اطلاعاتي را تحت وب نمايش داد. مجموعهASP.NET عضوي از بدنه NET. است.
بدنه NET. داراي بيش از ۴۵۰۰ کلاس آماده جهت استفاده در ASP.NET است. اين کلاس ها تقريبا هر نيازي را در برنامه نويسي برآورده مي کنند. بعنوان مثال از اين کلاس ها مي توان جهت توليد تصاوير بر حسب تقاضا، به رمز درآوردن يک فايل و يا ارسال يک نامه استفاده کرد.
ASP.NET نسل بعدي ASP يا ASP کلاسيک است. اما اين يک پيشرفت تکاملي است بطوريکه اين دو فناوري تقريبا از يکديگر متفاوتند. صفحات ASP با زبان هاي دستورالعمل نويسي مانند VBScript يا JScript ايجاد مي شوند اما در ASP.NET ما يک فرايند کامل برنامه نويسي با زبانهاي Visual Basic يا #C (سي-شارپ تلفظ شود) داريم. همچنين در ASP کلاسيک تنها پنج کلاس استاندارد (Request, Response, Application Session, Server) وجود دارد حال آنکه در ASP.NET مي توان از بيش از ۴۵۰۰ کلاس استاندارد موجود در بدنه NET. بهره جست.همچنين عليرغم قدرت و امکانات زياد و متعدد ASP.NET، استفاده از آن در مقايسه با ASP کلاسيک بسيار آسانتر است. بعنوان مثال با استفاده از چند ابزار در يک صفحه ASP.NET مي توان يک صفحه بسيار پيچيده HTML بدست آورد که ساخت آن در ASP کلاسيک ممکن است نياز به چند روز کار داشته باشد.
زبانهاي برنامه نويسي در ASP.NET
شما در ASP.NET مي توانيد از هر زبان برنامه نويسي که با بدنه NET. سازگار باشد استفاده کنيد. اين زبانها عبارتند از Visual Basic.NET و #C و JScript.NET . اين بدين معني است که شما جهت نوشتن برنامه در ASP.NET نياز به فراگيري زبان جديدي نداريد و اگر يکي از زبانهاي ويژوال بيسيک يا ++C يا جاوا را مي دانيد هم اکنون مي توانيد در ASP.NET برنامه بنويسيد.از طرف ديگر تعدادي زبانهاي ديگر توسط بعضي از شرکتهاي فعال در اين زمينه به مجموعه زبانهاي استاندارد ASP.NET افزوده شده است. بعنوان مثال اگر مايل باشيد حتي مي توانيد از PERL و COBOL هم در ASP.NET استفاده کنيد.
سالهاست که برنامه نويسان ويژوال بيسيک جهت ساخت فرم هاي خود از ابزارهاي ويژوال بيسيک مانند TextBox و ListBox استفاده کرده اند. در ASP.NET هم شما مي توانيد از ابزارهاي فراوان موجود در آن براي ساخت فرم ها و صفحات خود استفاده نمائيد. در ASP.NET چهار دسته عمده از ابزارها موجود است:
- ابزارهاي اصلي مانند TextBox، RadioButton، ListBox و Button.
• ابزارهاي اعتباري براي حصول اطمينان از ورود و تائيد صحت اطلاعات ورودي فرم ها.
• ابزارهاي داده اي براي ارتباط با بانک اطلاعاتي و دستکاري داده.
• ابزارهاي پيشرفته جهت نمايش عناصر پيچيده در واسط کاربر مانند تقويم و آگهي هاي تبليغاتي.
با استفاده از Visual Studio.NET شما براحتي مي توانيد با چيدن تصويري اين ابزارها بر روي فرم مورد نظر، صفحه دلخواه خود را بسازيد. در صورت تمايل حتي مي توانيد در يک ويرايشگر ساده متن مانند Notepad برنامه مورد نظر را نوشته و از اين ابزارها استفاده کنيد.
دريافت ASP.NET
جهت شروع برنامه نويسي در ASP.NET تنها کافي است که مجموعه ASP.NET را بهمراه بدنه NET. از سايت ميکروسافت دريافت کنيد.
دريافت .NET Framework
ASP.NET با سيستم عامل هاي Windows 2000 (نسخه Server و Professional) و Windows XP کاملا سازگار است.
Namespace چيست؟
يک نکته مهم که در زمان استفاده از NET Framework. بايد به آن توجه داشت آن است که فضانام (namespace يا نامکده) ها در ساختمان برنامه کاربردي قرار دارند. فضانام يک طرح نامگذاري منطقي براي گروه بندي کلاس هاي مرتبط است. اين طرح مانع از آن مي شود تا کلاس هايي که براي متدها و خصوصيات از يک شناسه يکسان استفاده مي کنند تداخل داشته باشند.
مثلا NET Framework. براي گروه بندي تايپ ها به مقوله هاي منطقي عملکرد، از قبيل چارچوب برنامه کاربردي ASP.NET، از يک طرح نامگذاري سلسله مراتبي استفاده مي کند. ابزارهاي طراحي از فضانام ها با هدف تسهيل مرور و ارجاع تايپ ها در برنامه بهره برداري مي کنند. مثلا فرض کنيد در حال نوشتن کد زير هستيد:
Public Class NewClass
[Procedures and Functions]
End Class
Public Class NewClass
[Procedures and Functions]
End Class
اين کد به خطا منجر مي شود چون کامپايلر راهي براي تشخيص کلاس ها از يکديگر ندارد. براي غلبه بر اين مشکل مي توان از يک فضانام استفاده کرد که اجازه مي دهد دو کلاس همنام در صفحه با هم وجود داشته باشند. قطعه برنامه زير تعريف اين دو کلاس در فضانام هاي منحصر بفرد را نشان مي دهد:
Namespace One
Public Class NewClass
[Procedures and Functions]
End Class
End Namespace
Namespace Two
Public Class NewClass
[Procedures and Functions]
End Class
End Namespace
در اين کد برخوردي بين دو کلاس با نام NewClass وجود ندارد چون هر کدام در يک فضانام جداگانه قرار داده شده است. کلاس اول را مي توان با استفاده از ترکيب One.NewClass صدا زد، حال آنکه کلاس دوم را مي توان با استفاده از ترکيب Two.NewClass صدا زد.
شما مي توانيد در فضانام هاي خود از يک ساختار سلسله مراتبي استفاده کنيد. قرار دادن اشياء مشابه تحت زيرعنوانها در يک فضانام مشترک تشخيص هدف فضانام را آسانتر مي کند، و در عين حال باعث مي شود برنامه به مراتب شئ گراتر شود.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.