فهرست:

مقدمه ۴

فصل اول : معرفی ۵
۱-۱) ضعف برنامه های انبار موجود ۶
۱-۲) انگیزه تحقیق ۷
۱-۳) هدف پروژه ۷
۱-۴) روش انجام پروزه ۷

فصل دوم : مروری بر فرآیند انبارداری ۸
۲-۱) تعریف انبار ۹
۲-۲) دلایل استفاده از انبار ۹
۲-۳) انواع موجودیهای انبار ۱۰
۲-۴) سازمان انبار ۱۱
۲-۵) وظایف انباردار ۱۱
۲-۶) دیاگرام جریان اطلاعات در انبار ۱۲

فصل سوم : طراحی نرم افزار ۱۴
۳-۱) گزارش شناخت سیستم ۱۵
۳-۲) گزارش کامل آنالیز سیستم ۱۶
۳-۳) پیاده سازی بانک اطلاعاتی ۳۰

فصل چهارم : پیاده سازی نرم افزار ۳۴
۴-۱) مقدمه ۳۵
۴-۲) تعریف چند واژه ۳۶
۴-۳) چند نکته پیرامون پیاده سازی نرم افزار ۳۶
۴-۴) ارزیابی پروژه ۳۷
۴-۵) قسمتهایی از کد برنامه ۳۸

پیوست ۴۶
فرم های طراحی شده برنامه ۴۷

منابع و مراجع ۵۵

فهرست اشکال :

۲-۱- نمودار ارتباط سازمان انبار با مخازن و اداره امور انبارها ۱۱
۲-۲- فرآیند انبار (ورودی ها و خروجی ها) ۱۲
۲-۳- دیاگرام جریان اطلاعات انبار ۱۳
۱-۱- صفحه بارگذاری که در ابتدای برنامه ظاهر می شود ۴۷
۱-۲- فرم رمز عبوربرنامه ۴۷
۱-۳- صفحه اصلی برنامه ۴۸
۱-۴- فرم ثبت نام پرسنل ۴۸
۱-۵- فرم ثبت کارهای روزانه پرسنل ۴۹
۱-۶- فرم سفارشات شرکت ۴۹
۱-۷- فرم مواد اولیه انبار ورودی ۵۰
۱-۸- فرم تولیدات نهایی شرکت ۵۰
۹-۱- فرم مواد اولیه انبار خروجی ۵۱
۱-۱۰- فرم لیست کارهای ثبت شده ۵۲
۱-۱۱- فرم جستجوی تولیدات نهایی ۵۲
۱-۱۲- فرم جستجوی مواد اولیه انبار ورودی ۵۳
۱-۱۳- فرم جستجوی سفارشات ۵۳
۱-۱۴- فرم میزان دریافتی سفارشات ۵۴
۱-۱۵- فرم گزارش مشخصات پرسنل ۵۴
۱-۱۵- فرم ارتباط با ما ۵۴

مقدمه

فنون و تخصصهای اداری در زمره مسائلی است که آگاهی از آن برای کارشناسان و صاحبان مشاغل امری ضروری است . هر اندازه دانش مدیران و کارگزاران در زمینه مدیریت و فنون اداری بیشتر و ابعادي گسترده تر داشته باشد ، اعمال مديريت و سرپرستي با كمال و نيروي بيشتري تحقق خواهد پذيرفت و نتيجتاَ كارايي سازمان ها و كاركنان در جهت نيل به هدفهاي سازماني فزوني خواهد يافت .
براي دستيابي به هدف فوق تهيه متون آموزشي مناسب مورد تاكيد خاصي قرار گرفته و با توجه به اهميت كامپيوتر در دنياي امروز ، بخصوص در تصميم گيري هاي كشوري با حجم زياد اطلاعات و نقش مهمي كه اين تكنولوژي در دستيابي به ساير تكنولوژي هاي پيشرفته ايفا مي كند ، استفاده از آن و ايجاد بانك هاي اطلاعاتي به كمك نرم افزار هاي پايگاه داده مفيد واقع خواهد شد .
در اين پايان نامه به مباحث زير اشاره شده است :
o فصل اول : معرفي ، كه به معرفي كل سيستم مي پردازد .
o فصل دوم : مروري بر فرآيند انبار داري ، كه به نكاتي در مورد اصول انبارداري اشاره مي كند .
o فصل سوم : طراحي نرم افزار ، كه ساختار و چگونگي تشكيل پايگاه دادة سيستم را مورد بررسي قرار مي دهد .
o فصل چهارم : پياده سازي نرم افزار ، كه در آن به نحوة پياده سازي نرم افزار پرداخته ايم .
o فصل پنجم : راهنماي استفاده از نرم افزار انبار ، كه بهكاربر مهارت هاي استفاده از اين نرم افزار را مي آموزد .
o فصل ششم : قسمت هايي از كد برنامه كه در آن با توابع مهم برنامه آشنا مي شويم .

فصل اول :

معرفي

۱-۱) ضعف برنامه هاي انبار موجود
با آمدن سيستم عامل ويندوز ، سيستم عامل داس رفته رفتهاز دور خارج شده است و برنامه هاي قديمي از جمله برنامه هاي انبارداري تحت سيستم عامل داس بوده اند قابل مقايسه با برنامه هاي تحت ويندوز نمي باشد بنا به دلايل زير :
– محيط گرافيكي ويندوز
محيط متن داس در مقابل محيط گرافيكي و دوستانه كه كاربر كمتر احساس خستگي مي كند و با سليقه خود زمينه كاري را عوض مي كند كه تاثيرات رواني بهينه اي بر روي كاربر دارد .

– قابليت چند وظيفه اي ويندوز
در محيط داس در هر لحظه فقط يك عمل را مي توانيد انجام دهيد ولي در محيط ويندوز شما قابليت چند وظيفه اي را داريد و چند كار را با هم انجام مي دهيد . مثلاَ در حين كار با برنامه خود نامه هاي الكترونيكي خود را دريافت كنيد ، فايل ها را از اينترنت دريافت كنيد ، منابع خود را براي ديگران به اشتراك گذاشت و موسيقي نيز گوش كرد بدون اينكه برنامه خود را قطع كنيد .

– استفاده از موتور هاي پايگاه داده
نرم افزار هاي تحت ويندوز امكاناتن بهتري براي استفاده از پايگاه داده مختلف دارد مثلاَ در محيط Visual Foxpro علاوه بر استفاده از جداول Foxpro امكان استفاده از جداول Access ، Excell ، Oracle ، DB و …
را دارد . كه اين قابليت براي برنامه نويس مفيد واقع مي شود و جداول طراحي شده در هر نرم افزار ديگر قابل استفاده است . كه اين امكان در محيط داس خيلي ضعيف مي باشد .

– استفاده از قابليت بهينه شبكه
در محيط شبكه ويندوز هر ايستگاه كاري مي تواند داده ها و منابع خود را در اختيار ديگر ايستگاه ها بگذارد ولي در محيط شبكه ناول اين امكان فقط در سرور وجود دارد و امكانات بيشمار شبكه ويندوز قابل قياس با شبكه هاي قديمي نيست .

۲-۱) انگيزه تحقيق
با توجه به وجود برنامه هاي انبار كه تا حدودي نيازهاي انبارداري را پاسخ مي دهد ولي در بيشتر موارد با توجه به نوع انبار و محل آن نياز به برنامه خصصوصي كه نياز هاي كامل انباردار راپاسخ دهد نيز وجد دارد . در برنامه هاي انبارداري جديد مسؤل انبار يا مدير با دادن فاكتور هاي خاص به برنامه تصميم گيري براي مقدار ورود و خروج كالا را براي توليد و غيره را به عهده خود برنامه مي گذارد .

۳-۱) هدف پروژه
اين پروژه در نظر دارد كه ايده هاي اين شركت را جهت استفاده بهينه از برنامه انبارداري برآورده سازد . كه مهم آنها عبارتند از :
 خصوصی بودن برنامه برای شرکت کفش مشکین مشهد
 محاسبه حقوق و دستمزد پرسنل شرکت
 بالا بردن امنیت برنامه در مقابل دستکاری داده ها و کاربران غیر مجاز
 یکپارچه سازی برنامه

۴-۱) روش انجام پروژه
در ابتدا با دريافت فرمها و فاكتور ها و همچنين نياز هاي برنامه از سوي كارفرما مراحل آناليز برنامه صورت گرفته است . براي تهيه اين يرنامه از شش جدول استفاده شده است كه براي تهيه اين جداول از نرم افزار Accessاستفاده شده است و براي پياده سازي فرم ها از بسته نرم افزار ي Visual Basic 6 استفاده شده است .

فصل دوم :

مروري بر فرآيند انبار داري

۱-۲)انبار
به محل يا فضايي كه يك يا چند نوع كالاي بازرگاني ، صنعتي ، مواد اوليه و يا فرآورده هاي مختلف كه بر اساس يك سيستم صحيح طبقه بندي مي گردد ، انبار گفته مي شود .
انبار از نظر فرم به سه شكل مي باشد :

– انبار هاي پوشيده : اين امكان از تمام اطراف بسته و داراي سقف و وسايل ايمني كامل مي باشد .

– انبار هاي سر پوشيده : اين انبار داراي سقف است ولي چهار طرف آن باز و فاقد حفاظ جانبي مي باشد . اين نوع انبار ها كالا ها را از باران و آفتاب حفظ مي كند .

– انبار هاي باز يا محوطه : اين انبار ها به صورت محوطه مي باشد و معمولاَ براي نگهداري ماشين آلات و لوازم سنگين مورد استفاده قرار مي گيرد .

۲-۲) دلايل استفاده از انبار
در امور تداركات و كار پردازي ، سيستم انبارداري از اهميت خاصي برخوردار است و همكاري اين دو واحد خدماتي با يكديگر اجتناب ناپذير است . سيستم صحيح انبارداري داراي متضمن مزاياي زير مي باشد :
– دريافت ، حفاظت و دسترسي قرار دادن كالا ، مواد و وسايل مورد نظر به سهولت و سرعت انجام مي شود .

– با اعمال كنترل دقيق ، از ازدياد خارج از حد موجودي ها كه ممكن است بر اثر تغيير قيمت ها باعث زيان گردد ، جلوگيري مي شود .

– با استفاده صحيح از سيستم انبارداري ميزان موجودي كالا در انبار و ميزان مصرف آن در هر واحد ، كه پايه و اساس حسابداري صنعتي مي باشد ، محاسبه مي گردد .

– كنترل ميزان موجودي در انبار از نظر قيمت به سهولت صورت مي گيرد .

– صدور قبض انبار ( رسيد انبار ) موجبات تسعيل پرداخت مبلغ كالا به فروشنده و عمليات حسابداري مي گردد .

– چون ميزان موجودي ها معمولاَ به قيمت تمام شده در انبار ها نگهداري مي شود ، لذا در صورت خسارت ناشي از آتش سوزي و ساير ضايعات تعيين خسارت وارد شده به سهولت محاسبه مي گردد .

۳-۲) انواع موجودي هاي انبار
اجناس و كالاهاي موجود در انبار اعم از موسسات توليدي را مي توان به پنج دسته تقسيم نمود:

۱) مواد خام و يا مواد اوليه
از اين مواد براي توليد كالا استفاده مي شود .

۲) مواد و لوازم مصرفي و غير مصرفي
مواد و لوازم مصرفي به موادي اطلاق مي شود كه به طور غير مستقيم در انجام كار موسسه دخالت دارد و يا در سازمان هاي توليدي براي انجام خدمات جانبي مورد استفاده قرار داده مي شود .اين مواد بر اثر مصرف از بين مي روند مانند كاغذ و مواد و وسايل دسته بندي در سازمان هاي توليدي .
مواد غير مصرفي كه در انجام كار دخالت غير مستقيم دارد ولي مصرف نمي شود و به مرور زمان كهنه و فرسوده مي شود . مانند گوشي تلفن ، ميز و صندلي .

۳) مواد و لوازم در جريان ساخت
به موادي كه مقداري تغييرات در مواد اوليه آن داده شده ولي هنوز به صورت كامل ساخته نشده است ، مواد و لوازم در جريان ساخت گويند .
۴) كالايي كه از نظر ساخت به مرحله تكميلي رسيده و قابل عرضه مي باشد .

۵) اجناس خريداري شده جهت فروش:                                                                                                                                                                                                                    اين سري اجناس شامل اجناسي هستند كه بدون هيچ گونه تغييري به بازار جهت فروش عرضه مي گردد و به طور موقت در انبار نگهداري مي شود ، مانند فروشگاه ها و موسسات بازرگاني .

۴-۲) سازمان انبار
انبار قطعات و مواد اوليه در واحد هاي توليدي معمولاَ زير نظر مدير فني كارخانه قرار دارد و در بعضي از موسسات ، انبار مستقيماَ زير نظر مدير موسسه انجام وظيفه مي نمايد .
در سازمان هاي بزرگ ، واحد انبار داري مديريت مستقلي است كه زير نظر مدير عامل قرار دارد ، وتحت نظر مدير انبار نيز انبارهاي مختلفي كه هر يك از آن ها داراي مسؤل مي باشد ، انجام وظيفه مي كند . مثلاَ در واحد هاي توليدي ، انبار مواد ، قطعات و ابزار آلات و در دانشگاه ها ، انبار دانشكده ها تحت نظر مدير انبار مي باشند .

