دارای داکیومنت و مستندات در قالب فایل WORD Doc و دارای نمودار های DFD و توضیحات کدها و دارای پشتیبانی
فهرست مطالب
عنوان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . شماره صفحه
مقدمه 7
پیدایش زبان های برنامه نویسی 8
آشنایی با زبان های برنامه نویسی امروزی 9
زبانهای شئ گرا 9
فصل اول: شرح سیستم تاکسی تلفنی 11
ویژگیهای فنی 12
مخاطبین نرم افزار تاکسی تلفنی 12
نیازمندیهای سیستمی (نرم افزاری و سخت افزاری) 13
نیازمندیهای نرم افزاری 13
نیازمندیهای سخت افزاری 13
فصل دوم: نیازمندیهای سیستم تاکسی تلفنی 14
نيازمنديهاي مساله جهت طراحي نرم افزار تاکسی تلفنی 15
اطلاعات پايه 15
عمليات مربوط به جستجو ، نگهداري سوابق سرویسها 15
گزارشها 16
امنيت و حدود دسترسي 16
بازسازی اطلاعات 17
فصل سوم: جداول پایگاه داده (Data Dictionary) 18
جدول Logs 19
جدول MachineNoow 19
جدول Customers 19
جدول RanandehGan 20
جدول userInfo 20
جدول ServieCaft 21
فصل چهارم: نمودار ER سیستم تاکسی تلفنی 22
فصل پنجم: نمودارهای DFD سیستم تاکسی تلفنی 25
5-1- نمودار DFD زمینه ای سیستم تاکسی تلفنی 26
5-2- نمودار DFD سطح صفر سیستم تاکسی تلفنی 27
5-3- نمودار DFD سطح یک سیستم تاکسی تلفنی (عملیات ثبت درخواست جدید) 29
5-4- نمودار DFD سطح یک سیستم تاکسی تلفنی (عملیات ارائه سرویس) 30
5-5- نمودار DFD سطح یک سیستم تاکسی تلفنی (عملیات پرداخت وجه) 32
5-6- نمودار DFD سطح 2 سیستم تاکسی تلفنی (ناشی از صدور درخواست سرویس ) 34
5-7- نمودار DFD سطح 2 سیستم تاکسی تلفنی (ناشی از صدور صورتحساب ) 35
5-8- نمودار DFD سطح 2 سیستم تاکسی تلفنی (ناشی از تسویه صورتحساب ) 36
فصل ششم: تاریخچه برنامه نویسی 37
مروري بر تاريخچه برنامه نويسي 38
برنامه نويسي ساخت يافته 40
فصل هفتم: تاریخچه C# 42
اهداف طراحی زبان 44
تاریخچه 44
ویژگیها 45
سیستم یکپارچه شده 46
فصل هشتم: مروری بر دستورات C# 47
انواع داده 48
Boxing و EnBoxing 48
ویژگیهای جدید در C# 2.0 49
کلاسهای partial 49
Genericها 49
کلاس های static 50
یک شکل جدید از تکرار کننده با استفاده از سازنده توابع 50
Delegateهای ناشناس 50
Delegate covariance and contravariance 51
نوع داده Nullable 51
فصل نهم: بررسی Source Code سیستم تاکسی تلفنی 53
فرم ورود به سیستم 54
فرم اصلی 55
فرم ثبت سرویس های رانندگان 58
فرم ثبت نام مشتریان 61
فرم ثبت نام رانندگان 64
فرم ثبت خودرو ها 67
فرم ثبت کاربر جدید 70
فرم تعویض کلمه عبور 72
فرم نمایش مشتریان 74
فرم نمایش رانندگان 75
فرم نمایش سرویس ها(براساس نام مشتری) 76
فرم نمایش سرویس ها(براساس نام راننده) 77
فرم نمایش فهرست خودروها 78
فرم نمایش درآمد رانندگان براساس نام راننده انتخاب شده 79
فرم نمایش درآمد آژانس بین دو تاریخ وارد شده 80
فرم نمایش نمودار درآمد آژانس(بین دو تاریخ وارد شده) 81
فرم نمایش نمودار درآمد آژانس(مقایسه بین تاریخ های اضافه شده در لیست) 82
فصل دهم: بررسی پایگاه داده SQL SERVER 83
نمودار ارتباط بین موجودیتها (ER Diagram) 84
Script های SQL جهت ایجاد پایگاه داده 85
فصل ششم: برخی از گزارشات سیستم تاکسی تلفنی 97
گزارش سرویسهای رانندگان و مشتریان به تفکیک 98
گزارش لیست مشتریان 99
گزارش لیست رانندگان 100
فهرست شکل ها
عنوان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . شماره صفحه
شکل 1- نمایش کدهای برنامه نویسی 7
شکل 2- نمودار ERD 24
شکل 3- نمودار DFD زمینه ای 27
شکل 4- نمودار DFD سطح صفر 28
شکل 5- نمودار DFD سطح یک (عملیات ثبت درخواست جدید) 30
شکل 6- - نمودار DFD سطح یک (عملیات ارائه سرویس) 31
شکل 7- - نمودار DFD سطح یک (عملیات پرداخت وجه) 33
شکل 8- نمودار DFD سطح 2 (ناشی از صدور درخواست سرویس ) 34
شکل 9- نمودار DFD سطح 2 (ناشی از صدور صورتحساب ) 35
شکل 10- نمودار DFD سطح 2 (ناشی از تسویه صورتحساب ) 36
شکل 11- کدهای باینری 39
شکل 12- نمونه ای از برنامه نویسی ساخت یافته 41
شکل 13- درباره زبان برنامه نویسی سی شارپ 43
شکل 14- فرم ورود به سیستم 54
شکل 15- فرم اصلی 55
شکل 16- فرم ثبت سرویس های رانندگان 58
شکل 17- فرم ثبت نام مشتریان 61
شکل 18- فرم ثبت نام رانندگان 64
شکل 19- فرم ثبت خودروها 67
شکل 20- فرم ثبت کاربر جدید 70
شکل 21- فرم تعویض کلمه عبور 72
شکل 22- فرم نمایش مشتریان 74
شکل 23- فرم نمایش رانندگان 75
شکل 24- فرم نمایش سرویس ها(براساس نام مشتری) 76
شکل 25- فرم نمایش سرویس ها(براساس نام راننده) 77
شکل 26- فرم نمایش فهرست خودروها 78
شکل 27- فرم نمایش درآمد رانندگان براساس نام راننده انتخاب شده 79
شکل 28- فرم نمایش درآمد آژانس بین دو تاریخ وارد شده 80
شکل 29- فرم نمایش نمودار درآمد آژانس(بین دو تاریخ وارد شده) 81
شکل 30- فرم نمایش نمودار درآمد آژانس(مقایسه بین تاریخ های اضافه شده در لیست) 82
فهرست جدول ها
عنوان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . شماره صفحه
جدول 1- جدول رخدادهای برنامه 19
جدول 2- جدول اطلاعات خودروها 19
جدول 3- جدول اطلاعات مشتریان 19
جدول 4- جدول اطلاعات رانندگان 20
جدول 5- جدول اطلاعات کاربران 20
جدول 6- جدول اطلاعات سرویسهای ارائه شده 21
چکیده
سیستمهای نرم افزاری چند سالی است که تحول عظیمی در زندگی روزمره به وجود آورده اند. در این مستندات به بررسی راه کار برای پیاده سازی پروژه نرم افزاری تاکسی تلفنب پرداخته ایم. برای این منظور:
پس از مقدمه ای کوتا در فصل اولبه ارائه شرح سیستم تاکسی تلفنی پرداخته شده است
در فصل دوم: نیازمندیهای سیستم تاکسی تلفنی بررسی شده است
در فصل سوم: جداول پایگاه داده (Data Dictionary) مورد بررسی قرار گرفته است
در فصل چهارم: نمودار ER سیستم تاکسی تلفنی مورد بررسی قرار گرفته است
در فصل پنجم: نمودارهای DFD سیستم تاکسی تلفنی مورد بررسی قرار گرفته است
در فصل ششم: تاریخچه برنامه نویسی مورد بررسی قرار گرفته است
در فصل هفتم: تاریخچه C# مورد بررسی قرار گرفته است
در فصل هشتم: مروری بر دستورات C# مورد بررسی قرار گرفته است
در فصل نهم: بررسی Source Code سیستم تاکسی تلفنی مورد بررسی قرار گرفته است
در فصل دهم: بررسی پایگاه داده SQL SERVER مورد بررسی قرار گرفته است
در فصل ششم: برخی از گزارشات سیستم تاکسی تلفنی مورد بررسی قرار گرفته است
مقدمه
در ابتدا باید بگویم که یکی از مهمترین خصوصیات Computer برنامه پذیر بودن آن است یعنی به خودی خود قادر به انجام کاری نمی باشد . بنابراین نیاز به این دارد که دستوراتی را از طرف ما دریافت کند ، این دستورات به کامپیوتر می گویند چگونه از سخت افزار (CPU , RAM و ...) خود در جهت هدفی معین که ما تعیین کرده ایم استفاده کند. مجموعه این دستورات همان برنامه ها هستند.
کامپیوتر زبان خاص خود را دارد که این زبان مجموعه ای از صفرها و یک ها است مثلا 11100111 می تواند یک دستور قابل فهم برای Computer باشد. البته مجموعه ای از این کدها تشکیل یک برنامه را می دهند که از Computer در خواست انجام
کاری را می کند. به عمل نوشتن کدها برنامه نویسی (Programming) و به فردی که این کدها را می نویسد برنامه نویس (Programmer) گفته می شود.
هم اکنون ممکن است این سوال به ذهن شما خطور کند که چرا امروزه برنامه نویسان با این کدها سرو کار ندارند؟
در جواب باید بگویم علت چیزی نیست جز پیچیدگی و دشواری کار کردن با این کدها. تصور کنید که می خواهید برنامه ای بنویسید که ریشه های یک معادله درجه دو را به شما بگوید اگر فرض کنیم که شما همه کدهای 0و1 رایانه را حفظ هستید
که چنین چیزی عملا غیر ممکن است ، باید زمان زیادی را صرف نوشتن این برنامه در ظاهر ساده کنید. دلیل هم این است که همه کارها بر دوش شما است ، حتی ساده ترین کارها را باید جز به جز به رایانه بگویید در آخر هم به خاطر یک اشکال شاید
ساده باید ساعتها وقت صرف کنید تا بتوانید آن را برطرف کنید. به همین خاطر عده ای از برنامه نویسان با متحمل شدن سختی فراوان برنامه هایی خلق کردند که اعمال ثابت و تکراری مشترک در همه برنامه ها را انجام میدادند و زبان خاص خود را داشتند.
پیدایش زبان های برنامه نویسی
همان طور که در قسمت قبل گفته شد برنامه نویسان توانستند نرم افزارهای برنامه نویسیی را به وجود بیاورند که اعمال تکراری و مشترکی که بین اکثر برنامه ها وجود دارد را به طور خودکار انجام دهند و بر سرعت و کیفیت برنامه بیافزایند. این نرم افزارها به طور خلاصه از یک صفحه ویرایش و یک مترجم تشکیل شده اند که در صفحه ویرایش عبارات قابل فهم برای این نرم افزار میبایست نوشته شود. پس از نوشته شدن این عبارات (کدها - Codes) نوبت به ترجمه آن ها به زبان ماشین می رسد. و کار مترجم یا تبدیل گر (Compiler) چیزی جز ترجمه عبارات نوشته شده توسط شما به زبان ماشین نیست البته این تعریف شرح وظیفه اصلی یک Compiler است عباراتی که شما می نویسید زبان قابل فهم برای همان نرم افزار برنامه نویسی است که از آن استفاده می کنید. به مجموعه این عبارات (Codes) ، زبان برنامه نویسی گفته میشود، که در هر زبانی متفاوت از دیگر زبانها است.
آشنایی با زبان های برنامه نویسی امروزی
یکی از قویترین زبانهای برنامه نویسی که امروزه وجود دارد و از نظر دشواری تقریبا بعد از 0و1 قرار دارد ، اسمبلی است. آموختن این زبان به مراتب از 0و1 سهل تر است ولی در مقایسه با زبانهای جدیدتر به مراتب مشکل تر است .
دیگر زبانی که در عین داشتن قدرت به زبان انگلیسی نزدیکتر است C نام دارد که برگرفته شده از زبان B می باشد و تقریبا تمام سیستم عامل ها (مثلا Windows) و حتی بعضی زبان های برنامه نویسی با این زبان نوشته شده اند.
زبانهای دیگری نیز نظیر Java,Pascal,Fortran,HTML,ASP,JSP,Basic,Delphi و ... وجود دارند که هر کدام کاربردهای خاص خود را دارند.
زبانهای شئ گرا
زبانهای قدیمی اکثرا تحت سیستم عامل Dos کار می کنند و به دلیل اینکه این سیستم عامل پشتیبانی چندانی از گرافیک نمی کند، یا بهتر بگویم اصلا پشتیبانی نمی کند در نتیجه نرم افزارهای تحت این سیستم عامل از گرافیک بالایی برخوردار نمی باشند _ البته این بدان معنا نیست که در این سیستم عامل نمی توان نرم افزارهایی با گرافیک بالا نوشت _ چون علت عدم پشتیبانی این سیستم عامل از گرافیک نبودن کارتهای گرافیکی قوی در آن موقع بوده است.
اما امروزه کارتهای گرافیکی قویی ساخته شده اند که امکان کار با تعداد رنگهای زیادی را فراهم میکنند. بنابراین نمیتوان گفت که در این سیستم عامل از گرافیک بالا نمیتوان بهره برد چون با برنامه نویسی (که البته نوشتن این برنامه ها چندان کار ساده ای نیست) میتوان نرم افزارهای گرافیکی جالبی خلق کرد.
برنامه مدیریت تاکسی تلفنی با استفاده از سی شارپ ویندوز اپلیکیشن دارای بخشهای متنوع و دارای چندین فرم دارای بخش مدیریتی به همراه پایگاه داده SQL Server و دارای پشتیبانی. این برنامه کاملا متن باز Open Source بوده و بر روی Server نیز قابل نصب و اجرا می باشد.
عنوان جداول طراحی شده در برنامه مدیریت تاکسی تلفنی
معرفی جدول های پایگاه داده
Logs
MachineNoow
PassWords
Customers
RanandehGan
userInfo
ServieCaft
dtproperties
معرفی ویوها پایگاه داده
CusCombo11
KaKerdeRananDegan
qqqq
Query1
Query2
RanandehCobmo
xtblRanandegan
xtblServiceInfo
xtblDaramad
xtblDaramadAjanse
معرفی رویه های پایگاه داده
SearchQueryFillBy
SearchViaNameLikeQuery
SelectQuery
SelectQuery2
sp_userInfo_DeleteRow
sp_userInfo_Insert
sp_userInfo_SelectAll
sp_userInfo_SelectRow
sp_userInfo_Update
امکانات برنامه
فرم ورود به سیستم
فرم اصلی
فرم ثبت سرویس های رانندگان
فرم ثبت نام مشتریان
فرم ثبت نام رانندگان
فرم ثبت خودرو ها
فرم ثبت کاربر جدید
فرم تعویض کلمه عبور
فرم نمایش مشتریان
فرم نمایش رانندگان
فرم نمایش سرویس ها(براساس نام مشتری)
فرم نمایش سرویس ها(براساس نام راننده)
فرم نمایش فهرست خودروها
فرم نمایش درآمد رانندگان براساس نام راننده انتخاب شده
فرم نمایش درآمد آژانس بین دو تاریخ وارد شده
فرم نمایش نمودار درآمد آژانس(بین دو تاریخ وارد شده)
فرم نمایش نمودار درآمد آژانس(مقایسه بین تاریخ های اضافه شده در لیست)
جدول ServieCaft
از این جدول برای ذخیره اطلاعات سرویسهای ارائه شده استفاده می شود.
نام ستون
|
نوع
|
طول
|
Null
|
مقدار پیشفرض
|
RowId
|
int
|
4
|
False
|
ردیف
|
RanadeganMaCode
|
int
|
4
|
True
|
کد راننده
|
CustomerID
|
nvarchar
|
14
|
True
|
کد مشتری
|
ServDate1
|
nvarchar
|
106
|
True
|
تاریخ سرویس
|
ServTime1
|
datetime
|
8
|
True
|
ساعت آغاز
|
ServTime2
|
datetime
|
8
|
True
|
ساعت خاتمه
|
ServiceTotalTime
|
datetime
|
8
|
True
|
کل زمان سرویس
|
ServiceMabda
|
nvarchar
|
360
|
True
|
مبدا
|
ServiceMaghsad
|
nvarchar
|
360
|
True
|
مقصد
|
MablaghKeraieh
|
float
|
8
|
True
|
مبلغ کرایه
|
DarsadeAjanse
|
float
|
8
|
True
|
درصد آژانس
|
TasviehBit
|
bit
|
1
|
True
|
وضعیت تسویه
|
جدول 6- جدول اطلاعات سرویسهای ارائه شده
برچسبها: