مهندسی نرم افزار UML ویدیو کلوب بخش پنجم
مدل شبکه ای(Network)
در سال 1969 و در کنفرانس زبانهای سیستمهای دادهای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجدداً مطرح شد و اساس کار پایگاه دادهای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بين المللي استانداردهاي جهاني یا ISO به اوج رسید.
مدل شبکهای (database model) بر پایه دو سازه مهم یعنی مجموعهها و رکوردها ساخته میشود و برخلاف روش سلسله مراتبی که از درخت استفاده میکند، گراف را به کار میگیرد. مزیت این روش بر سلسله مراتبی این است که مدلهای ارتباطی طبیعی بیشتری را بین موجودیتها فراهم میکند. علی رغم این مزیتها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطهای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابطهای سطح پایین مدل سلسله مراتبی و شبکهای پیشنهاد میشد که بسیاری از نیازهای آن زمان را برطرف میکرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستمهای رابطهای به پیروزی رسیدند.
رکوردها در این مدل شامل فیلدهایی است(ممکن است همچون زبان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعهها با ارتباط یک به چند بین رکوردها تعریف میشود: یک مالک و چند عضو. عملیاتهای مدل شبکهای از نوع هدایت کننده است: یک برنامه در موقعیت جاری خود باقی میماند و از یک رکورد به رکورد دیگر میرود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولاً از اشارهگرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده میشود. با این تکنیک کارایی بازیابی اضافه میشود هر چند در نمایش ظاهری این مدل ضروری نیست .
با این مقدمه در مورد پایگاه داده ، جداول مربوط به پایگاه داده سیستم ویدئو کلوپ را مورد بررسی قرار می دهیم.
Data Dictionary: بررسی موجودیتهای نرم افزار
مشخصات موجوديتها و فيلدهاي جدول Costumers
در اين جدول اطلاعات شناسنامه اي ذخيره مي شود و كليد اصلي اين جدول فيلد PerCode مي باشد.
Indexed
|
Caption
|
Field Size
|
Data Type
|
Field Name
|
Row
|
Yes (No Duplicates)
|
کد مشتری
|
Long Integer
|
Auto Number
|
ID
|
1
|
No
|
نام و نام خانوادگی
|
60
|
Text
|
NameAndSname
|
2
|
No
|
تلفن
|
50
|
Text
|
Phone
|
3
|
No
|
تلفن همراه
|
50
|
Text
|
Mobile
|
4
|
No
|
لیست سیاه
|
1
|
Yes/No
|
BlackList
|
5
|
No
|
ملاحظات
|
200
|
Text
|
Notes
|
6
|
مشخصات موجوديتها و فيلدهاي جدول FilmsMoshakhasat
در اين جدول اطلاعات مربوط به مشخصات فیلمها نگهداری و ذخیره می شود. کلید اصلی این جدول FIlmID می باشد.
Indexed
|
Caption
|
Field Size
|
Data Type
|
Field Name
|
Row
|
Yes (No Duplicates)
|
کد فیلم
|
Long Integer
|
AutoNumber
|
FilmID
|
1
|
No
|
نام فیلم
|
50
|
Text
|
FilmName
|
2
|
No
|
کد رسانه ذخیره سازی
|
Long Integer
|
Number
|
ResanehID
|
3
|
No
|
کد موضوع فیلم
|
Long Integer
|
Number
|
Subject
|
4
|
No
|
کشور تولید کننده
|
50
|
Text
|
CountryADv
|
5
|
No
|
مدت فیلم
|
Short Time
|
Date/Time
|
TimeLeng
|
6
|
No
|
ملاحظات
|
250
|
Text
|
Notes
|
7
|
No
|
در کرایه مشتری
|
1
|
Yes/No
|
InOut
|
8
|
مشخصات موجوديتها و فيلدهاي جدول HistoryTahvil
در اين جدول اطلاعات مربوط به سابقه تحویل فیلمها نگهداری و ذخیره می شود. کلید ترکیبی این جدول HistID و FilmID و CostomerID و PgoJef می باشند.
Indexed
|
Caption
|
Field Size
|
Data Type
|
Field Name
|
Row
|
Yes (No Duplicates)
|
کد تحویل
|
Long Integer
|
AutoNumber
|
HistID
|
1
|
No
|
کد فیلم
|
Long Integer
|
Number
|
FilmID
|
2
|
No
|
کد مشتری
|
Long Integer
|
Number
|
CostomerID
|
3
|
No
|
تاریخ تحویل
|
Double
|
Number
|
DateDel
|
4
|
No
|
تاریخ بازگشت
|
Double
|
Number
|
DateInp
|
5
|
No
|
مبلغ پرداختی
|
Currency
|
Currency
|
PgoJef
|
6
|
No
|
نام مشتری
|
50
|
Text
|
CustomerName
|
7
|
No
|
نام فیلم
|
50
|
Text
|
FilmName
|
8
|
مشخصات موجوديتها و فيلدهاي جدول Resaneh
در اين جدول اطلاعات مربوط به نوع رسانه ذخیره سازی اطلاعات ذخیره می شود. کلید اصلی این جدول ResanehID می باشد.
Indexed
|
Caption
|
Field Size
|
Data Type
|
Field Name
|
Row
|
Yes (No Duplicates)
|
کد رسانه ذخیره سازی
|
Long Integer
|
AutoNumber
|
ResanehID
|
1
|
No
|
نام رسانه ذخیره سازی
|
15
|
Text
|
ResanehName
|
2
|
مشخصات موجوديتها و فيلدهاي جدول Subject
در اين جدول اطلاعات مربوط به موضوع فیلم ذخیره می شود. کلید اصلی این جدول SujID می باشد.
Indexed
|
Caption
|
Field Size
|
Data Type
|
Field Name
|
Row
|
Yes (No Duplicates)
|
کد موضوع فیلم
|
Long Integer
|
AutoNumber
|
SujID
|
1
|
No
|
موضوع فیلم
|
50
|
Text
|
Subject
|
2
|
نمودار Use Case و سناریو
در اینجا به بررسی و شناخت Use Case ها ، Actor ها ، رسم Use Case Diagram ها و در نهایت نوشتن سناریویی برای هر یک از Use Case Diagram ها خواهیم پرداخت. در ابتدا بایستی بدانی که مفاهیم هر یک از عبارات فوق چیست؟
6-1- Use case چیست؟
Use Case ها که در فاز آنالیز پروژه برای شناساسیی و تقسیم بندی فعالیت های سیستم استفاده می شوند و می تونند به عنوان سرویس ها یا کارکردهایی که سیستم برای کاربران خودش فراهم می کنه نیز توصیف بشوند.
دو دیدگاه وجود دارد: یکی داخلی , دید ساختاری و دیگری خارجی و دید وظیفه گرایی(task Oriented)
در دیدگاه اول ما باید کلاسها و متدها را تعریف کنیم و سپس واسطهای کاربری (user interface)را تعریف کنیم. مشکل اینجاست که برای کاربر مهمترین چیز رفتار سیستم است ولی واسطهای کاربری تنها قسمت آخر فرآیند را تعریف می کنند. و این مارو به سمت مشکلاتی می بره نظیر اینکه سیستم تمام کارکردهایی که ما می خواهیم در اختیارمون قرار نمی ده و یا کارکردهایی رو داره که مورد نیاز ما نبوده.
در دید دوم ،سیستم از Actor ها و فعالیتها و کلاسهایی که به فعالیتها وصل شده اند پشتیبانی می کند.در این دیدگاه هیچ کار ناخواسته ای وجود ندارد و سیستم تمام فعالیتهای کاربر را پشتیبانی می کند که همه آنها در Use case Diagram نمایش داده می شود.