در سازمان هاي دولتي و غير انتفاعي ، معمولاَ واحد انبار تحت نظر تداركات و يا كار پردازي كه خود اين ها نيز يكي از واحد تابعه امور اداري محسوب مي شود ، مي باشد .
نمونه اي از نمودار سازماني كه موقعيت انبار و تداركات را نشان مي دهد ، در نمودار شكل زير نشان داده شده است .

شكل (۱-۲) نمودار ارتباط سازمان انبار با مخازن و اداره امور انبار ها

۵-۲) وظايف انبار دار
انبار دار كسي است كه عهده دار وظايف زير مي باشد .
– تحويل گرفتن اجناس و كالا هاي خريداري شده طبق اسناد و مدارك خريد
– صدور قبض انبار يا برگ رسيد جنس به انبار پس از تحويل گرفتن كالا
– صدور حواله انبار هنگام تحويل دادن كالا
– صدور فرم هاي مرجوعي ، برگشت از خريد و ساير فرم هاي مشابه

– صدور برگ درخواست كالا در صورت لزوم
– ثبت مشخصات و تعداد اجناس وارد و صادر شده در دفاتر و كارت هاي انبار
– طبقه بندي ، تنظيم و كد گذاري كالا و اجناس
– همكاري با حسابداري صنعتي و واحد سفارش ها در مورد تعيين حداقل ، حداكثر و نقطه سفارش
– حفظ و حراست اجناس و رعايت اصول ايمني در انبار
– بايگاني اسناد و مدارك انبار
– ارايه گزارش هاي لازم به مقامات ذيربط

۶-۲) دياگرام جريان اطلاعات در انبار

شکل (۳-۱) فرآیند انبار (ورودی ها و خروجی ها )

دياگرام جريان اطلاعات انبار

شکل (۴-۱) دیاگرام جریان اطلاعات انبار

فصل سوم :

طراحي نرم افزار

۱-۳) گزارش شناخت سيستم

شركت توليدي كفش مشكين در شهر مشهد – بلوار ابوطالب – ابوطالب ۲۳ – پلاك ۱۴ با شماره تلفن ۷۲۴۵۷۸۴-۰۵۱۱ واقع مي باشد  مالکين شرکت آقايان مهندس فرزاد اميني خراساني به عنوان مدير عامل و مهندس سامان بيات مي باشند.که سهام شرکت به طور مساوي بين آنها تقسيم شده است.

شرکت داراي مجوز از اتحاديه صنفي کفاشان مي باشد و ملک مربوطه داراي جواز کاربري کارگاه است . و خدماتي چون توليد انواع کيف و کفش مردانه و زنانه را ارايه مي دهند .
مواد اوايه اين شركت انواع چرم ، انواع استري ، انواع شبرو ، انواع اشوالت ، انواع قالب ، ريزه ، پارچه و… مي باشد كه اين مواد از کاخانجات توليدي چرم مانند کارخانه توليد چرم آفتاب و نيز فروشگاههاي عرضه ي مواد اوليه توليدي هاي کفش خريداري مي شوند .

تمام خريدهاي مواد اوليه از داخل کشور مي باشد و خريد خارجي تنها محدود به مدل ها و قالب هاي جديد مي باشد .حمل مواد اوليه خريداري شده در داخل شهر مشهد توسط ماشين هاي باري خود شرکت و خريدهاي خارج از شهربه عهده فروشنده است كه باز هم توسط ماشين هاي باري فروشگاهي که از آن خريد شده حمل مي شوند و پرداخت حساب مواد اوليه اغلب بصورت چکي و نيز بعضا نقدي مي باشد .

هواي خشک و تهويه مواد اوليه بعد از خريداري و حمل در انبارهاي مخصوص که داراي و دماي متعادل ۲۵(درجه سانتيگراد) است ، نگهداري مي شوند که محيط انبار در زمانهاي بخصوصي نظافت و سمپاشي مي گردد . مواد مورد نياز براي هر قسمت توسط شخص شاغل در اين قسمت بطور دستي از انبار براي توليد حمل مي شوند . شرکت بطور متوسط روزانه ۸۰ جفت کفش توليد مي کند که تا حدود ۱۲۰ جفت نيز ظرفيت توليد دارد .

