پروژه دوره کارشناسی
در رشته مهندسی کامپیوتر گرایش نرم افزار
چکیده:
این رساله که پایان نامه تحصیلی می باشد، مشتمل بر بخشهایی است که توصیفهایی از واحد درسی پروژه عملی، تحت عنوان (مکانیزاسیون تولید مجله تحت وب) را به دست میدهد و شامل فصول اصلی: ابزار و روش ها، تحلیل و طراحی، پیاده سازی می باشد. در هر فصل قسمت خاصی از این پروژه مورد بحث قرار گرفته است.
تئوری موضوع:
در موضوع منتخب این رساله، افراد مسئول در تولید، عبارتند از: مدیر مسئول، ویرایشگر، خبرنگاران و نویسندگان ثابت و افتخاری. از جمله وظایفی که تحت وب انجام می گیرد به طور اجمالی عبارت است از:
خبرنگاران و نویسندگانی که می توانند در هر موقعیت مکانی باشند، بعد از عضویت در سایت، مطالب خود را هر ماه به مجله ارسال می دارند. ویرایشگر پس از بررسی مطالب ارسالی و تایید اولیه آنها توسط مدیر مسئول ویرایش و تایید نهایی هر مطلب را به عهده دارد. نهایتاً پس از تایید نهایی، مطالب تأیید شده به صورت اتوماتیک، با توجه به تاریخ، در هر صفحه جای می گیرد و خوانندگان قادر به استفاده از مطالب مندرج خواهد بود.
البته مدیر مسئول وظایف دیگری از قبیل نظارت بر اعضاء سایت و کارکردشان و استفاده از آرشیو مجله را نیز به عهده دارد، که در هر زمینه امکانات و دسترسیهای لازم به صورت سیستماتیک برای مدیر مسئول فوق فراهم میباشد.
علاوه بر مطالب فوق، بازدیدکنندگان سایت قادرند نظرات و پیشنهادات خود را پس از مطالعه مطالب ماهانه، برای مجله ارسال کنند. و همچنین یک موتور جستجو نیز در سایت قرار داده شده تا افراد قادر به جستجوی مطالب مورد نظرشان باشند.
مشاهده آرشیو مطالب از امکانات دیگری است که بازدیدکنندگان به آن دسترسی دارند. علاوه بر امکان ارتباط میان اعضاء و مسئولین تولید مجله با هم، بازدیدکنندگان سایت نیز قادرند با مدیر مسئول از طریق ایمیل ارتباط برقرار کنند.
به طور کلی این سایت امکان تولید و دسترسی به مطالب فراهم آمده برای بازدیدکنندگان را از طریق وب فراهم می آورد.
بخش اول
ابزار و روشها
فصل 1
1-1-1 مروری بر ASP.NET
1-1-1-1- صفحات سرور فعال (ASP)
علت بررسی فناوریهای قبل از ASP.NET ، به جزئیات پیادهسازی ASP.NET و فناوری قبل از آن، یعنی ASP بستگی دارد. درک ASP مستلزم درک ISAPI و درک ASP.NET مستلزم درک ASP است.
وقتی ISS2.0 به عنوان بخشی از ویندوز NT4.0 مطرح شد، میکروسافت فناوری جدیدی را به نام Denali ارائه داد. این فناوری در دوره فعال بودن شرکت میکروسافت ایجاد شد و به همین دلیل نام آن صفحات سرور فعال (ASP) انتخاب گردید. چندین نسخه از ASP عرضه شد، مثل IIS 4.0 , ASP 2.0 در ویندوز IIS 5.0, ASP.3,NT در ویندوز 2000.
ASP نوع متفاوتی از محیط توسعه است. اولاً یک محیط اسکریپتی است. صفحه را به راحتی ویرایش میکنید، آن را در پوشه مناسبی قرار میدهید و مجوزهای مناسبی به آنها اختصاص میدهید. این صفحات توسط مرورگر فراخوانی میشوند. ثانیاً، کد ASP میتواند با HTML ترکیب شود.
کد ASP معمولاً در ویژوال بیسیک نسخه اسکریپتی (VBScript) نوشته میشود، ولی از Jscript نیز میتوان استفاده کرد.
مزایایASP : فناوریASP به سرعت مورد توجه قرار گرفت، زیرا کار دشوار ساخت صفحات پویا را به راحتی انجام داد. ایجاد برنامههای کاربردی ISAPI, CGI چندان دشوار نبود، ولی استفاده از ASP بسیاری آسان است.
به طور پیشفرض، ASP از VBScript استفاده میکند. میلیونها نفر با VBScript آشنایی دارند که از طریق ASP میتوانند وارد دنیای اینترنت شوند. به همین دلیل، ASP راه مناسبی برای ساخت صفحات وب است.
علاوه بر این، از طریق ADO امکان دستیابی آسان به بانک اطلاعاتی را فراهم میسازد. برای ساخت محتویات پویا، باید آن محتویات را از جایی دریافت کرد که ADO این امکان را فراهم میکند. توجه داشته باشید که ADO یک واسط نرمافزاری است که میتواند با سیستمهای مدیریت بانک اطلاعاتی مثل اکسس و SQL Server ارتباط برقرار کند.
مدل برنامهنویسی ASP اجازه نوشتن کد و اجرا را میدهد و نیازی به دنبال کردن مراحل کامپایل و نصب نیست. همانطور که خواهدید دید، ASP.NET نیز از همین روش استفاده میکند.
معایب ASP: فناوری ASP ابزار قدرتمندی برای تولید برنامههای بزرگ وب است. وب سایتهایی مثل www.microsoft.com و بسیاری از سایتهای بزرگ و کوچک دیگر، با موفقیت از ASP استفاده کردند.
اولین چیزی که در مورد ASP مطرح است، سربار ناشی از تفسیر کد VBScript یا Jscript در هر درخواست است.
در اغلب سایتهای متوسط ASP، بیشتر گلوگاهها ناشی از دستیابی به بانک اطلاعاتی و به هنگامسازی آن است تا موتور اسکریپتی ASP . نسخههای بعدی ASP در ارائه سرویس به صفحات اسکریپتی کارآمدتر شدند.
ASP محیط برنامهنویسی قابل اعتماد، قدرتمند و کاملاً مقیاسپذیی را برای بانک اطلاعتی فراهم نمیکند. انواع در VBScript فاقد هر نوع هستند. وقتی مقداری در متغیری قرار میگیرد، نوع آن تعیین میشود، ولی این نوع دائمی نیست و قابل تغییر است. به این ترتیب، احتمال بروز خطا بیشتر میشود.
مسئله دیگر، توانایی ترکیب HTML و اسکریپت است. به این ترتیب، کدهای اسکریپت در داخل HTML پراکنده میشود. چون با هر اجرای اسکریپت باید تعویض بستر صورت گیرد (از HTML به VBScript و برعکس)، کارایی آسیب میبیند.
1-1-1-2 ASP.NET
وقتی ASP3.0 به همراه ویندوز 2000 ارائه شد، روشن شد که آینده تولید نرمافزار به آینده وب گره خورده است. پس از آن، شرکت میکروسافت نسخه جدید ASP را به نام ASP.NET ارائه کرد که سهولت کدنویسی ASP را دارد، به طوری که برنامه را مینویسید، درپوشهای قرار میدهید، امتیاز دستیابی برای آن تعیین میکنید و به راحتی قابل اجرا است. ASP.NET نوآوریهایی دارد که منجر به تفکیک هسته برنامه کاربردی از نمایش آن میشود.
ASP.NET ویژگیهای جدیدی به ASP اضافه نمود و قابلیتهای آن را افزایش داد. ASP.NET فقط بهبود تدریجی ASP نیست، بلکه یک محصول کاملاً جدید است. ویژگیهای ASP.NET عبارت است از:
محیط کاری NET: محیط کاری NET معماریی است که ساخت برنامههای کاربردی وب و سنتی را آسانتر میسازد. در ادامه به شرح این محیط کاری میپردازیم.
زبان مشترک زمان اجرا (CLR) زبان مشترک زمان اجرا، مجموعهای از سرویسها را برای تمام زبانهای ASP.NET فراهم میسازد. به عبارت دیگر، مجموعهای از انواع مشترک را برای بسیاری از زبانها تهیه میکند.
زبانهای کامپایلری ASP.NET با استفاده از زبانهای کامپایلری کارایی پیشرفتهای را ارائه میکند، زبانهای کامپایلری به برنامهنویس اجازه میدهند تا صحت برنامه را از نظر نحوی بررسی کند. ASP چنین امکانی را فراهم نمیکند، لذا سادهترین خطای نحوی نیز تا اولین اجرا مشخص نمیشوند.
زبانهای جدید: ویژوالبیسیک نت نسخه کاملاً جدیدی از ویژوال بیسیک است که نحو آن زیباتر میباشد. C# (که c شارپ تلفظ میشود) زبان جدیدی است که مشابه با C++ و فاقد ویژگیهای ناامن C++ است.
ویژوال استودیونت: ویژوال استودیونت محیط توسعه جدیدی است که در آن برنامهها را به سرعت میتوان اجرا کرد.
مولفههای جدید: محیط کاری NET از انواع جدیدی از مولفههای پشتیبانی میکند که در ASP وجود نداشتهاند.
فرمهای وب: ابزارهای مناسبی برای ایجاد صفحات پویا هستند که از طریق آنها میتوان ورودیهای کاربر را دریافت کرد.
سرویسهای XML وب: با استفاده از سرویس های XML وب میتوان خدماتی ایجاد کرد و سپس آنها را با استفاده از قراردادهای استاندارد صنعت مهیا نمود.
ADO.NET: فناوری ADO در محیط کاری NET، فناوری جدیدی است که موجب میشود برنامههای کاربردی ASP.NET به راحتی به اطلاعات موجود در بانک اطلاعاتی رابطهای یا قالبهای دیگری مثل XML دستیابی داشته باشند.
تاریخچه مختصری از ساخت صفحات وب، باید اشتیاق مطالعه ASP.NET را در شما فراهم کرده باشد. یادگیری یک زبان برنامهسازی یا محیط توسعه برنامه، خیلی شبیه به یادگیری زبان طبیعی است.
1-1-1-3 محیط کاری NET
نقطه شروع برای تحلیل محیط کاری NET درک این نکته است که NET شامل فناوریهای مختلف است، از جمله:
زبانهای NET : C#NET و ویژوال بیسیک نت زبانهای متداولیاند که برای تولید برنامههای کاربردی ASP.NET به کار میروند. ویژوال بیسیک نت نسخه پیشرفته ویژوال بیسیک است و C#NET شبیه به C++ است.
کتابخانه کلاس NET : هزاران قطعه از قابلیتهای از پیش تعیین شدهاند که میتوان در برنامههای کاربردی به کار گرفت. این قطعات گاهی در مجموعهای از فناوریها مثل ADO.NET (فناوری ایجاد برنامههای بانک اطلاعاتی) و فرمهای ویندوز (فناوری ایجاد واسطهای کاربر) نهفتهاند. توجه کنید که محیط کاری NET بیش از 3400 کلاس دارد.
بعضی از بخشهای کتابخانه کلاسها هیچ وقت در طراحی صفحات وب مورد استفاده قرار نمیگیرند (مثل کلاسهایی که برای ایجاد برنامههای کاربردی با واسطهای ویندوز استفاده میشوند). بخشهای دیگر مستقیماً برای ساخت صفحات وب به کار میآیند، مثل ایجاد سرویسهای وب، و واسط کاربر برای فرمها. بعضی دیگر از بخشهای کتابخانه کلاسها برای برنامهنویسیهای مختلفی به کار میروند و مخصوص وب یا ویندوز نیستند. این کلاسهای پایهای هستند که برای تعریف متغیر، ورودی- خروجی، دستیابی به دادهها ، اطلاعات XML و غیره به کار میروند.
زبان مشترک زمان اجرا: موتور زمان اجرای NET است که تمام برنامههای NET را اجرا میکند و خدمات نوینی مثل مدیریت حافظه خودکار، امنیت، بهینهسازی و جمعآوری زبالهها (محلهایی از حافظه که نمیتوان به آنها مراجعه کرد) را انجام میدهد.
ASP.NET: یک محیط خدماتی است که در آن میتوان برنامههای کاربردی وب و سرویسهای وب را به هر یک از زبانهای NET نوشت، به طوری که از ویژگیهای کتابخانه کلاس NET نیز استفاده می شود.
برای پی بردن به ویژگیهای ASP.NET بررسی محدودیتهای ASP مفید واقع میشود. به عبارت دیگر، قبل از درک راهحل NET، لازم است با مشکلاتی آشنا شوید که برنامهنویسان ASP با آنها مواجهاند:
محدودیتهای اسکریپت: برنامههای ASP بر اساس VBScript نوشته میشوند که محدودیتهای خاصی دارد. برای برطرف کردن این محدودیتها، برنامهنویسان مجبور می شوند از مولفههای دیگر استفاده کنند که منجر به پیچیدگی بیشتری میشود. در ASP.NET، صفحات در زبانهای نوین NET طراحی میشوند، نه با استفاده از اسکریپتها.
مشکلات پیکربندی وب سایت: با توجه به ماهیت عملکرد ASP, COM به راحتی نمیتوان مولفههای مورد استفاده در وبسایت را به هنگام سازی کرد. اغلب، لازم است سرور متوقف و دوباره راهاندازی شود که این کار در سرور خوب، عملی نیست در ASP.NET امکاناتی وجود دارد که وبسایتها را به طور پویا میتوان به هنگامسازی و دوباره پیکربندی کرد.
فقدان ساختار برنامه کاربردی : کد ASP مستقیما در زبان HTML قرار داده میشود. این موضوع، برای زبانهای شیءگرای نوین پسندیده نیست، زیرا برای استفاده مجدد از آن کدها، نیاز به تغییرات زیادی در آنها است.
محدودیتهای حالت: یکی از قویترین ویژگیهای ASP، قابلیتهای حالت تماس مجتمع است. اما در مواردی که وبسایت توسط چند میزبان اداره میشود، از این قابلیت استفاده نمیشود.به عنوان مثال، یک مشتری ممکن است به سرور B دستیابی باشد، در حالی که اطلاعات تماس آن در سرور A موجود بود و اکنون از بین رفته است. ASP.NET برای جلوگیری از این مسئله، اطلاعات حالت را در یک مخزن مرکزی مثل یک فرایند، یا بانک اطلاعاتی ذخیره میکند که تمام سرورها میتوانند به آن دستیابی داشته باشند.
ویژوال استودیونت: ویراستاری است که محیط قدرتمندی را برای ایجاد برنامههای کاربردی پیشرفته فراهم میسازد. بعضی از ویژگیهای آن عبارتند از:
تشخیص خطای خودکار: هنگام اجرای برنامه، اشکالات نحوی برنامه را پیدا کرده گزارش میکند. به این ترتیب، در وقت برنامهنویسی صرفهجویی می شود. برای گزارش خطا، زیر واژههایی که ممکن است تولید خطا کنند، خط میکشد.
ابزارهای اشکالزدایی: این ابزارها موجب ردیابی اجرای برنامه و مشاهده محتویات متغیرها میشوند. طراحی صفحه با استفاده از طراح فرم وب که در ویژوال استودیونت فراهم است، میتوان صفحات جذابی را به سادگی طراحی کرد.
کمکرسانی خودکار: هنگام کد نویسی، لیستی از متدها، خواص و رویدادهای اشیا را به همراه پارامترهای مورد نیاز متدها نمایش میدهد که این کار منجر به کاهش میزان خطای نحوی و تسریع در برنامهنویسی میشود.
مشخصات زبان مشترک (CLS): استاندارد و خواستههایی را مشخص میکند که به شرکتهای دیگر اجازه طراحی و نوشتن زبانهایی را میدهد که بتوانند تحت CLR (زبانمشترک زمان اجرا)، اجرا شوند به عبارت دیگر، مجموعهای از قوانین و مقررات است که موجب میشود زبانها خواص مشترکی را دارا باشند.
سرویسهای COM+ : COM نقشه استانداری را برای چگونگی قراردادن عملیات اشیا در حافظه ارائه میکند. COM+ نسخه پیشرفته COM است که ویژگیهای جدیدی را به کتابخانه COM اضافه کرد. مرز بین این مولفهها روشن نیست، به عبارت دیگر نمیتوان آنها را به طور کامل از هم تفکیک کرد. به عنوان مثال، از یک طرف ASP. NET به کل برنامههای کاربردی وب گفته میشود که با زبانهای NET ساخته میشوند و شامل مسائل ویراستاری و زبانهای NET و بسیاری از قطعات کتابخانه کلاسها است که مخصوص وب نمیباشند. در این کتاب منظور ما از ASP.NET، شامل مفاهیم پایه NET، زبان VB.NET و موضوعاتی است که برنامهنویسان NET از آنها بهره میبرند، مثل برنامهنویسی بر اساس مولفهها و ADO.NET برای دستیابی به دادهها.
1-1-2 انواع فایلها در ASP.NET
برنامه کاربردی ASP.NET از برنامههای کاربردی همتای ASP پیچیدهتر هستند و از چندین نوع فایل پشتیبانی میکنند.
علاوه بر این، پوشه مربوط به وبسایت میتواند حاوی فایلهایی باشد که مخصوص ASP.NET نباشند. مثل فایل تصویر، فایلهای HTML و فایلهای مربوط به شیوه نامهها (فایلهای CSS). ویژوال استودیونت، به طور خودکار فایل styles.css را به پروژه اضافه میکند که میتوانید سبکهای مورد استفاده در کنترلهای صفحات وب را به آن اضافه کنید. البته این فایلها بیشتر با HTML به کار میروند تا ASP.NET اغلب این فایلها اختیاری اد. میتوانید برنامههای کاربردیی بنویسید که فقط شامل فایلهای aspx یا asmx باشند.
انواع فایلها در ASP.NET
aspx: صفحات ASP.NET حاوی واسط کاربر وتمام یا بخشی از کد است. کاربران باید مستقیماً به یکی از این فایلها برای شروع وبسایت مراجعه کنند.
ascx: کنترلهای کاربر هستند. خیلی شبیه به صفحات وب هستند، ولی در داخل فایل aspx اجرا میشوند. با استفاده از این فایلها میتوان واسط کاربر مناسبی را طراحی کرد.
asmx : خدمات وب ASP.NET هستند. خدمات وب متفاوت از صفحات وب عمل میکنند، اما از منابع تنظیمات پیکربندی و حافظه مشترکی بهره میبرند.
Web.congig: فایل پیکربندی برنامه کاربردی ASP.NET است که بر اساس XML نوشته میشود. این فایل شامل تنظیمات امنیتی، مدیریت حالت و حافظه و غیره است.
global.asax: فایل برنامه کاربردی سراسری است. از این فایل برای تعریف متغیرهای عمومی و پاسخ به رویدادهای عمومی استفاده میشود.
disco یاvsdisco :فایلهای پوشه ای خاصاند که مشتریان با استفاده از آنها میتوانند خدمات وب را بیابند.
csیاbv: فایلهای کد هستند که در ویژوال بیسیک با c# تشکیل می شوند. این فایلها موجب میشوند کد از منطق واسط کاربر در صفحه وب تفکیک شود.
resx: این فایلها هنگام استفاده از ویژوال استودیونت ایجاد میشوند و برای ذخیره اطلاعاتی به کار میروند که هنگام طراحی اضافه میکنید.
vbproj,suo,sln,csproj : این فایلها توسط ویژوال استودیونت برای دستهبندی پروژهها (مجموعهای از فایلها در برنامه کاربردی وب) و راهحلها (مجموعهای از پروژهها) به کار میروند. لیستی از فایلهای مرتبط و گزینههای مربوط به محیط ویژوال استودیونت را ذخیره میکنند. این فایلها در هنگام نوشتن صفحات وب به کار میآیند و نباید به وب سرور ارسال شوند. تنظیمات امنیتی ASP.NET مانع از دستیابی کاربران به این فایلها میشود.
فصل 2
1-2-1 فرمها و کنترلهای وب
فرمها اساس کار صفحات وب در ASP.NET میباشند. با استفاده از فرمها میتوان ورودیهای کاربر را دریافت و پردازش کرد و نتایج را در اختیار کاربر قرار داد. در واقع، فرمها موجب پویایی صفحات وب می شوند. به عبارت دیگر، فرمهای وب، فناوری ASP.NET برای ایجاد صفحاتی است که قابل برنامهنویسیاند.
1-2-2 عناصر تشکیل دهنده وب
هر فرم وب از چندین کنترل تشکیل شده است. در واقع به اعضای تشکیل دهنده فرم که برای ایجاد محاوره با بینندگان صفحات وب به کار میروند، کنترل میگویند. کنترلهای تشکیلدهنده فرمهای وب به دو دسته تقسیم میشوند.
کنترل های سرور HTML این کنترلها را میتوان در سمت سرور دستکاری کرد. قبل از این که فرم در اختیار مشتری قرار گیرد، موتور ASP آن ها را به عناصر معادل HTML تبدیل میکند. این کنترل ها در فضای نام System. Web. UI. Html Controls قرار دارند. این کنترلها برای کسانی خوب است که قبلاً با HTML آشنایی دارند یا میخواهند صفحات ASP قدیمی را به صفحات جدید ASP.NET تبدیل نمایند.
کنترلهای سرور وب: این کنترلها به اسامی کنترلهای وب یا کنترلهای فرم وب ASP.NET خوانده میشوند. اینها کنترلهای نسل جدید هستند که توسط شرکت میکروسافت ایجاد شدهاند. خواص و ویژگیهای جالبی دارند.
برای بررسی و درک بهتر کنترلهای وب، آنها را به چند دسته تقسیم میکنیم:
کنترلهای پایه: اگر با ویژوال بیسیک نت کار کرده باشید، با این کنترلها آشنایی دارید.
کنترلهای اعتبارسنجی و پیشرفته: کنترلهای اعتبارسنجی برای بررسی اعتبار محتویات فرم به کار میروند.
کنترلهای پیشرفته: این کنترلها برای نمایش تقویم یا ارائه تبلیغات در فرمها به کار میروند.
کنترلهای دادهای: این کنترلها معمولاً برای نمایش دادهها به کار میآیند.
1-2-2-1 کنترلهای پایهای
Label: برای تولید متنهای ثابت (متنهایی که تغییر نمیکنند) به کار میرود.
TexBox : برای دریافت اطلاعات کاربر و نمایش هر نوع اطلاعات قابل تغییر به کار میرود.
Button : برای ایجاد دکمهها بر روی فرم به کار میرود.
CheckBox : برای ایجاد کادر انتخابی به کار میرود. با کلیک کردن این کادر انتخاب، علامت در داخل آن قرار میگیرد و با کلیک مجدد حذف میشود.
CheckBoxlist : لیستی از چند کادر انتخاب را ایجاد میکند که به هم وابستهاند. چند کادر انتخاب را میتوان فعال (انتخاب) کرد.
RadioButton برای ایجاد دکمه رادیویی به کار میرود. وقتی بخواهیم از بین چند گزینه، فقط یک گزینه قابل انتخاب باشد، این کنترل مناسب است.
RadioButtonlist: لیستی از دکمههای رادیویی را انتخاب میکند که از بین آنها فقط میتوان یک گزینه را انتخاب کرد.
HyperLink : برای ایجاد پیوند به کار میرود. پیوند میتواند کاربران را از صفحهای به صفحه دیگر ببرد.
LinkButton : دکمهای را به شکل پیوند ایجاد میکند که معمولاً برای تحویل دادن فرم به سرور به کار میرود.
ImageButton : یک دکمه تصویری ایجاد میکند که به کلیک کردن پاسخ میدهد.
Image : تصویری را وارد صفحه وب میکند.
ListBox: لیستی از گزینهها را ظاهر میکند که یک یا چند گزینه از آن را میتوان انتخاب کرد.
DropDownlist: لیستی از گزینهها را ظاهر میکند که فقط یکی از آنها قابل انتخاب است.
Panel: مانند ظرفی عمل میکند که میتواند چند کنترل را در بر گیرد. خواص آن کنترلها را میتوان یک جا تعیین کرد.
Table: برای ایجاد و دستکاری جدول به کار میرود.
TableRow: سطری از جدول را مشخص میکند.
TableCell : خانهای (ستونی) از جدول را مشخص میکند.
Abstract:
This os our B.S. project report which includes descriptions of practical project. unit, called Mechanisation of E-magazine and also contains main units, such as: Tools and Methods, Analysis and Design, Implementation. In each unit special part of this project is discussed.