پایان نامه برای اخذ مدرک کارشناسی مهندسی کامپیوتر(نرم افزار)
مقدمه:
هدف اصلی در طراحی این وب سایت ارائه نمونه الکترونیکی سیستم خرید و فروش انواع مسکن می باشد ، با توجه به رشد روز افزون تولید مسکن در کشور و با توجه به نیازی که برای وجود مکان هایی برای خرید و فروش مسکن احساس می شود و با توجه به اینکه رفته رفته گرایش به استفاده از خدمات الکترونیکی به این علت که در زمان و هزینه صرفه جویی بوجود می آورد رو به افزایش است، برای نمونه بعد از اینکه ثبت نام در آزمون های کنکور طی دو سال اخیر به صورت اینترنتی انجام شد و بعد از آن طبق نظر سنجی هایی که انجام شد اکثریت قریب به اتفاق شرکت کنندگان از این موضوع راضی بودند، اما در مورد سیستم خرید و فروش انواع مسکن این اهمیت دو چندان می شود ، زیرا مردم از کلیه نقاط کشور می توانند بدون صرف هزینه های اضافی سیر و سفر به صورت فیزیکی از وضعیت فروش مسکن در مکان ها و شهرهای دیگر اطلاع پیدا کرده و در صورت صلاح دید مسکن مورد نیاز خود را از آنها خریداری نمایند، این سیستم می تواند برای بنگاه های خرید و فروش مسکن مفید واقع شود.
در پایان نامه ای که پیش رو دارید سعی خود را بر آن داشته ام که تا حد امکان مطالب و مسائلی را وارد نمایم که در تجزیه ، تحلیل و طراحی این سیستم مورد استفاده قرار داده ام گرچه مطالب آورده شده تنها می تواند بیان کننده قسمتی از منابع و کارهای انجام شده برای نتیجه دادن این سیستم باشد و به قولی مشتی نمونه از خروار می باشد ولیکن به دلیل اینکه ارائه همه مطالب و منابع مورد استفاده برای تهیه این سیستم خارج از حد و حوصلۀ این پایان نامه می باشد در صورت نیاز می توانید به منابع ای که به صورت فایل هایی با فرمتPDF در لوح فشردۀ همراه پایان نامه آورده شده است مراجعه نمایید.
روال کار در پایان نامه به این صورت است که فصل های آنرا بر طبق معروفترین مدل فرایند تولید و نگهداری نرم افزار یعنی همان مدل آبشاری[1] ارائه کرده ام ، که شکل آن به صورت زیر می باشد:
مدل آبشاری تولید نرم افزار
مراحل اصلی این مدل به فعالیت های اساسی توسعه نرم افزار نگاشت می شود:
1. تحلیل خواسته ها: سرویس های سیستم ، محدودیت ها و اهداف از طریق مشورت با کاربر مشخص می شوند. این ها به طور مشروح تعریف می شوند و به صورت مشخصات سیستم مورد استفاده قرار می گیرند.
2. طراحی نرم افزار: فرایند طراحی نرم افزار ها ، خواسته ها را به سیستم های نرم افزاری کوچک تر تقسیم می کند، و بدین ترتیب یک معماری کلی بوجود می آید ، این مرحله شامل شناسایی و توصیف انتزاع های اساسی سیستم نرم افزار و شناسایی آنها است.
3. پیاده سازی و تست واحد : در این مرحله طراحی نرم افزار به صورت مجموعه ای از برنامه ها یا واحد های برنامه در می آید. در تست واحد بازبینی می شود که هر واحد خواسته های مورد نظر را بر آورده می کند.
4. جامعیت و تست سیستم : واحد ها ی اولیه برنامه یا برنامه ها جامعیت پیدا می کنند و به عنوان یک سیستم کامل تست می شوند تا تضمین شود که خواسته های نرم افزار بر آورد شده اند بعد از این تست سیستم به مشتری تحویل داده می شود.
5. به کارگیری و نگهداری : این مرحله که طولانی ترین مرحله این فرایند است .در واقع پروژه ما بدلیل آزمایشی بودن آن نیازی به این مرحله ندارد.
در فصل اول پایان نامه به اجرای مرحله اول از این سیستم پرداخته شده و پس از آن به اجرای مرحله دوم از این مدل در فصل دوم پرداخته شده و مسائل کامل طراحی سیستم در این فصل آورده شده است ، در فصل سوم به معرفی نرم افزار های مورد استفاده برای پیاده سازی سیستم و در فصل چهارم نیز به شرح آن قسمت از نرم افزار ها که در این سیستم بیشتر مورد استفاده قرار گرفته است پرداخته ایم و در آخرین فصل به پیاده سازی سیستم و اجرای مراحل سوم و چهارم از مدل آبشاری تولید نرم پرداخته ایم و در پایان این فصل به ارائه قسمتی به عنوان راهنمای سیستم پرداخته ایم.
در لوح فشردۀ پروژه نیز قسمت هایی را جهت استفاده هر چه بیشتر کاربر از مطالب آورده شده در پایان نامه،قرار داده ام.
فصل اول
تجزیه و تحلیل سیستم
1-1)تشریح سیستم دستی خرید فروش مسکن :
همانطور که می دانیم برای خرید و فروش مسکن در حالت دستی باید به یکی از بنگاههای مسکن رجوع کرده و به مدیر بنگاه اطلاعات ساختمانی مورد نظر خود را چه برای خرید و چه برای فروش بدهیم . مثلاً اگر ما قرار است که ساختمان خود را به فروش بگذاریم باید ابتدا محل ساختمان خود را بگوئیم یعنی ساختمان ما در چه استان و در چه شهر در چه منطقه و سپس در چه کوچه ای واقع شده است وسپس متراژ دقیق ساختمان و زیر بنا و در نهایت قیمت مورد نظر خود را به مدیر بنگاه تحویل میدهیم . و اما اگر مشتری برای مسکن ما آمد و مورد پسند ایشان بود باید با ما تماس گرفته شود تا ما در بنگاه حاضر شویم تا معامله را بنویسیم لذا باید شماره تماس خود را نیز به مدیر بنگاه بدهیم و همچنین برای عقد قرار داد و همچنین تماس با ما نیاز به مشخصات فردی اینجانب یعنی نام و نام خانوادگی و همچنین کد ملی و کد پستی نیز نیاز است .
وهمینطور اگر ما بخواهیم تا ساختمان را بخریم می توانیم به بنگاه رجوع کرده و اطلاعات ساختمان مورد نظر خود را به مدیر بنگاه داده سپس او چند ساختمان که اطلاعات آن به ساختمان مورد در خواست ما نزدیک است را معرفی می کند یعنی با ورق زدن دفترچه اطلاعات مسکن های فروشی این کار را انجام می دهد که ممکن است با ازدحام زیاد داده این کار مشکل شود . و اما اگر ساختمان مورد نظر این خریدار پیدا شد باید با فروشنده تماس گرفته شود وسپس با توافق طرفین معامله انجام شود .
1-2)مشکلات سیستم دستی :
مشکلاتی که در این سیستم وجود دارد این است که فروشنده یا خریدار برای فروش یا خرید مسکن باید حتماً به یکی یا حتی بیش از چند بنگاه بروند و شخصاً در بنگاه حضور یابند تا اطلاعات مسکن خود را برای فروش یا خرید به مدیر بنگاه تحویل دهند که این ممکن است کار طاقت فرسایی باشد مثلاً شما شخصی را در نظر بگیرید که مثلاً در استان زنجان واقع است و می خواهد ساختمانی در استان تهران بخرد این شخص باید حتماً به استان تهران سفر کرده و بنگاههای مورد نظر را بگردد تا ساختمان مورد نظر خود را پیدا کند و حتی ممکن است در آن روز یا چند روز نتواند ساختمان مورد نظر خود را پیدا کند و لذا موفق به خرید نمی شود . از مشکلات دیگر این سیستم در همان داخل بنگاه است یعنی مدیر بنگاه برای پیدا کردن ساختمان مورد نظر برای فروش باید به صورت دستی دنبال ساختمان مورد نظر بگردد تا ساختمان را با مشخصات داده شده پیدا کند . که این کار میتواند طاقت فرسا باشد و همچنین وقت مدیر بنگاه را بگیرد .
1-3)مشخصات سیستم مکانیزه ی خرید و فروش مسکن :
در این روش ما برای خرید یا فروش مسکن خود به سایت خرید و فروش مسکن (مهر ) با اتصال به اینترنت ( شبکه گسترده جهانی ) وسپس با وارد کردن آدرس اینترنتی این سایت به این وب سایت متصل می شوید ابتدا در صفحه ی اصلی هستید که در این صفحه دو شکل وجود دارد که از طریق آنها می فهمیم که به یک سایت خرید و فروش مسکن وارد شده ایم در پائین صفحه مشخصات ساختمان های فروشی داده شده است لذا اگر ما قصد خرید مسکن را داشته باشیم ابتدا کد مسکن مورد نظر را در نظر می گیریم سپس به لینک خرید مسکن کلیک کرده و به صفحه ی مورد نظر رفته و در آن صفحه دگمه new را زده مشاهده می کنیم که اطلاعاتی از ما خواسته می شود همچون اطلاعات شخصی و کد ساختمان مورد نظر و همچنین اطلاعاتی در مورد تماس با ما که از طرف مدیر بنگاه با ما تماس گرفته می شود تا در وقت مقرری در بنگاه حاضر شویم . لذا این سیستم در واقع حالت سیستم رزرواسیون را دارد که ما ساختمان مورد نظر را انتخاب و رزرو می کنیم و با فروشنده صحبت می شود و هر کدام از مشتری هائی که قیمت مناسبی را پیشنهاد بدهد ساختمان به او واگذار می شود . اما برای فروش نیز به لینک مورد نظر یعنی فروش مسکن رفته و دگمه ی new را انتخاب کرده و اطلاعات مسکن خود را وارد می کنیم و همچنین اطلاعات فردی و همچنین اطلاعات مورد نیاز برای تماس با ما را وارد می کنیم و منتظر می مانیم تا از طرف مدیر بنگاه با تماس گرفته شود .
طراحی سیستم خرید و فروش مسکن تحت وب :
در این سیستم مشتری ابتدا به صفحه اول وارد می شود وسپس با توجه به اینکه خریدار یا فروشنده باشد یک پروسه ای را طی می کند که شکل DFD آن به صورت زیر نمایش داده شده است .
صفحه اول
فروش مسکن
خرید مسکن
درباره ما
ارتباط با ما
اخبار مسکن
تاریخچۀ مسکن مسکن
راهنمای سایت سایت
سایر لینک ها
نظرات
(تصاویر و نمودار در فایل اصلی موجود است)
اگر مشتری ما خریدار مسکن باشد اطلاعات خانه های فروشی را در صفحه ی اول مطالعه می کند و در صورت مورد پسند بودن کد ساختمان مورد نظر و مابقی اطلاعات را در لینک خرید ساختمان وارد می کند . اگر مشتری ما فروشنده مسکن باشد اطلاعات ساختمان خود را در لینک فروش مسکن و همچنین اطلاعات فردی مورد نیاز مدیر سایت را وارد می کند .
در لینکهای دیگر لینک نظرات را داریم که در این لینک مشتری یا هر کس دیگری می تواند نظرات خود را درباره این سایت بدهد که در این فرم شخص مقابل را ملزم به ذکر اسم و فامیل خود نکرده ایم که بتواند نظرات خود را بدون هیچ مشکلی وارد کند و سپس دگمه ارسال نظر زده می شود که این نظرات در پایگاه داده وب سایت ذخیره می شود که فقط مدیر سایت می تواند این نظرات را مطالعه کند . لینک اخبار مسکن اخبار روز در مورد مسکن ذکر شده است که برای دادن اطلاعات بیشتر برای مشتریان فراهم می کند که به آنها در مورد انتخاب مسکن مورد نظر خودکمک می کند .
لینک درباره ی ما توضیحاتی در مورد طراح سایت و توضیحات دیگری داده شده است . لینک راهنمای سایت در مورد طرز استفاده ی درست از سایت داده شده است به صورت کامل داده شده است که در همان صفحه ی اول هم به کاربر پیشنهاد می شود که ابتدا راهنمای سایت را مطالعه کند . در سایر لینکها هم لینکهای مربوط به مسکن یا لینکهای مورد علاقه داده شده است که کاربر می تواند از آنها استفاده کند .
1-5) نمودارهای usecase مورد نیاز:
در این قسمت نمودارهای usecase مورد نیاز برای طراحی سیستم را رسم می کنیم . در واقع نمودار usecase همان پروسه ای است که یک کاربر باید در سیستم طی کند تا به هدف خود برسد که در هر مرحله از این نمودار ممکن است نیاز به نوشتن یک نرم افزار یا یک کد نویسی باشد در نهایت تمام این نمودار ها به هم ارتباط داده می شوند که سیستم اصلی را بسازند .
1-5-1) نمودار usecase مربوط به خرید مسکن :
ما ابتدا از نمودار usecase خرید مسکن شروع می کنیم که به صورت زیر است که مشاهده می کنید:
ورود به صفحه خرید مسکن
زدن دگمه ثبت اطلاعات
انتخاب مسکن مناسب از صفحه اول و زدن دگمه خرید مسکن
ورود اطلاعات خواسته شده
یعنی ابتدا یک مشتری که وارد سایت می شود ابتدا باید یک مسکن مناسب را از قسمت نمایشگاه مسکن انتخاب کند سپس کد آن را یادداشت کند بعد به صفحه ی خرید مسکن وارد شود و اطلاعات خواسته شده را در قسمتهای خواسته شده بنویسد سپس با زدن دگمه ثبت اطلاعات پروسه ی او به پایان می رسد .
1-5-2) نمودار مربوط به فروش مسکن :
نمودار زیر برای فروش مسکن می باشد که بعد از زدن دگمه مربوط به فرو ش مسکن در بالای صفحه به آن صفحه رفته و اطلاعات خواسته شده را وارد می کنیم سپس دگمه ثبت اطلاعات را می زنیم با زدن این کلید عمل ثبت انجام می شود و این پروسه نیز با موفقیت انجام می شود .
جداول ارتباطات مربوط به پایگاه داده این وب سایت نیز به صورت زیر می باشد :
همان گونه که می بینیم کد مسکن با کد فروشنده به عنوان یک کلید خارجی مطرح شده است و دو table خریدار و فروشنده مسکن را به هم ربط می دهد . یک جدول مربوط به جدول نظرات نیز داریم که نظرات بازدید کنندگان را در آن ذخیره می کنیم. که به صورت زیر می باشد :
فصل دوم
انتخاب نرم افزار های مورد استفاده
2-1) مقدمه فصل:
با توجه به وجود نرم افزارهای فروارن در طراحی سایت و پایگاه داده های آن در این فصل به ارائه توضیحاتی در مورد نرم افزار های انتخاب شده برای پیاده سازی سایت و چرایی انتخاب آنها پرداخته ایم. برای اطلاعات بیشتر در این زمینه می توانید به منابع گفته شده در قسمت آخر پایانامه مراجعه نمایید ، با توجه به اهمیت این بحث یقینا هر فردی نیاز به این کار دارد که قبل از انجام هر کاری برای طراحی و پیاده سازی سایت دست به انتخاب آگاهانه نرم افزار های مورد نیاز خود بزند.
2-2) ابزار ها ، نرم افزار ها و منابع استفاده شده برای تجزیه تحلیل و طراحی سیستم:
برای طراحی صفحات از نرم افزار Microsoft Visual Web Developer 2008 Express Edition یا همان ASP.Net[2] تحت زبان بر نامه نویسی سی شارپ( c# ) استفاده شده است و همان گونه که از نام آن پیداست قسمتی از مجموعه ویژوآل استودیو دات نتِ[3] شرکت تولید نرم افزار ماکرو سافت می باشد. و اما چرا از این مجموعه های استفاده شده در ادامه توضیح داده خواهد شد، منابع استفاده شده نیز به دلیل کمبود و یا عدم وجود منابع فارسی برای نسخه 2008 این نرم افزار نیز معمولا مربوط به نسخه های 2005 و 2003 این نرم افزار می باشند، و برای طراحی پایگاه داده یا همان دیتا بیس[4] نیز از نرم افزار اس کیو ال سرور[5] محصول همین شرکت ماکرو سافت نسخه 2005 آن استفاده شد که چرایی این کار نیز در ادامه آورده خواهد شد.
2-3) چرا ASP.Net ؟
سالها پیش کهAsp.Ne چشم انداز جدیدی را به دنیا وب گشود ،پدیده واقعا شگفت انگیزی بود که خیلی زود مورد توجه برنامه نویسان وب قرار گرفت.برنامه نویسان Asp کلاسیک خیلی زود به Asp.Net گرویدند و بسیاری دیگر Asp.Net را به سایر زبانها ترجیح دادند.
این ابزار کمپانی میکروسافت (Microsoft) خیلی زود به رقیبی جدی در زمینه ساخت برنامه های وب[6] و صفحات پویا[7] تبدیل شد.
ASP.Net چیزی بیش از نسخه ارتقاء یافته[8] Asp کلاسیک به شمارمی رود.در واقعAsp.Net یک پرش به جلو محسوب میشود.
نسخه نهاییAsp.Net 2.0 مدتهاست توسط میکروسافت در اختیار برنامه نویسان وب قرار گرفته است. به علت ایتکه بنده منبع خوب و کاملی از ASP.Aet 3و ASP.NET 3.5 نداشتم به بررسی همین نسخه ازASP.Net در اینجا اکتفا نموده ام.
قابلیتهایی که برنامه نویسی را برای طراحان وب بسیار آسان و لذت بخش نموده است.از سوی دیگر این قابلیتها برنامه نویسان را در طراحی وب سایتهای کارآمد تر کمک می کنند.
بعنوان مثال مستر پیج ها[9] ،تمها[10] و اسکینها[11] شما را در ساخت صفحات سازگار ، همگون و ایجاد ظاهر مناسب برای سایت کمک می کنند.
همچنین Asp.Net 2.0 امکانات جدیدی برای ساخت صفحات وب، مخصوص گوشیهای همراه به ارمغان آورده است. البته در اینجا به این مبحث نمی پردازیم. کنترلهای جدید و ویزاردها[12] اعمال معمول و مهمی همچون دسترسی داده ها[13] را بدون نوشتن حتی یک خط کد ، فراهم آورده اند.
شرکت میکروسافت بر اساس تجربیات میلیونی مشتریان و کمپانیهایش در سراسر جهان اقدام به بهبود محصولات خود میکند.بعلاوه که حفظ مشتری با ظهور ابزار متن بازی[14] همچون Php و یا Macromedia FLASH رقابت را برای میکروسافت دشوارتر ساخته است با این وجود. Asp.Net همچنان یکی از پر طرفدار ترین ابزار های طراحی وب در دنیای وب و اینترنت به شمار می آید.
نسل جدید زبانهای برنامهنویسی به این دلیل تولید میشود که زبانهای قدیمیتر دارای امکانات محدود بوده و یا قدرت استفاده از تکنولوژیهای فعلی را بصورت مطلوب ندارند. ASP.Net نسل جدیدی از ASP بوده که توسط شرکت مایکروسافت عرضه گردیده است. ASP.Net اولین سیستم جامع برای برنامهنویسی تحت وب (اینترنت) است که از مراحل سطح پایین آن یعنی زبان ماشین تا بالاترین سطح آن که برنامهنویسی ویژوال میباشد برای استفاده در اینترنت و شبکه های محلی طراحی شدهاست. بزرگترین مزیت آن در برابر سیستمهای دیگر، امکانات اینترنت آن است. از ASP.Net میتوان در طراحی و تولید سایتهای وب اینترانت کوچک یک شرکت و نیز سایتهای وب تجاری خیلی بزرگ استفاده نمود. مهمترین نکتهای که در طراحی این محصول درنظرگرفتهشدهاست، استفادهی آسان، کارآیی بالا و نیز قابلیت فوقالعاده این نرمافزار است.
ASP.Net، یک زبان برنامه نویسی run time است. ساختار آن بر اساس فریم ورک[15] بوده که تمام لایههای برنامه نویسی را در بالای سیستم عامل دربرگرفتهاست. این تمامی تکنولوژی های موجود از طرف مایکروسافت و سایر شرکت ها را شامل میشود. در .Net تمام اعمال تخصیص حافظه و سازماندهی فایل بعهدهی .Net ، Framework است. همین باعث میشود تا بتوان برنامهای را که به سیستم عامل متکی نمیباشد ، نوشت. اما قلب Framework، [16]CLR میباشد. مسئول اجرای فایلها، فراخوانی آنها به حافظه و کمپایلکردن آنها به زبان MSIL است. سپس کدهای IL در هنگام اجرا، توسط برنامهی کمپایلر Just-in-time به زبان ماشین تبدیل میشود. این بدان معنی است که در .Net دو مرحله برای کمپایلشدن وجود دارد. اولین مرحله وقتی است که برنامه به IL کمپایل شود که این کد کمپایلشده، وابسته به سیستم عامل نمیباشد. مرحلهی دوم زمان اجرا است که کمپایلر Just-in-hime کد IL را برای اجرا به زبان ماشین ترجمه میکند.e
(نمودار و تصاویر و جداول در فایل اصلی موجود است)