براي توليد هر کفش ابتدا چرم طبق مدل و الگوي از پيش تعيين شده و در سايزهاي مختلف برش خورده و سپس دوخته مي شوند (پستي) در مرحله ي بعد پستي ها روي قالب کشيده مي شوند و در خشک کن حالت مي گيرند و سپس ريزه کفش نصب و پرس مي گردد و در آخر آماده سازي نهايي و بسته بندي صورت مي گيرد. نقطه ي سفارش و قطع سفارش رعايت نمي شود . و تنوع محصولات بستگي به فصول سال و تقاضا دارد به عنوان مثال در فصل پاييز کفش هاي بوت و نيمه بوت و در اواخر زمستان بيشتر کفشهاي مجلسي و رسمي و… توليد مي گردد . انبار مواد اوليه داراي دو قسمت است که در يک قسمت مواد اوليه و در قسمت بعدي محصولات انبار مي شوند .

لوازم يدکي براي چرخ هاي خياطي استفاده مي شود و در صورت بروز مشکل و سرويس دستگاه هاي ديگر ، به تعميرکار متخصص مراجعه مي گردد .فروش محصولات با استفاده از بازاريابي است که بازاريابان در تهران و ساير شهرستانها با مراجعه به فروشگاه هاي عرضه ي کفش و ارايه مدل هاي در حال توليد براي شرکت سفارش مي گيرند . و نيز در شهر مشهد يک نمايندگي فروش دارد که فقط مسئول سفارشات است و پخش محصولات و تسويه حساب به عهده ي خود شرکت است و در صورت اختلاف حساب با مراجعه به دفاتر فروش و سفارشات و نيز دفاتر پرسنل و… بررسي مجدد آنها اختلاف حساب رفع مي شود در حال حاضر در اين شرکت ۱۵ نفر مشغول کارند که در مواقع خاصي اين تعداد بيشتر مي شوند اين افراد نياز به تخصص خاص خود را دارند که اغلب بصورت تجربي کسب کرده اند.

حقوق و دستمزد پرسنل بر اساس تعداد کاري که در طول هفته تحويل داده اند محاسبه و در پايان هفته با آنان تسويه حساب مي گردد . بجز پرسنل اصلي بقيه مشمول مواردي همچون بيمه و… نمي باشند زيرا بطور دايم در تبليغات هم توسط بازاريابان و هم هداياي تبليغاتي انجام مي پذيرد .با عنايت به مطالب فوق نکات زير به چشم مي خورد :
نقطه ي سفارش و نقطه ي قطع سفارش در اين شرکت رعايت نمي شود . –

– در صورت بروز اختلاف حساب بايد تمام دفاترفروش وسفارشات ونيز دفاتر پرسنل و… بررسي شود . 

۲-۳) گزارش كامل آناليز سيستم

۱-۲-۳) چارت سازماني

۱-۳) نمودار چارت سازماني شركت كفش مشكين

۲-۲-۳) نمودار جانمايي (Shematic Layout )

۲-۳) نمودار جانمايي دفتر و توليد شركت كفش مشكين

۳-۳) نمودار جانمايي انبار شركت كفش مشكين
۳-۲-۳) آناليز فرم ها

۴-۳) نمودار Form Flow
4-2-3) نمودار FRD

۵-۳) نمودار FRD سيستم كفش مشكين

۵-۲-۳) نمودار هاي DFD

L3: DFD کلی

L4: DFD گروه تولید
۶-۳) نمودار هاي DFD

نمودارهاي UML
6-2-3) Use Case

۷-۳) نمودار Use Case ( Best Case )

۷-۳) نمودار Use Case ( Jeneral Case )

۷-۲-۳) نمودار هاي Class Diagram

۱-۷-۲-۳) نمودار Class Component

۸-۳) نمودار Class Component سيستم كفش مشكين

۲-۷-۲-۳) نمودار Class Call Caboration

۹-۳) نمودار Class Call Caboration سيستم كفش مشكين

۳-۷-۲-۳) نمودار Class Relation

۱۰-۳) نمودار Class Relation سيستم كفش مشكين

۴-۷-۲-۳) نمودار State diagram

۱۱-۳) نمودار State diagram سيستم كفش مشكين

۵-۷-۲-۳) نمودار ERD

۱۲-۳) نمودار ERD سيستم كفش مشكين

