تجارت از دیرباز از اهمیت فراوانی برخوردار بوده و در واقع پایه و اساس بنیان اجتماعی و یکی از مهمترین دلایل رشد و ترقی یک جامعه و یا افول و شکست جامعه ای دیگر بوده است، در واقع یکی از مهمترین دلایل پیشرفت و گسترش علوم، بهره برداری های اقتصادی و تجاری می باشد.
امروزه، اهمیت اطلاعات در فرایند تجارت، امری بدیهی و غیرقابل انکار شناخته شده و همانطور که می دانید، علوم انفورماتیک و کامپیوتر مهمترین منابع ذخیره سازی و دسترسی به اطلاعات محسوب می شوند.
ار آنجا که ساخت یافتگی و در عین حال سهولت ثبت اطلاعات و از طرفی قابلیت اطمینان و جامعیت آن ، از اهمیت بالایی برخوردار است، از دیر باز ضرورت تهیه و طراحی نرم افزارهای کاربردی که مخصوص جمع آوری و نگهداری داده های خاص می باشند بر همگان روشن و مسلم بوده است.
امروزه با استفاده از نرم افزارهای کاربردی که هر یک جهت ارائه سرویس های اطلاعاتی در زمینه های خاص تعبیه شده اند، داده های خام به صورت ساخت یافته و قالب بندی شده توسط کاربران در بانک های اطلاعاتی ثبت شده و مدیران از گزارشاتی که حاصل تجزیه و تحلیل و پردازش این داده ها می باشند ، تصمیمات مختلف تجاریو مدیریتی خود را اتخاذ می نمایند.
استفاده از نرم افزارهای کاربردی باعث کاهش زمان دسترسی کاربران به داده های پردازش شده می شود، به عنوان مثال در یک سیستم خرید و فروش، کاربر داده های خام را که همان فاکتورهای مختلف می باشند، با استفاده از نرم افزار ثبت نموده و مدیرفروش، با استفاده از گزارشات تجزیه و تحلیل شده که حاصل پردازش همان داده های خام می باشد، تصمیمات مختلفی از جمله تعیین قیمت، زمینه های گسترش کار و ....
را اتخاذ می نماید.
در نرم افزار پیاده سازی شده برای شرکت ماه رایان سبز سعی شده تا با تشخیص نیازهای اساسی شرکت و روند جریان اطلاعات در قسمتهای فوق گامی در بالا بردن سرعت، سهولت و دقت کار قسمت های مختلف شرکت و به دنبال آن آسانتر شدن گرفتن تصمیمات مختلف مدیریتی برداشته شود.
در فصل اول مراحل و اطلاعات امکان سنجی و نیازمندیهای این سیستم که شامل نیازمندیهای عملیاتی و غیر عملیاتی، هزینه های متداول و امکان سنجی می باشد ارائه شده است.
فصل دوم شامل تجزیه و تحلیل این سیستم نمودارهای UML مربوط به سیستم می باشد.
فصل سوم شامل طراحی سیستم و ارتباط بین موجودیت ها می باشد.
فصل چهارم اختصاص به نحوه و مراحل پیاده سازی دارد و در فصل آخر ارزیابی و نتیجه گیری پروژه بررسی امکان توسعه و پشتیبانی نرم افزار گنجانده شده است.
امکان سنجی و نیازمندی ها
1-1- نیازمندی های عملیاتی
سرویس هایی را که سیستم حتما باید بدهد را نیازمندی های عملیاتی گویند که بیانگر روش کار است.
برای مستند سازی این نیازمندی ها طبق مساحباتی که با مدیران شرکت ماه رایان داشتم شمای کلی و حدود نیاز های سیستم را برآورد کردم.سیستم درخواست شده می بایست نیازهای قسمت های مختلف فروش ، انبار و حسابداری را پوشش می داد.
این نیازها در قسمت فروش شامل: امکان صدور فاکتور بر روی کاغذ به نحوی که اطلاعات هر فاکتور در جای مخصوص به خود بر روی کاغذ چاپ شود، امکان تعریف مشتریان چه در هنگام صدور فاکتور و چه در دیگر مواقع ، بر قرار بودن ارتباط بین پیش فاکتور و فاکتور قطعی و امکان مشاهده اطلاعات پیش فاکتور در هنگام صدور فاکتور قطعی ، ارتباط فاکتورها با دفتر معین در هنگام صدور ، باطل شدن و یا حذف آنها و امکان جستجو در فاکتورها با دادن اطلاعاتی مانند شماره فاکتور، کد، نام و یا نام خانوادگی مشتری و همچنین نام شرکت برای مشتریان، مشخص نمودن بازه زمانی صدور فاکتور و همچنین شماره پیش فاکتور برای فاکتورهای قطعی می باشند.
نیازهای قسمت انبار شامل : امکان تعریف کالا و جستجو بر روی آنها، امکان تشخیص مقدار مواد اولیه مورد نیاز برای سفارشات یک فاکتور قطعی خاص در هنگام عملیات خروج از انبار ، امکان جداسازی ورودی انبار از طریق شماره حواله ها و نام فروشندگان آنها ، توانایی محاسبه مقدار مانده از حواله در هنگام عملیات ورود به انبار و امکان گرفتن موجودی انبارها می باشند.
نیازهای قسمت حسابداری شامل : تعریف حسابهای کل و معین جستجوی آنها، امکان گرفتن گردش یک حساب خاص و گرفتن لیست بدهکاران و بستانکاران.
علاوه بر مسائلی که در طرح اولیه مورد بررسی و تایید قرار گرفتند، مواردی نیز در طول انجام شدن پروژه به سیستم اضافه شدند مانند گرفتن گزارشات مختلف و امکان تعریف سطح دسترسی برای کاربران .
در نتیجه روش به صورت ناخودآگاه تبدیل به یک روش اکتشافی شد.
علاوه بر مسائلی که در طرح اولیه مورد بررسی و تایید قرار گرفتند، مواردی نیز در طول انجام شدن پروژه به سیستم اضافه شدند مانند گرفتن گزارشات مختلف و امکان تعریف سطح دسترسی برای کاربران .
در نتیجه روش به صورت ناخودآگاه تبدیل به یک روش اکتشافی شد.
شکل 1-1) نمودار فرایند مدل برنامه نویسی اکتشافی 1-2 - نیازمندی های غیر عملیاتی این نیازمندی ها محدودیت هایی را که سیستم باید تحت آن شرایط کار کند و استانداردهایی که سیستم تحویل شده باید دارا باشد را مشخص می نماید.
برای سیستم فوق ، سیستم ها می بایست با یکدیگر شبکه شده و برنامه های لازم نظیر Microsoft.net 2.0 و یا Microsoft SQl Server 2000 نصب می شد.
1-3- هزینه های متداول برای سیستم 1-3-1- هزینه های مستقیم تجهیزات کامپیوتر و امکانات سخت افزاری ، یک کامپیوتر با حداقل امکانات , HDD 40GB , RAM 128MB , کارت شبکه , HUB و ارتباطات کابل.
1-3-2- هزینه های غیرمستقیم شامل هزینه های آموزش مدیران شرکت و کاربران سیستم که با توجه به طراحی روان واسط کاربرد و وضوح عملیات برنامه بسیار پایین می باشد.
علاوه بر آن می توان از هزینه های توسعه و پشتیبانی سیستم نیز نام برد.
1-4- امکان سنجی 1-4-1- امکان سنجی اقتصادی کلیه هزینه های لازم جهت ثبت در دفاتر ، از بین رفته و به میزان قابل توجهی در هزینه های نیروی انسانی و هزینه های زمانی صرفه جویی می گردد.
1-4-2- امکان سنجی تکنیکی از نظر تکنیکی این سیستم توسط نرم افزارهای با قابلیت برنامه نویسی ، از قبیل Delphi 7 و SQL Server 2000 طراحی و پیاده سازی شده است.
1-4-3- نتایج امکان سنجی در این سیستم از طرح اکتشافی استفاده شده است که البته معایب زیر را داراست: 1- عدم تخمین صحیح زمان اجرای پروژه 2- افزایش تدریجی هزینه ها در هنگام توسعه و تغییر سیستم البته دارای یک حسن بزرگ است و آن تطبیق پذیری بالای سیستم با خواسته های کاربر و در نتیجه کارایی بالا برای سیستم تولید شده نهایی می باشد.
فصل دوم - تجزیه و تحلیل شناخت سیستم برای شناخت سیستم فوق در گام نخست طی مصاحبه ای که با مدیر عامل شرکت ماه رایان سبز ، صورت گرفت حدود کلی پروژه مشخص گردید.
در طرح اولیه مدیر خواستار سیستمی یکپارچه برای قسمت های مختلف فروش، انبار و حسابداری بودند.
نیازهای اولیه سیستم به صورت زیر ارزیابی شد: امکان تعریف کاربران و دادن سطح دسترسی به کاربران سیستم توسط مدیریت.
امکان تعریف مشتریان امکان صدور، چاپ و نگهداری اطلاعات فاکتورها امکان جستجو در فاکتورها براساس مواردی مانند شماره فاکتور ، بازه زمانی صدور فاکتور و مشخصات مشتری.
امکان ابطال و حذف فاکتورها توسط مدیریت.
امکان ثبت خودکار اطلاعات فاکتورها به نوع تعیین شده در دفتر معین.
امکان مشاهده گردش حساب مشتریان تا زمان جاری و یا در هر بازه خاص زمانی و همچنین امکان چاپ آن.
امکان گرفتن لیست بدهکاران در هر زمان.
امکان جستجو در دفتر معین براساس مشخصات مشتری یا بازه زمانی خاص.
امکان تعریف کالا.
امکان ثبت فروشنده مواد اولیه.
امکان محاسبه مقدار مواد اولیه لازم برای سفارشات هر فاکتور.
امکان گرفتن موجودی کالاها در انبار.
امکان ثبت چکهای دریافتی و پرداختی.
امکان جستجو چک ها بر اساس شماره چک ، تاریخ چک، مشخصات صادر کننده آن ، نام بانک مربوطه .
امکان گرفتن پشتیبان داده در هر زمان.
امکان گرفتن گزارشات مختلف ، برای مثال گزارش فروش ها از ابتدای تاریخ مشخصی تا انتهای تاریخ خواسته شده ، گزارش موجودی انبار و گزارشات مختلف حسابداری از قبیل مشخص کردن بدهکاران و بستانکاران و .......
2-2- نمودارهای تحلیل سیستم پس از جمع آوری اطلاعات، نیازمندی ها و شناخت سیستم، برای تجزیه و تحلیل سیستم از ابزارهای روش شیء گرا استفاده می کنیم.
نمودارهای زبان مدل سازی یکپارچه به ما کمک می کند تا قبل از ساخت نرم افزار آن را طراحی نماییم.
در حقیقت این نمودارها از ابزارهای قدرتمند در امر تحلیل سیستم می باشند.
قبل از آن که یک سیستم شیء گرا ساخته شود ابتدا باید کلاسهایی (اشیائی) که مسئله را حل می کنند تعریف گردند.همچنین، روشی که بوسیله آن کلاسها به هم مربوط می گردند و با هم ارتباط برقرار می سازند، کارهای انجام شده داخلی شئ (صفحات و عملیات) و مکانیزم های پیام رسانی و ارتباطی اشیاء که آنها را قادر می سازد با هم کار کنند نیز باید معین گردند.
تمامی این مراحل ذکر شده در طی تحلیل شئ گرا انجام می شوند.
مراحلی که روش تحلیل شئ گرا دنبال می کند با تعریفی از مورد کاربردها شروع می شود که در آن تعریفی از که افراد و سایر سیستم های موجود چگونه با محصول کار ارتباط برقرار می کنند ارائه می شود.
سپس با کلاسها-مسئولیت-مشارکت (CRC) اطلاعات موجود در مورد کاربردها را به نمایشی از کلاسها و مشارکت و همکاری آنها با سایر کلاسها تبدیل می کند و پس از آن خصوصیات ایستا و پویای کلاسها توسط UML مدلسازی می گردند.
2-2-1- موردهای کاربرد دیاگرام مورد کاربرد، سیستم را از دیدگاه کاربران نهایی و بیرونی مدلسازی می کند.
در مورد سیستم فوق دیاگرم های مورد کاربرد آن به صورت زیر رسم شده اند: شکل 2-1) دیاگرام مورد کاربرد روند کار شرکت ماه رایان سبز شکل2-2)دیاگرام مورد کاربرد روند جریان اطلاعات از قسمت فروش به حسابداری شکل2-3) دیاگرام مورد کاربرد روند جریان اطلاعات از قسمت فروش به انبار در هنگام خروج کالا از انبار شکل 2-4) دیاگرام مورد کاربرد روند جریان اطلاعات از قسمت فروش به انبار در هنگام ورود کالاها به انبار شکل 2-5) دیاگرام مورد کاربرد ارتباط بین مدیریت و قسمت های دیگر 2-2-2) دیاگرام کلاس کلاسها مهمترین اجزای سازنده سیستم شئ گرا هستند.
یک کلاس تشریحی از مجموعه ای از اشیاء است.
کلاسها شئ نیستند بلکه یک دسته از اشیاء را تعریف می کنند.
دیاگرام کلاس، کلاسهای موجود در سیستم، صفات، متدها و ارتباطات آنها را نشان می دهد.
دیاگرام های کلاس برای سیستم فوق به شکل زیر رسم شده اند: شکل 2-6) دیاگرام کلاس پرسنل شکل 2-7) دیاگرام کلاس مشتری و ارتباط آن با قسمت فروش شکل 2-8-دیاگرام کلاس فاکتورهای پیش فاکتور و فاکتور قطعی و ارتباط آن با قسمت فروش ، مدیریت و حسابداری شکل 2-9-دیاگرام کلاس انبار و ارتباط آن با قسمت فروش و دفاتر 2-2-4) دیاگرام توالی این دیاگرام، محاوره های انجام شده بین اشیاء را در طی زمان و به ترتیب انجام شدن نشان می دهد.
دیاگرام توالی برای پروژه فوق به صورت زیر رسم شده است: شکل 2-10- دیاگرام توالی روند کار شرکت 2-2-5) دیاگرام همکاری این دیاگرام نیز مانند دیاگرام قبل، نشان دهنده محاوره های اشیاء است با این تفاوت که سازماندهی ساختاری اشیاء را نیز نشان می دهد.
دیاگرام همکاری پروژه فوق به صورت زیر رسم شده است: شکل 2-11- دیاگرام همکاری صدور فاکتور 2 -2-6) دیاگرام فعالیت این دیاگرام همانند یک ماشین وضعیت است که فعالیت های انجام شده را قدم به قدم نشان می دهد.
دیاگرام های فعالیت پروژه فوق به صورت زیر رسم شده اند: شکل 2-12- دیاگرام فعالیت بین مشتری ، فروش و انبار 2-2-7) دیاگرام وضعیت این دیاگرام وضعت های مختلفی را که یک شیء در طول حیات خود می تواند داشته باشد و همچنین نحوه انتقال بین وضعیت ها و وقایع باعث شونده این انتقال را نشان می دهد .
دیاگرام وضعیت پروژه فوق به صورت زیر رسم شده است : شکل 2-13- دیاگرام وضعیت کاربران سیستم 2-2-8) دیاگرام گسترش این دیاگرام گره های یک شبکه ، نحوه ارتباط بین آنها و نحوه نصب نرم افزار را بر روی آن تشریح می کند .
دیاگرام گسترش پروژه فوق به صورت زیر می باشد : شکل 2-14- دیاگرام گسترش سیستم فصل سوم – طراحی بانک اطلاعاتی در مد طراحی سیستم سه سطح طراحی داریم که عبارتند از : طراحی داده طراحی معماری طراحی واسط که در ذیل به هر از آنها می پردازیم : 3-1- طراحی داده در طراحی داده ، مدل دامنه اطلاعاتی ساخته شده در مرحله تحلیل را به ساختار داده های مورد نیاز در پیاده سازی نرم افزار تبدیل می کنیم.
3-1-1- نمودار ER در نمودار ER جداول و ارتباط بین آنها را نشان می دهیم.
نمودار سیستم فوق را در دو شکل زیر نشان داده ایم.
3-1-2- فرهنگ داده با توجه به نمودارER فوق می توان فرهنگ داده آن را در جداولی به صورت زیر رسم کرد: جدول 3-1) فرهنگ داده جدول kala جدول 3-2) فرهنگ داده جدول personel جدول 3-3) فرهنگ داده جدول customer جدول 3-4) فرهنگ داده جدول compony جدول 3-5) فرهنگ داده جدول salefactorh جدول 3-6) فرهنگ داده جدول salefactord جدول 3-7) فرهنگ داده جدول buyfactorh جدول 3-8) فرهنگ داده جدول buyfactord جدول 3-9) فرهنگ داده جدول cheque جدول 3-10) فرهنگ داده جدول main-form جدول 3-11) فرهنگ داده جدول anbar 3-2- طراحی View ویوها برای اتصال جداول مورد نیاز به یکدیگر توسط فیلد خاصی می باشند تا بتوان از فیلدهای مورد نیار دو جدول همزمان استفاده کرد.
ویوهای مورد استفاده در این پروژه به شرح زیر می باشد: 3-2-1- ویو انبار Anbar-view این ویو دو جدول کالا و انبار را توسط فیلد کد کالا (Kcode) به هم متصل می کند.
از این ویو در فرم موجودی انبار استفاده می شود تا توسط آن بتوان موجودی انبار (نام کالا و تعداد آن) را نمایش داد.
شکل 3-2-1- ویو انبار Anbar-view 3-2-2- ویو چک Cheqview این ویو دو جدول چک و مشتری را توسط فیلد کد مشتری (Ccode) به هم متصل می کند.
از این ویو در فرم فاکتور قطعی استفاده می شود تا توسط آن بتوان چک های مشتری خاص (شماره چک ومقدار و سررسید) را نمایش داد.
شکل 3-2-2- ویو چک Cheqview 3-2-3- ویو مشتری Customerview این ویو دو جدول مشتری وسربرگ فاکتور (Header) را توسط فیلد نام مشتری Cname)) به هم متصل می کند.
از این ویو در فرم حساب مشتری استفاده می شود تا توسط آن بتوان حساب مشتری خاصی (مقدار بدهکاری یا بستانکاری) را نمایش داد.
شکل 3-2-3- ویو مشتری Customerview 3-2-4- ویو فاکتور2 Factor2view این ویو سه جدول کالا وسربرگ فاکتور خرید و جزییات فاکتور خرید را به هم متصل می کند.
دو جدول سربرگ فاکتور خرید و جزییات فاکتور خرید توسط فیلد شماره فاکتور (Fcode) و دو جدول جزییات فاکتور خرید و کالا توسط کد کالا (Kcode) با هم ارتباط برقرار می کنند.
این ویو در فرم فاکتور خرید استفاده می شود تا توسط آن بتوان جزییات خرید (نام کالا خریداری شده و تعداد کالا و...) را نمایش داد.
شکل 3-2-4- ویو فاکتور2 Factor2view 3-2-5- ویو فاکتور Factorview این ویو سه جدول کالا وسربرگ فاکتور فروش و جزییات فاکتور فروش را به هم متصل می کند.
دو جدول سربرگ فاکتور فروش و جزییات فاکتور فروش توسط فیلد شماره فاکتور (Fcode) و دو جدول جزییات فاکتور فروش و کالا توسط کد کالا (Kcode) با هم ارتباط برقرار می کنند.
این ویو در فرم فاکتور فروش استفاده می شود تا توسط آن بتوان جزییات فروش (نام کالا فروخته شده و تعداد کالا و...) را نمایش داد شکل 3-2-5- ویو فاکتور Factorview 3-2-6- ویو فروش Foroshview این ویو سه جدول کالا وسربرگ فاکتور فروش و جزییات فاکتور فروش را به هم متصل می کند.
این ویو در فرم گزارش فروش استفاده می شود تا توسط آن بتوان در تاریخ معین گزارشی از فروش کالا ها (نام کالا فروخته شده و تعداد کالا و...) را نمایش داد.
شکل 3-2-6- ویو فروش Foroshview 3-2-7- ویو خرید Kharidview این ویو سه جدول کالا وسربرگ فاکتور خرید و جزییات فاکتور خرید را به هم متصل می کند.
این ویو در فرم گزارشر خرید استفاده می شود تا توسط آن بتوان در تاریخ معین گزارشی از کالا های خریداری شده (نام کالا خریداری شده و تعداد کالا و...) را نمایش داد.
شکل 3-2-7- ویو خرید Kharidview 3-2-8- ویو فاکتور اصلی Main_factorview این ویو چهار جدول کالا وسربرگ فاکتور فروش و جزییات فاکتور فروش و جدول فاکتور قطعی را به هم متصل می کند.
دو جدول سربرگ فاکتور فروش و جزییات فاکتور فروش توسط فیلد شماره فاکتور (Fcode) و دو جدول جزییات فاکتور فروش و کالا توسط کد کالا (Kcode) و دو جدول سر برگ فاکتور فروش و فاکتور قطعی توسط فیلد شماره فاکتور (Fno) با هم ارتباط برقرار می کنند.
این ویو در فرم فاکتور قطعی استفاده می شود تا توسط آن بتوان درفاکتور قطعی مربوط کالا ها (نام کالا فروخته شده و تعداد کالا و...) را نمایش داد.
شکل 3-2-8- ویو فاکتور اصلی Main_factorview فصل چهارم – پیاده سازی 4-1- معرفی ساختار بانک اطلاعاتی نرم افزار با توجه به طراحی داده در فصل قبل بانک اطلاعاتی نرم افزار فوق به صورت زیر پیاده سازی شده است.
4-1-1- جدول Kala در جدول kala اطلاعا ت مربوط به کالا های موجود در شرکت نگهداری می شود.
این جدول شامل فیلدهای زیر می باشد : kcode : این فیلد به عنوان کلید اصلی این جدول در نظر گرفته شده است و کد کالا در آن قرار می گیرد .
Voroddate : در این فیلد تاریخ ورود کالا نگهداری می شود.
Kname : در این فیلد نام کالا نگهداری می شود.
Kdetail : در این فیلد مشخصات کالا نگهداری می شود.
Knumber : در این فیلد تعداد کالا نگهداری می شود.
Firstmojodi : در این فیلد موجودی اول دوره کالا نگهداری می شود.
Kprice : این فیلد حاوی قیمت اولیه کالا می باشد .
Kfprice : این فیلد حاوی قیمت فروش کالا می باشد .
4-1-2- جدول Personel در این جدول اطلاعات مربوط به کارکنان شرکت ذخیره می شود.
این جدول شامل فیلدهای زیر می باشد : Pname : در این فیلد نام کارکنان ذخیره می شود.
Pfamily : در این فیلد نام خانوادگی کارکنان ذخیره می شود.
Pid : در این فیلد شماره پرسنلی کارکنان ذخیره می شود.
و این فیلد به عنوان کلید اصلی در این جدول در نظر گرفته شده است.
Psemat : این فیلد مربوط به نوع سمت کارکنان می باشد .
Puser : در این فیلد نام کاربری که کارکنان برای خود در نظر می گیرند قرار می گیرد.
Ppass : در این فیلد رمز عبور کارکنان قرار می گیرد.
Paddress : در این فیلد آدرس کارکنان قرار می گیرد.
Ptel : در این فیلد تلفن کارکنان قرار می گیرد.
4-1-3- جدول Customer در این جدول اطلاعات مربوط به مشتری قرار می گیرد.
این جدول شامل فیلدهای زیر می باشد : Ccode : این فیلد حاوی کد مربوط به مشتری می باشد.
این فیلد به عنوان کلید اصلی در این جدول در نظر گرفته شده است.
Cname : در این فیلد نام مشتری ذخیره می شود.
Cshomarehesab : در این فیلد شماره حساب مربوط به مشتری ذخیره می شود.
Caddress : در این فیلد آدرس مشتری ذخیره می شود.
Ctel : در این فیلد تلفن مشتری ذخیره می شود.
Cmandeavaldore : در این فیلد مانده اول دوره مشتری ذخیره می شود.
Cbedehi : در این فیلد مقدار بدهی مشتری ذخیره می شود.
Cbestankari : در این فیلد مقدار بستانکاری مشتری ذخیره می شود.
4-1-4- جدول compony در این جدول اطلاعاتی از شرکتهای فروشنده (عمده فروش) نگهداری می شود.
Com_code : این فیلد حاوی کد مربوط به شرکت عمده فروش می باشد.
Com_name : در این فیلد نام شرکت فروشنده ذخیره می شود.
Com_shomarehesab : در این فیلد شماره حساب مربوط به شرکت فروشنده ذخیره می شود.
Com_address : در این فیلد آدرس شرکت عمده فروش ذخیره می شود.
Com_tel : در این فیلد تلفن شرکت فروشنده ذخیره می شود.
4-1-5- جدول Salefactorh در این جدول اطلاعات تکراری مربوط به یک پیش فاکتور فروش قرار می گیرد که این قسمت در فاکتور Header نام دارد.
فیلدهای این جدول به شرح زیر است: Fcode : این فیلد شامل کد فاکتور می باشد و همچنین به عنوان کلید اصلی در نظر گرفته شده است.
Fdate : این فیلد مربوط به تاریخ صدور پیش فاکتور می باشد.
Fno : در این فیلد شماره پیش فاکتور نگهداری می شود.
Cname : در این فیلد نام خریدار، که می تواند شرکت یا مشتری خاص باشد نگهداری می شود.
Ctel : در این فیلد تلفن خریدار (مشتری) ذخیره می شود.
Pname : در این فیلد نام فروشنده، که یکی از پرسنل می باشد قرار می گیرد.
4-1-6- جدول Salefactord در این جدول اطلاعات متغیر یک پیش فاکتور فروش ذخیره می شود، این قسمت پیش فاکتور را Detail می نامند.
فیلدهای این جدول به قرار زیر است: Fcode : این فیلد کد فاکتور می باشد که در header و detail یکسان می باشند.
Kcode : در این فیلد کد کالای خریداری شده توسط مشتری ذخیره می شود.
Knmb : در این فیلد تعداد کالای خریداری شده توسط مشتری مشخص می شود.
Kprice : این فیلد حاوی قیمت فروش واحد کالای مورد نظر می باشد.
Ktprice : فیلدی که در آن قیمت کل فروش (تعداد * قیمت واحد) نگهداری می شود.
4-1-7- Buyfactorh این جدول مربوط به قسمت Header فاکتورخرید می باشد، که در آن فیلدهای زیر نگهداری و ثبت می شود.
Fcode : این فیلد شامل کد فاکتور می باشد و همچنین به عنوان کلید اصلی در نظر گرفته شده است.
Fdate : این فیلد مربوط به تاریخ فاکتور خرید می باشد.
Fno : در این فیلد شماره فاکتور خرید نگهداری می شود.
Pname : در این فیلد نام خریدار، که یکی از پرسنل می باشد قرار می گیرد.
4-1-8- Buyfactord این جدول مربوط به قسمت Detaile فاکتورخرید می باشد، که در آن فیلدهای زیر نگهداری و ثبت می شود.
Fcode : این فیلد کد فاکتور می باشد که در header و detail یکسان می باشند.
Kcode : در این فیلد کد کالای خریداری شده ذخیره می شود.
Knmb : در این فیلد تعداد کالای خریداری شده مشخص می شود.
Kprice : این فیلد حاوی قیمت خرید واحد کالای مورد نظر می باشد.
Ktprice : فیلدی که در آن قیمت کل (تعداد * قیمت واحد) نگهداری می شود.
4-1-9- جدول Cheque در این جدول اطلاعات مربوط به چکهای دریافتی یا پرداختی نگهداری می شود.
Sfactor : در این فیلد شماره فاکتور مربوطه قرار می گیرید.
Ccode : در این فیلد کد مشتری مربوط به فاکتور و چک ذخیره می شود.
Cheqcode : این فیلد شماره سریال چک ثبت می شود.
Cheqsrresid : داخل این فیلد زمان سررسید چک (تاریخ وصول چک) قرار می گیرد.
Cheqbank : این فیلد مشخص کننده بانک مربوط به چک می باشد.
Cheqshobe : این فیلد حاوی شعبه بانک چک مربوطه می باشد.
Cheqbabat : این فیلد بیانگر موضوع چک ،(بابت چه چیزی گرفته یا داده شده)می باشد.
Cheqdarvajh : این فیلد مشخص می کند که چک در وجه چه کسی صادر شده است.
Cheqmablagh : در این فیلد مبلغ چک نگهداری می شود.
4-1-10- جدول main_factor در این جدول اطلاعات مربوط به پیش فاکتوری که قطعی شده ثبت می شود.
Fdate : این فیلد مربوط به تاریخ فاکتورقطعی می باشد.
Fno : در این فیلد شماره فاکتور قطعی نگهداری می شود.
Pname: در این فیلد نام فروشنده، که یکی از پرسنل می باشد قرار می گیرد.
Kname : در این فیلد نام کالا ذخیره می شود.
Knmb : در این فیلد تعداد کالا مشخص می شود.
4-1-11- جدول Anbar Kcode : داخل این فیلد کد کالا قرار می گیرد.
Knumber : این فیلد تعداد موجودی کالا را درانبار مشخص می کند.
4-2 – معرفی فرمهای نرم افزار 4-2-1- فرم ورود به سیستم vorodfrm هر کاربر با کلیک روی آیکن نرم افزار برای وارد شدن به صفحه اصلی برنامه با این فرم روبرو می شود.
در این فرم کاربر با وارد کردن نام کاربری و کد ورود نام و وضعیت دسترسی خود را برای نرم افزار مشخص می کند.
همچنین با ورود کاربر مشخصه حضور وی فعال می گردد.
این فرم بعد از خروج کاربران از صفحه اصلی نیز ظاهر می شود و به کاربر یا کاربران دیگر اجازه ورود دوباره بدون کلیک مجدد روی آیکون نرم افزار را می دهد.
برای خروج کامل از نرم افزار دکمه خروج تعبیه شده است که روی این فرم قرار دارد.
شکل4-2-1- فرم ورود به سیستم vorodfrm 4-2-2- فرم تغییر رمز عبور changecodefrm این فرم برای امنیت کاربران منظور شده است و به کاربر اجازه می دهد تا کلمه کاربری و کد ورود خود را تغییر دهد .
در این فرم برای بالا بردن امنیت کد ورود جاری کاربر دوباره پرسیده میشود و در صورت درست بودن اطلاعات جدید کاربر ثبت خواهد شد.
شکل4-2-2- فرم تغییر رمز عبور changecodefrm 4-2-3- فرم اصلی برنامه mainfrm این فرم صفحه اصلی نرم افزار است و هر کاربر بعد از ورود به سیستم به این فرم وارد می شود.
این فرم شامل منوی بالایی فرم، نوار وضعیت پایینی و در قسمت چپ فرم دارای چند Button برای دسترسی سریع وآسان به بعضی از قسمتهای فرم می باشد.
که اطلاعات هر یک به نحو زیر است: منو : منو شامل دسترسی های کاربر به قسمت های مختلف برنامه است.
این قسمت ها شامل سیستم ، تعاریف پایه ، فاکتور ، گزارشات و امکانات می باشد که هر کدام شامل زیر منوهای مربوط به خود می باشند.
اطلاعات این فرم برای کاربران با سطح دسترسی های مختلف ممکن است متفاوت باشد .
به عنوان مثال گزارشات فقط برای کاربرانی قابل رویت است که با سطح دسترسی مدیریت وارد شوند.
همچنین آیتمهایی نظیر تعریف کاربر جدید برای کاربران غیر از با سطح دسترسی مدیریت فعال نیست.
نوار وضعیت : این نوار شامل اطلاعاتی نظیر نمایش ساعت و نمایش کاربران فعال به صورت پویا می باشد.
دکمه ها : این دکمه ها برای دسترسی راحت تر کاربر به قسمت های اصلی برنامه است که کاربرانی که اجازه دسترسی به این دکمه ها را دارند می توانند وضعیت خرید و فروش شرکت، موجودی انبار و فاکتورها را در صورت نیاز مشاهده کنند و سپس با استفاده از این گزارشات تصمیماتی در مورد شرکت بگیرند.
شکل 4-2-3- فرم اصلی mainfrm 4-2-4- فرم اطلاعات پرسنل personelfrm دسترسی به این فرم فقط برای افراد خاص (مدیر) می باشد به صورتی که این دسترسی از فرم اصلی برنامه داخل منوی سیستم و کلیک بر روی گزینه تعریف کاربران برنامه امکان پذیر می باشد.
شخص مورد نظر در این فرم اطلاعات کلی و جزئی پرسنل را وارد می کند.
و ارتباط این فرم با جدول پرسنل در بانک اطلاعاتی می باشد.
شکل4-2-4- فرم اطلاعات پرسنل personelfrm در این فرم علاوه بر اطلاعات پرسنل که با lable و Edit مشخص شده اند شامل سه دکمه (Button) و همچنین یک DBGride می باشد.
که در زیر به شرح آنها پرداخته می شود: ثبت: در رویداد onclick این دکمه کد saveblnclick نوشته شده که کار آن اضافه کردن اطلاعات تایپ شده در فرم، به جدول پرسنل می باشد.
البته این کار در زمانی امکان پذیر است که edit pname (نام پرسنل) نوشته شود و وارد edit دیگری شود، در این زمان دکمه ثبت فعال می شود.
کد مربوط به این کار در رویداد OnExit مربوط به edit pname نوشته شده.
همچنین کدی که در رویداد Onchange همان edit نوشته شده اینست: زمانی که یکی از فیلدها را که تایپ کنیم که شبیه آن وجود داشته باشد با دابل کلیک روی آن در جدول پایین تمام اطلاعات آن را می آورد و دکمه ثبت به دکمه تصییح تغییر می کند و می توان هر فیلد مجازی را تغییر داد.
انصراف: در رویداد onclick این دکمه کد cancleblnclick نوشته شده که با زدن این دکمه فرم به صورت اولیه برمی گردد.(اگر چیزی تایپ شده و منصرف شدیم اعمال نمی شود و تمام edit ها داخلش خالی می شود.) خروج: در رویداد onclick این دکمه کد exitblnclick نوشته شده که با زدن این دکمه به صفحه اصلی برنامه بر می گردد.
حال توضییح مختصری راجع به DBGride (جدول) داده می شود.
دلیل قرار گرفتن DBGride در پایین این فرم برای اینست که تمامی اطلاعاتی (و یا اطلاعاتی را که بیشتر لازم داریم ) که تا به حال به جدول اضافه شده را بتوان مشاهده کرد.
4-2-5- فرم ورود اطلاعات مشتری customerfrm دسترسی به این فرم از صفحه اصلی منوی تعاریف پایه ، گزینه مشتری امکان پذیر می باشد.
این فرم برای تعریف و درج اطلاعات مشتریان می باشد و همچنین دارای قابلیت هایی از قبیل ثبت ، به روزرسانی، انصراف و خروج نیز می باشد.
و البته در این فرم Button ای به نام جزئیات وجود دارد که با فشردن این دکمه به فرم جزئیات مشتری دسترسی پیدا می کنیم.
شکل4-2-5- فرم ورود اطلاعات مشتری customerfrm 4-2-6- فرم جزئیات مشتری customerfrm2 این فرم برای اطلاع یافتن از وضعیت مشتریان می باشد و دسترسی داشتن به اطلاعات تمامی مشتریان از طریق جدول.
از طریق این فرم می توان به فرمهای بدهکاران ، بستانکاران و بیحسابان دسترسی داشت که در پایین به شرح آنها نیز پرداخته می شود.
شکل 4-2-6- فرم جزئیات مشتری customer2frm 4-2-7- فرم بدهکاران Bedehkaranfrm این فرم مشخص کننده ی مشتریانیست که مبلغ بدهی شان از مقدار صفر بیشتر است و بدهکار به شمار می آیند.
به این ترتیب می توان اسامی و مشخصات و حساب بدهکاری این مشتریان را با گزینه نام شرکت /خریدار در جدول داخل فرم نشان داد.
دسترسی به این فرم هم از طریق فرم جرئیات مشتری و هم از طریق منوی گزارشات در صفحه اصلی، گزینه بدهکاران امکان دارد.
شکل4-2-7- فرم بدهکاران Bedehkaranfrm 4-2-8- فرم بستانکاران Bestankaranfrm دسترسی به این فرم هم از طریق فرم جرئیات مشتری و هم از طریق منوی گزارشات در صفحه اصلی، گزینه بستانکاران امکان دارد.
این فرم مشخص کننده ی مشتریانیست که مبلغ بستانکاری شان از مقدار صفر بیشتر است و بستانکار به شمار می آیند.
به این ترتیب اسامی و مشخصات این مشتریان در جدول داخل فرم نشان داده می شود.
شکل4-2-8- فرم بستانکاران Bestankaranfrm 4-2-9- فرم بیحسابان Bihesabanfrm دسترسی به این فرم هم از طریق فرم جرئیات مشتری و هم از طریق منوی گزارشات در صفحه اصلی، گزینه بیحسابان امکان دارد.
این فرم مشخص کننده ی مشتریانیست که مبلغ بستانکاری و بدهکاری شان برابر با صفر می باشد و بی حساب به شمار می آیند.