پروژه مهندسی نرم افزار سیستم فروش
هدف
هدف از انجام اين پروژه ايجاد سيستمي است که بوسيله آن بتوان بر روي کامپیوتر (و يا شبکه هاي کامپیوتری) عمل ثبت فروش و خرید اقلام و خدمات یک شرکت خدمات کامپیوتری و نگهداری و مشاهده سوابق آن را بصورت خودکار و با کمترین دخالت نیروی انسانی انجام دهد.
اين سيستم مشتمل بر دو قسمت مشتري و سرويس دهنده است که تحول گیرندگان و تحویل دهندگان فقط سيستم مشتري را مي بينند. همچنين اين سيستم قادر به ارائه انواع گزارشات در مورد افراد ، اشياء يا موضوعات مختلف خواهد بود.
در اين نوشته هر جا که احساس شده کلمه اي ابهام برانگيز است از معادل انگليسي آن استفاده شده است.
مخاطبان اين نوشته توسعه دهندگان ، مديران سيستم و مسئوليين فروشگاه هستند. اين نوشته براي مشتریان و کاربران عادي نوشته نشده و لزومي ندارد که اين دسته از کاربران از اين نوشته با خبر شوند.
محدوده پروژه
در حال حاظر توسعه اين پروژه به منظور اهداف تحقيقاتي و پروژه دانشجویی انجام مي گيرد و استفاده تجاري از آن مد نظر نيست ، ولي استفاده از اين پروژه در دنياي واقعي نيز دور از انتظار نمي باشد و ممکن است در آينده نزديک از آن در شرکتهای خدمات نرم افزار و سخت افزار کامپیوتر واقعي نيز استفاده شود.
در دنياي به سرعت در حال توسعه امروز(که در آن سیستمهای کامپیوتری هر روز نقش بيشتري در زندگي انسانها پيدا مي کند) راه گريزي از نهادهاي الکترونيکي اجتماعي وجود ندارد. شهرهاي اينترنتي، شهروندان اينترنتي و دولت هاي الکترونيک و نهادهاي سياسي مختلف ، همه و همه لزوم ايجاد سيستم هاي کامپیوتری را بيش از پيش مسجل مي کنند.
مقدمه
نرم افزار حاضر که به عنوان پروژه پایان تحصیلات ارائه گردیده است ، حاوی برنامه فروشگاه می باشد ، که متشکل از سیستم خرید و فروش ، چاپ صورت وضعت قطعات و نرم افزارها و خدمات ارائه شده به مشتری بوده و قابل نصب و استفاده بر روی کلیه کامپیوترهای خانگی و حرفه ای می باشد.
می توان از کلیه امکانات برنامه به راحتی استفاده نمود.
مشخصات فنی نرم افزار
این برنامه با زبان C# 2005 نوشته شده است و دارای پایگاه داده SQL SERVER 2005 می باشد . این برنامه قابل نصب بر روی کلیه ویندوزهای فارسی می باشد.
از قابلیتهای جالب این برنامه این است که می توان آن را به راحتی و بدون تغییر در محیط شبکه نیز مورد استفاده قرار داد.
البته این مساله به این دلیل است که در هنگام طراحی برنامه به این مساله نیز توجه شده است.
توضیحات کلی سیستم
چشم انداز محصول
اين محصول يک محصول جديد نیست ولی ويرايش يا ويرايش هايي از آن قبلا توليد نشده است. شکل زير نمايي کلي از محصول را نشان مي دهد:
محيط عملياتي
نرم افزار می تواند در محیط شبکه برای چندین کاربر خدمات دهی نماید و یا اینکه یک کاربر به تنهایی از نرم افزار استفاده نماید.
نرم افزار به گونه ای طراحی گردیده است که دارای قابلیت گسترش نیز باشد. البته به این مساله در هنگام طراحی سیستم نیز توجه گردیده است.
محیط استفاده نیز به گونه طراحی شده که به راحتی کاربران بتوانند از برنامه استفاده نمایند و برای ثبت کتب تحویلی و دریافتی نیاز به هیچ تخصصی می باشد.
مستندات کاربران
نرم افزار شامل راهنمايي است که کاربر در عرض يک يا دو دقيقه آن را مطالعه کرده و قادر به استفاده از سيستم خواهد بود . نرم افزار شامل مستندات کاملي براي استفاده مديران خواهد بود. براي نگهداري و توسعه سيستم در آينده نيز ، در مورد مستندات طراحي و پياده سازي تصمیم گیری خواهد شد.
مفروضات و وابستگي ها
نرم افزار نهايي توليد شده مي تواند از نرم افزار ها و کتابخانه هاي متن باز موجود استفاده کند. همچنين توسعه دهندگان مي توانند از هر گونه ابزار تجاري و متن باز براي توسعه استفاده کنند ، ولي نرم افزار نهايي نبايد به هر گونه محصول تجاري که براي استفاده کننده منجر به پرداخت هزينه شود وابستگي داشته باشد.
در صورت وابستگي محصول نهايي به يک ابزار و يا محصولي که هزينه اي براي استفاده کنندگان در بر دارد بايد معادلي رايگان براي اين وابستگي وجود داشته باشد. به عبارت ديگر محصول نهايي بايد بتواند به نحوي بدون پرداخت هزينه اضافي براي نرم افزارهاي ديگر مورد استفاده قرار گيرد.
نيازمندي هاي امنيتي
همان طور که قبلا نيز ذکر شد امنيت از مهمترين اهداف اين پروژه است. هر کاربر تا هنگامي که احراز هويت نشده اجازه انجام هيچ کاري را ندارد. برای هر یک از کاربران (در صورتی که از سیستم تحت شبکه استفاده شود) کد امنیتی و کلیمه عبور تعریف می شود و هر یک از رخدادهای مربوط به هز یک از کارران در یک فایل با عنوان Log File ذخیره می شوند و فقط مدیر سیستم به این بخش دسترسی خواهد داشت.
ويژگي هاي کيفيت نرم افزار
پس از امنيت مهمترين خصيصه لازم براي نرم افزار صحت(Correctness) است. نرم افزار نبايد در هيچ يک از مراحل ثبت ، ذخیره و بازیابی اطلاعات خطايي داشته باشد. ويژگي مهم ديگر در دسترس بودن(Availability) نرم افزار است. نرم افزار باید همواره در دسترس باشد. همچنين نرم افزار بايد ديگر ويژگي هاي لازم يک نرم افزار خوب را تا حد ممکن دارا باشد.
مجموعه بازنگريها و اصلاح
فرآيند طراحي ، يک فرآيند تکراري است ، که در آن هر بار اصلاحات در طراحي قبلي انجام مي گيرد. بنابراين شايسته است براي اگاهي از مراحل مختلف ان نمودارها و طراحيها در step هاي مختلف اورده شوند تا روند تکامل طراحي مشخص گشته از بروز خطاها در مراحل بعدي توليد جلوگيري گردد و اشکالات به صورت واضح تري ديده شوند . همچنين باز نگري نهايي براي همخواني کليه قسمتهاي طراحي امري لازم به نظر مي رسد.
معماري در ســــاده ترين شكل خود عبارت است از ساختار سلسله مراتبي اجزاء برنامه (پيمانه ها)، شيوة ارتباط اين اجزاء و ساختار داد ه هايي كه توسط اجزاء مورد استفاده قرار مي گيرند.
مزایای سیستم
استفاده از این سیستم مکانیزه کتابخانه مزایای زیادی دارد. قسمتی از این مزایا عبارتند از:
• دقت بالا در محاسبه هزینه ها
• سرعت بالا در پیدا کردن اطلاعات مربوط به یک عضو یا قطعه یا خدمات
• جلوگیری از اتفاقات ناگهانی مانند گم شدن و . . .
• حذف هزینه های اضافی مانند چاپ و . . .
• جلوگیری از بایگانی تعداد زیادی کاغذ در زونکن
• سرعت در سرویس دهی به ارباب رجوع
نيازمنديهاي مساله جهت طراحي نرم افزار فروش
• اطلاعات پايه
1. امكان تعريف قسمتها و بخشهای مختلف
2. امكان تعريف انواع گروههای مختلف خدمات
3. امكان تعريف انواع طبقات خدمات
4. امكان كدگذاري قطعات
5. امكان تعريف كارمندان و مشخصات شخصي و شغلي آنها
6. امكان تعريف اشخاص حقیقی و حقوقی درخواست كننده قطعات
7. امكان تعريف منابع تهيه قطعات
8. امكان ثبت اطلاعات قطعات شامل : نام قطعه ، تولید کننده ، طبقه ، عنوان ، حداقل موجودي ، حداكثر موجودي و ...
9. امكان تعريف سال مالي براي انجام عمليات مختلف و گزارش گيريهاي مختلف
• عمليات مربوط به جستجو ، حفظ و نگهداري قطعات و سوابق آن و كنترل موجودي قطعات و خدمات
1. امكان اجراي عمليات قطعه فروشی به صورت متمركز و غيرمتمركز
2. امكان ثبت مشخصات قطعات و كنترل موجودي تعدادي
3. امكان كنترل موجودي قطعات در فروشگاه
4. امكان كنترل موجودي ابزار اماني
5. امكان ثبت و نگهداري نتايج بازرسي قطعات به امانت داده شده
6. به روز شدن نرم افزار به صورت خودكار در هنگام ثبت ورود و خروج کالا
7. امكان نگهداري سوابق
8. امكان اولويتبندي درخواستها و كنترل اعتبارات
9. امكان جستجوي سوابق كار هر يك از اعضا و كارمندان
• گزارشها
1. امكان ايجاد انواع گزارشهاي تاريخچهاي ، عملياتي و مديريتي به صورت آماري
2. امكان گزارشگيري از موجودي ثطعات در فروشگاه ، فهرست و مشخصات قطعات و گزارشهاي كنترل موجودي
3. امكان گزارشگيري از تعداد فروش
4. امكان گزارشگيري از فهرست روزانه و ماهانه ورود/ خروج
5. امكان گزارشگيري از قطعاتی كه در يك دوره بيشترين درخواست کننده را داشته اند
6. امكان گزارشگيري از فروش قطعات در اول دوره مالي
7. امكان گزارش گيري از فروش كل به تفكيك مشتریان
8. امكان گزارشگيري تعدادي و ريالي قطعات خارج شده از فروشگاه
9. امكان مشاهده بازيابي و مقايسه اطلاعات قبلي و سالجاري فروشگاه
10. امكانگزارشگيري از فهرست اعضای فعال
11. امكان گزارشگيري از اطلاعات هر یک از کارمندان به تفکیک
12. امكان گزارشگيري از قطعات برگشتي به فروشگاه
13. امكان گزارش گيري از اعضایی که کتاب در تحویل دارند
14. امكان قرار دادن مشتريان در Black/wait ليست
15. امكان تهيه گزارشهاي دلخواه به صورت پارامتريك (Report Generator )
16. امکان مشاهده گزارش جریمه ها