۸-۲-۳) پیاده سازی بانک اطلاعاتی

بانك اطلاعاتي مورد استفاده : Access

نام جداول مورد استفاده :

۱- جدول مربوط به ثبت مشخصات پرسنل ( Clerk )
2- جدول مربوط به ليست چك ها ( Chek )
3- جدول مربوط به ثبت توليدات نهايي كارخانه ( final )
4- جدول مربوط به ثبت سفارشات (Order )
5- جدول مربوط به ثبت مواد اوليه انبار خروجي ( Prim_material_exit )
6- جدول مربوط به ثبت مواد اوليه انبارورودي ( Primery_material)
7- جدول مربوط به ثبت توليدات انبار خروجي (Produce )
8- جدول مربوط به ثبت عملكرد پرسنل ( Register_work )
9- جدول مربوط به رمز عبور ورودي برنامه ( Usersinfo )

نام بانك اطلاعاتي : DB Meshkin

طراحي جداول اطلاعاتي :

 جدول Clerk :
نام فيلد Data Type Field Size Caption
ID Number Long Integer شماره پرسنلی
name Text 20 نام
family Text 30 نام خانوادگی
sex Text 5 جنسيت
serial Number Long Integer شماره شناسنامه
city Text 20 محل تولد
date_employee Text 15 تاريخ استخدام
state Text 20 محل سکونت
address Text 200 آدرس
TEL Number Long Integer تلفن تماس
mobile Number Long Integer تلفن همراه
memo Memo – توضيحات

 جدول Chek
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
num_chek Number Long Integer شماره چک
Date Text 20 تاريخ
bank Text 20 نزد بانک
name Text 20 نام صاحب حساب

 جدول final
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
model Text 30 مدل
color Text 20 رنگ
num Number Integer تعداد
date_enter Text 20 تاريخ ورود به انبار
memo Memo – توضيحات

جدول Order
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
num_factor Number Long Integer شماره فاکتور
order Text 30 سفارش دهنده
kind_order Text 20 نوع سفارش
model Text 20 مدل
color Text 20 رنگ

num Number Integer تعداد
unit_price Currency – قيمت واحد
total_price Currency – قيمت کل
date_order Text 10 تاريخ سفارش
data_tahvil Text 10 تاريخ تحويل
gharar Text 10 قرار تحويل
order_resiver Text 50 سفارش گيرنده
memo Memo – توضيحات

جدول Prim_material_exit
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
num_factor Number Long Integer شماره فاکتور
kind Text 20 نوع جنس
model Text 20 مدل
color Text 20 رنگ
num Number Integer تعداد
unit_price Currency – قيمت واحد
total_price Currency – قيمت کل
date_Exit Text 10 تاريخ خروج
reson_exit Text 30 علت خروج
company Text 30 فروشگاه طرف قرارداد
masool Text 20 مسؤل خروج
memo Memo – توضيحات

 جدول Primery_material
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
num_factor Number Long Integer شماره فاکتور
kind Text 20 نوع جنس
model Text 20 مدل
color Text 20 رنگ
num Number Integer تعداد
unit_price Currency – قيمت واحد
total_price Currency – قيمت کل
date_Exit Text 10 تاريخ خروج
name Text 20 نام خريدار
family Text 30 نام خانوادگی خريدار
date_kharid Text 10 تاربخ خربد
data_tahvil Text 10 تاريخ تحويل
company Text 30 فروشگاه طرف قرارداد
peyment Text 10 نوع پرداخت
memo Memo – توضيحات

 جدول Produce
نام فيلد Data Type Field Size Caption
row Number Long Integer رديف
model Text 20 مدل
color Text 20 رنگ
num Number Integer تعداد
date_Exit Text 10 تاريخ خروج از انبار
reson_exit Text 50 علت خروج
respance_exit Text 30 مسوول خروج
memo Memo – توضيحات

 جدول Register_work
نام فيلد Data Type Field Size Caption
ID Number Long Integer شماره پرسنلی
days Text 10 ايام هفته
date Text 10 تاريخ
model Text 20 مدل
color Text 20 رنگ
num Number Integer تعداد
kind_work Text 20 نوع کار
define_money Currency 10 دستمزد تعيين شده
total_money Currency 50 دستمزد کل
day_resive Currency 30 دريافتی روزانه
memo Memo – توضيحات

جدول Usersinfo
نام فيلد Data Type Field Size Caption
autoNo AutoNumber Long Integer رديف
tUserName Text 50 نام كاربر
tUserId Text 20 ID
tPassword Text 20 رمز عبور

فصل چهارم :

پياده سازي نرم افزار

۱-۴) مقدمه
با توجه به فرضيه هاي تحليل نيازمندي ها و طراحي كه قبلاَ مورد اشاره قرار گرفت اينك به مرحله پياده سازي مي رسيم .پياده سازي اين نرم افزار با بسته نرم افزاري Visual Basic 6 و تحت سيستم عامل Windows 98 صورت گرفته است . اكنون به تشريح مرحله پياده سازي مي پردازيم . قبل از آن مروري داريم بر ويژوال بيسيك و امكانات سودمند آن .برنامه نويسي با Visual basic 6 مي تواند كار پر زحمت و خسته كننده برنامه نويسي را به يك تفريح تبديل كند ؛ بازي با اشيا گرافيكي و كشيدن و انداختن آن ها روي يك پنجره .

محبوبيت Visual Basic ، علاوه بر گرافيكي و ساده بودن ، از آنجا ناشي مي شود كه زباني اينترپرتري (interpreter ) و كامپايلري (compiler ) است . با تركيب اين دو ويژگي ،Visual Basic به سهولت توليد برنامه و سرعت اجرا در محصول نهايي دست يافته است .روزي كه ميكروسافت اولين ويرايش Visual Basic را روانة بازار كرد ، بسياري از منتقدان شكست آن و مرگ خاندان بيسيك را پيش بيني مي كردند . اين مخالفان مي گفتند كه اساساَ يك زبان جدي نيست و ساختار آن ( برخلاف C و پاسكال ) به درد محيط ويندوز نمي خورد . اما ميكروسافت با اراية Visual Basic درس هاي زيادي به جامعة برنامه نويسان داد :

• زباني مانند بيسيك مي تواند قابل فهم قوي باشد .
• زباني مانند بيسيك با داشتن واسط مناسب مي تواند براي محيط ويندوز هم كارايي داشته باشد .
• Visual Basic بسته به نياز برنامه نويس مي تواند كامپايلري يا اينترپرتري باشد
• و Visual Basic نه تنها فراموش نشد بلكه به محبوبترين زبان برنامه نويسي دنيا تبديل شد .
Visual Basic در چندين مدل مختلف عرضه مي شود :

• مدل فوق العاده : محيط برنامه نويسي مناسب كارهاي شبكه و برنامه هاي توزيع شده .
• مدل حرفه اي : محيط برنامه نويسي مناسب كارهاي حرفه اي به همراه مجموعه كاملي از ابزارهاي جنبي .
• مدل آموزشي : مجموعه اي از ابزارهاي استاندارد و هر آنچه براي شروع برنامه نويسي بدان نياز داريد .
• مدل استوديوي ويژوال : در اين مدل Visual Basic به همراه چند زبان ويژوال ديگر ( مانند ويژوال C++ و ويژوال J++ )در يك بسته نرم افزاري گرد آمده اند تا آموختن آن ها متضمن كمترين زحمت براي برنامه نويسان باشد . كه ما در پياده سازي اين نرم افزار از اين مدل استفاده كرده ايم .

۲-۴) تعريف چند واژه :
اكنون به تشريح چند واژه كه در ساير قسمت ها زياد استفاده شده اند ي پردازيم :
Component : يك جزء Component مثل برچسب متن ، كنترل ويرايش يا جعبه ليست تكه اي از نرم افزار است كه داراي عملكرد خاص و از پيش تعيين شده است .
Property : يك خاصيت (Property ) عملكرد جزئي را تعيين مي كند ، مثلاَ خاصيت رنگ ، رنگ يك شي ويژوال را معين مي كند .
Event : يك Event يا رويداد چيزي است كه در نتيجه واكنش (Interactive ) يك جزء با كاربر يا ويندوز رخ مي دهد .
Module : كدها و روتين هاي عمومي برنامه ، كه به هيچ كنترل خاصي مربوط نيستند ، بايد در مدول (module) ها قرار داده شوند . از يك مدول به دليل خصلت عمومي ان مي توان در برنامه هاي متعددي استفاده كرد . پسوند نام فايل مدول .BAS است .
Form : هر پروژه مي تواند فرم هاي متعددي داشته باشد . پسوند نام فايل فرم ها هميشه FRM است .

۳-۴) چند نکته پیرامون پیاده سازی نرم افزار
در پیاده سازی این نرم افزار علاوه بر بسته نرم افزاری Visual Basic 6 از نرم افزار های Adobe Photoshap و Paint به منظور تهیه آرم شرکت وتصاویر بر روی فرم ها و نیز عکس های تهیه شده از برنامه ، استفاده شده است .
با توجه به حجم بالاي برنامه و طول كشيدن مدت زمان اجرا معمولاَ در ابتداي برنامه تصويري را در نظر مي گيرند كه بعد از لود شدن كامل برنامه اين تصور مي رود كه براي برنامه تصويري طراحي شده است مربوط به كار شركت مي باشد . اولين چيزي كه هنگام لود شدن برنامه حائز اهميت است مجوز كاربر براي استفاده از برنامه مي باشد كه براي اين كار فرم رمز عبور در نظر گرفته شده است .

۵-۴) مستندات مشترك كليه فرم ها
دستور Option Explicit : اين دستور باعث مي شود كه چنانچه متغيري تعريف نشده باشد برنامه خطا مي گيرد .
اگر دستور فوق وجود نداشته باشد و نيز در صورت عدم تعريف متغير ، برنامه خود متغير را از نوع varent در نظر مي گيرد .
متغير هاي سراسري برنامه :
۱- mboolError( Dim mboolError As Boolean)
اين متغير از نوع بولين است و براي تشخيص خطا به كار مي رود .
۲- mboolLoadError( Dim mboolLoadError As Boolean)
اين متغير از نوع بولين است و در صورت ايجاد خطا به كمك اين متغيراز اجراي برنامه جلوگيري مي كنيم
زير برنامه ها :
۱-رويداد Error ديتا كنترل
( در صورتي كه Data Control با خطا مواجه شود از ظهور فرم جلوگيري مي نمايد . )

Private Sub Adodc1_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean))
Call DCErrorCheck(ErrorNumber, Description, fCancelDisplay
End Sub

دلايل متفاوتي براي بروز خطا وجود دارد :
قطع بودن شبكه ( Network )
مشترك نبودن بانك اطلاعات در شبكه
در دسترس نبودن سرويس دهنده(Server )
قفل شدن انحصاري جدول توسط يك كاربر
و …
در اين زير برنامه روال DCErrorCheck فراخواني شده كه به منظور پردازش خطا ي واقع شده در Data Control نوشته است .

۲- زيربرنامه DCErrorCheck (به منظور جلوگيري از نمايش يك فرم خالي در صورت بروز خطا توسط Data control )
Private Sub DCErrorCheck(ByVal ErrorNumber As Long, Description As String, fCancelDisplay As Boolean)
If Not mboolLoadError Then
MsgBox Description
mboolLoadError = True
fCancelDisplay = True
Else
fCancelDisplay = True
End If
End Sub

پارامترهاي موجود در اين زيربرنامه عبارتند از :
ErrorNumber كه از نوع Long مي باشد و شماره ي خطا در اين متغير قرار مي گيرد Description كه از نوع String مي باشد و شرح خطا در آن قرار مي گيرد
fCancelDisplay از نوع Boolean مي باشد و براي جلوگيري از نمايش خطاي Data control استفاده مي شود با استفاده از اين پارامتر به data Control مي گوييم كه خطاي خودش را نشان ندهد چون ما آن را پردازش مي كنيم و خطاي مناسب را نشان خواهيم داد.

در دستور شرطي ابتداي روال به وسيله متغير mboolLoadError چك مي كنيم كه قبلا خطايي رخ داده يا خير اگر خطاي رخ نداده باشد خودمان همان خطا را به وسيله يك MsgBox اعلام مي كنيم و سپس مقدار متغير mboolLoadError را به True تنظيم مي كنيم تا نشان دهيم كه خطايي واقع شده است و پارامتر fCancelDisplay را True كرديم كه از نمايش پيغام خطاي خود Data control جلوگيري كنيم .

۳- زيربرنامه ابتداي ركورد
Private Sub cmdfirst_Click( )
Adodc1.Recordset.MoveFirst
cmdprevious.Enabled = False
cmdnext.Enabled = True
End Sub
بوسيله دستور اول به ابتداي ركورد ها مي رويم چون قبل از ابتدايي ترين ركورد ركورد ديگري نداريم خاصيت Enabled دكمه قبلي را غير فعال مي كنيم و پس از آن خاصيت Enabled دكمه بعدي را فعال مي كنيم تا كاربر بتواند به ركوردهاي بعدي دسترسي داشته باشد .