PDA

View Full Version : آموزش: همه چیز درباره مدل ER



baran_mehr
جمعه 04 دی 1388, 10:25 صبح
سلام به همه دوستای عزیزم:قلب:
بعد از اینکه چند تا پست درباره مدل ER دیدم به این فکر افتادم که یه سری مطلب در این باره برای دوستان بگذارم تا شاید بدرد بخوره و مفید باشه.
سعی میکنم هر دفعه یک قسمت رو توضیح بدم و یا مثالی هم بزارم امیدوارم سایر دوستان هم کمک کنن تا این پست مفیدتر و بهتر بشه.

baran_mehr
جمعه 04 دی 1388, 10:26 صبح
مدل er در سال 1976 توسط آقای chen ابداع شده.
مدل er از دو قسمت موجودیت ها و رابطه ها تشکیل شده که در واقع بیشتر کار ما حول این دو تا قسمته.
موجودیت:
chen یه تعریفی از موجودیت داده که میگه " چیزی که به طور مجزا قابل شناسایی است"
همینطور موجودیت ها رو به صورت موجودیت قوی و موجودیت ضعیف دسته بندی کرده
موجودیت ضعیف:موجودیتی است که وجود آن وابسته به موجودیت دیگری باشد(یعنی عدم وجود موجودیتهای دیگر باعث میشه که این موجودیت از بین بره)

موجودیت قوی:موجودیتی بوده که ضعیف نبوده و به طور مستقل میتونه وجود داشته باشه.

موجودیت هاو رابطه ها دارای مشخصه هایی هستند.( بعضی وقتها به این مشخصه ها صفات هم گفته میشه که تعبیر نادرستی هست چونکه صفت در مدل رابطه ای مفهوم دیگه ای داره)
تمام موجودیت هایی که از یک نوع باشند، مشخصه های مشترکی دارند. برای مثال فرض کنید در یه سیستم پرسنلی تمام کارمندان دارای شماره کارمندی ،نام،حقوق،شماره تلفن و... هستن. هر مشخصه مقدارشو از یک مجموعه مقدار متناظر دریافت میکنه.
مشخصه میتونه به صورت های زیر باشه:
ساده یا مرکب: به عنوان مثال در سیستم کارمند ویژگیهای نام و یا نام خانوادگی از ویژگیهای ساده هستند و یا آدرس از نوع مرکب هست.
کلید: در بعضی موارد تا حد امکان منحصر به فرد است .
تک مقداری یا چند مقداری(درحالت چند مقداری میتونیم از داده های تکراری استفاده کنیم)
مبنا یا مشتق شده(به عنوان مثال "کل عرضه" یک کالا میتونه از مجموع میزان عرضه های اون کالا بدست بیاد.

baran_mehr
جمعه 04 دی 1388, 10:49 صبح
Chen رابطه را به صورت "یک ارتباط بین موجودیت ها" تعریف کرد.
به موجودیت های موجود در یک رابطه،شریک یا دخیل های آن رابطه گفته می شود . تعداد شریکهای یک رابطه را درجه آن رابطه می نامند.
یک رابطه ER میتواند یک به یک و یا چند به یک(یا یک به چند) و چند به چند باشد.
هر موجودیت دارای یک نوع خاصی است،اما این حالت نیز وجود دارد که یک موجودیت خاص بطور همزمان نوع های مختلفی را پوشش دهد. به عنوان مثال اگر بعضی از کارمندان،برنامه نویس باشند(و کلیه برنامه نویسان جزو کارمندان باشند)آنگاه میتوان گفت Programmer زیر نوعی از نوع مرجع(ابرنوع) Employee می باشد. کلیه ویژگیهای کارمندان برای برنامه نویسان نیز بکار می رود، اما عکس آن صادق نیست. به عنوان مثال ممکن است برنامه نویسان دارای "مهارت برنامه نویسی" باشند که در حالت کلی کارمندان این مهارت را ندارند.
ویژگیها و روابطی که در یک نوع مرجع وجود دارند،توسط یک زیر نوع به ارث برده می شوند.
همچنین توجه دواشته باشید که بعضی برنامه نویسان نرم افزارهای کاربردی و بعضی نرم افزارهای سیستمی تولید میکنند، بنابراین می توان گفت Application_Programmer و System_Programmer هر دو زیر نوع های Programmer هستند.

baran_mehr
جمعه 04 دی 1388, 11:07 صبح
نمودارهای Entity/Relationship
نمودارهای ER ،تکنیکی برای نمایش ساختار منطقی بانک اطلاعاتی به صورت تصویری ارائه می کنند. این نمودارها روش ساده ای را به شکل تصویری برای طراحی پایگاه داده ها فراهم میکنند.همیشه یک تصویر گویاتر از کلمات متعدد وبده و مفهوم ساده و قابل درکی را ارائه میدهد. به دلیل عمومیت مدل ER به عنوان روشی در طراحی بانک اطلاعاتی، نمودارهای آن نیز مسلما متداولتر خواهد بود.

baran_mehr
جمعه 04 دی 1388, 12:30 عصر
موجودیت:
در نمودار ER به شکل مسطتیل ترسیم شده و نام موجودیت در داخل مستطیل نوشته می شود. برای یک موجودیت ضعیف، مستطیل را به صورت دو خطی ترسیم میکنند.
مشخصه:
مشخصه ها به شکل بیضی نشان داده می شودند و نام هر مشخصه در داخل بیضی نوشته می شود و به موجودیت (یا رابطه) توسط خطی وصل می شود. اگر مشخصه چند مقداری باشد،به صورت دوخطی خواهد بود . و در صورتی که مشخصه مرکب باشد،مشخصه های جزء که این مشخصه مرکب را به وجود می آورند،توسط بیضی نشان داده شده و با خط راست به مشخصه مرکب وصل می شوند. مشخصه های کلید زیر خط دار هستند.
رابطه ها:
نام هر رابطه در داخل یک لوزی نوشته شده و نماد رابطه در نمودار ER ،لوزی می باشد. اگر رابطه بین یک موجودیت ضعیف و موجودیتی که وابستگی وجودی دارد باشد ،لوزی دوخطی است.
شریکهای هر رابطه به رابطه متناسب با خطوط راست وصل می شوند و هر خطی دارای عنوان "یک" یا "چند" است که نشان می دهد آیا رابطه یک به یک ، چند به یک و غیره می باشد. اگر شراکت کلی باشد ،خط رابط به صورت دوخطی است.

baran_mehr
شنبه 05 دی 1388, 09:19 صبح
یه مثال هم برای رابطه ها و موجودیت ها

baran_mehr
شنبه 05 دی 1388, 09:29 صبح
در مرحله بعدی باید موجودیت ها را باهم ارتباط داده و سپس مشخصه ها را به موجودیت ها وصل نمود به عنوان مثال موجودیت های پروژه با مدیریت و سازمان و مدیریت را نمایش می دهیم.

baran_mehr
شنبه 05 دی 1388, 22:00 عصر
از اونجایی که دارم دوران سربازی رو میگذرونم نمیتونم خیلی سربزنم و پست بزارم اما سعی میکنم هر هفته که میام خونه یه سری مطلب جدید بزارم.
منتظر ادامه این مطلب باشید.

mahnaz2009
دوشنبه 28 دی 1388, 18:10 عصر
mersiii az modeli ke gozashty vaghean mamnoon
! ama man daram systeme sabte namo dfd er derakhte tasmim giri ...ro rasm mikonam.az in nazar moshkel daram ke nemidoonam erd1 va erd nahaei che farghi baham daran?! mitooni be in soalam javab bedii lotfan!???

baran_mehr
چهارشنبه 07 بهمن 1388, 11:59 صبح
سلام دوست عزیز.
لطفا سوالات و یا پاسخ های خودتون را فارسی تایپ کنید تا از طرف مدیر بخش حذف نشه.
فرق dfd یک و dfd نهایی تو چندتا چیزه. معمولا تو دیاگرام اول یه نمای کلی رو نمایش میدن و درباره بخشهای کوچیکتر اون صحبتی نمیشه اما ددر دیاگرام نهایی تمامی قسمتها و بخشهای کوچک و بزرگ و ارتباطهای اونها با سایر بخشها هم نمایش داده میشه.
سعی میکنم در این باره یه سری مطلب براتون بزارم.

baran_mehr
پنج شنبه 08 بهمن 1388, 10:43 صبح
تعریف DFD : یکی از روش های اصلی برای تعریف و تجزیه و تحلیل سیستم های مبتنی بر داده ها است،منطق سیستم را به ما نشان میدهد(از لحاظ منطق موجودیت ها و این که اعضای سیستم چگونه با هم روابط ایجاد میکنند و چگونه تبادل اطلاعات میکنند).
*تحلیل گرهای سیستم میتوانند با استفاده از DFD یک تصویر گرافیکی ازجریان داده های سازمان را نشان دهند.

DFD ها دارای 4 عنصر اساسی هستند و هر عنصر علامت خاص خود را دارند.
عناصر DFD:
1- موجودیت ها 2- پردازش(فرایند)

3- انبار(مخزن ، بایگانی )داده ها 4- جریان داده ها

baran_mehr
پنج شنبه 08 بهمن 1388, 10:53 صبح
1-موجودیتها:
معمولآ خارجی هستند(بیرون از سازمان هستند،مثل مشتری،مثلا مشتری یک درخواست دارد و تمام فرایندها در سازمان نهایتآ به مشتری ختم می شود) افراد و سازمانهایی
که بیرون از سازمان هستند و نشان دهنده ی منبع اولیه و دریافت کنندهی نهایی دادهها و اطلاعات هستند که معمولآ با یک اسم نام گذاری می شوند.موجودیتها فعل و حرف ربط و یک جمله نیستند.
موجودیتهای خارجی می توانند یک مشتری،شخص،دانشجو،سازمان،ش رکت(بانک) یک تآمین کننده (حسابدار) یا یک واحد دیگر در خود سازمان(بخش تکمیلی سفارش) یک واحد بیرونی(حسابداری،تولید،فرو ) و یا یک سیستم فرعی تر(سیستم کنترل موجودی ) باشند.
2-پردازش(فرایند):
1-میتوانند نشان دهنده ی کل سیستم باشند و با اسم یا صفت نشان داده میشوند(مثل نمودار محتوایی)
2-میتوانند یک سیستم فرعی باشند و با اسم یا صفت نشان داده میشوند(سیستم حقوق دستمزد،پاداش، حضور و غیاب مربوط به سیستم اصلی منابع انسانی)
3-میتوانند به صورت فعالیتهایی که انجام میشوند باشند که به صورت فعل نشان داده میشوند.
3-انبار داده¬ها:
که با یک اسم نشان داده میشوند که دادهها را توصیف می کند و نشان می دهد که یک سری دادهها ذخیره می شود(مثل اطلاعات دانشجویان،اساتید،ثبت نام،بیماران،...) و معمولآ با حرف D نشان داده می شود و همین طور انواع دادهها را نشان می دهد که می تواند به صورت زیر باشند:
1- یک فایل کامپیوتری 2- یک سری اطلاعات کامل(که می تواند به صورت فایل مبادلاتی باشد،مثل مشتری بانک و گردش حساب،دریافتها و پرداختها)
3- مجموعههایی از جداول 4- به صورت فایل دستی

4-جریان دادهها:
نشان دهنده¬ی حرکت دادهها به مسیر حرکت داده¬ها از یک شخص،مکان،یا یک چیز است که رابطه¬ی بین موجودیتها و فرایندها را نشان می دهد و به صورت یک سری اسامی است و عنوانی است که به صورت اسمی است(عنوان دادهها را باید بنویسیم)و دادههایی را که حرکت می کند را توصیف می کند، جهت فلش جهت حرکت داده را نشان می دهد . فلشهای 2 جهته زمانی استفاده می شود که بخواهیم جریان مستمری از تبادل اطلاعات و انباردادهها را نشان دهیم وجریان داده¬ها برای به روز کردن اطلاعات نیز است.

baran_mehr
پنج شنبه 08 بهمن 1388, 11:00 صبح
مزایایDFD:
1- کمک به کاربر برای شناسایی روابط بین سیستم ها و سیستم های فرعی.
2- کمک به کاربر برای این که سریع وارد بحث فنی کار نشود.
3- ترسیم سیستم به صورت گرافیکی و درک سریع و بهتر برای کاربر.
4- کمک به کاربر برای تحلیل سیستم پیشنهادی.
تا DFD نباشد هیچ کدام از این کارها انجام نمی گیرد و کلآ DFD روشی است که در مراحل توسعه ی سیستم باید رعایت شود.

دستورالعمل و گام های برداشته شده برای کار طراحی DFD ها:
1- طراحی یک نمودار محتوایی که برای این کار همه ی موجودیت ها و روابط اطلاعات اصلی را باید پیش بینی و شناسایی کنیم و برای شناسایی از روش های جمع اوری اطلاعات استفاده می کنیم،همین طور برای شناسایی داشتن زمینه لازم است.
2- طراحی یک دیاگرام سطح صفر که شامل تمام موجودیت ها،روابط اطلاعات و انبار داده ها است.
3- طراحی یک دیاگرام فرعی(کوچک)برای پردازش های کوچک وبزرگ در سطح صفر.
و در ادامه می توانیم فهرستی از فعالیت های سازمان یا سیستم تهیه کنیم،سپس داده ها و اطلاعات فعالیت هایی که مبادله می شوند را شناسایی کنیم،مخصوصآ داده هایی که از موجودیت های خارجی می ایند چون شروع کننده ی سیستم هستند.

baran_mehr
پنج شنبه 08 بهمن 1388, 11:08 صبح
در کل منطق DFD بر سه بخش است:
1- چه داده هایی از موجودیت خارجی وارد سیستم می شود.
2- چه فعالیتی روی داده ها انجام میشود(چه کسانی،چگونه و کجا).
3- چه محصولی تولید می شود و به کجا می رود.


خطا های احتمالی در طراحی DFDها که نباید انجام داد:
1- هیچ زمان نباید داده ها فقط از یک فرایند داخل یا خارج شوند.
2- هیچ زمان ما بین موجودیت های خارجی و دو انبار یک رابطه نداریم(و روابط مثلا بین یک موجودیت و یک فرایند است)
3- انبار داده ها را نباید با فعل و پردازش ها را نباید با اسم نوشت.
4- حداکثر فرایند ها 9 عدد باشد.
5- در سطر بندی نباید اشتباه کنیم چون ممکن است جریان داده ها را ندیده حذف کنیم.
منطق DFD ها بر 1- منطقی 2- فیزیکی است
تفاوت در این است که درdfd منطقی برای یک سیستم با توجه به دانش زمینه ای خود و اطلاعاتی که جمع اوری می کنیم یک نمودار طراحی می کنیم و اینکه یک سیستم به لحاظ منطقی چگونه کار کند.
اما درdfd فیزیکی نموداری طراحی می کنیم که چگونه باید کار کند و درdfd فیزیکی به صورت واقعی کار می کنیم وهرآن طور که سیستم باید عمل کند را نشان میدهیم .
*بعد از طراحی DFDها برای تعامل بیشتر با کاربر و بهبود و از لحاظ منطقی یک بازخورد از کاربر می گیریم ویک CRUD(ایجاد،مطالعه و به روز کردن اطلاعات،حذف)ایجاد می کنیم و علاوه بر این ها می توانیم نحوه ی روابط و عنوان داده ها را اصلاح،تغییر و یا جابه جا کنیم.

baran_mehr
پنج شنبه 08 بهمن 1388, 12:53 عصر
برای درک بهتر توضیحات بالا به این مثال توجه کنید

baran_mehr
شنبه 10 بهمن 1388, 18:16 عصر
sample dfd

parvazi
پنج شنبه 29 بهمن 1388, 22:45 عصر
سلام
می شه جواب این سوال رو لطفا بدین و من رو کمک کنین؟:ناراحت:
آیا صفت می تواند چند مقداری و مشتق باشد؟ و
آیا صفت می تواند مرکب و مشتق باشد؟
این سوال رو استادمون داده. اگه ممکنه کمک کنید:اشتباه:

baran_mehr
جمعه 07 اسفند 1388, 19:57 عصر
سلام دوست گلم ببخشید که یکم دیر جواب میدم اخه نبودم شرمنده
بله دوست عزیز صفت میتونه ساده ،مرکب، و مشتق باشه
هر موجودیتی دارای ویژگیهایی هست که با انها صفت میگویند.مثلا عرضه کننده دارای مشخصاتی همچون نام ، ادرس، تلفن و... میباشد

baran_mehr
شنبه 08 اسفند 1388, 16:05 عصر
اینم نمونه ای از صفت

baran_mehr
شنبه 08 اسفند 1388, 16:13 عصر
در ادامه ممکنه دوستان با مفاهیم بیشتری برخورد کنن که من یه سایت تو این زمینه های زیر پیدا کردم که شاید بدردتون بخوره ،درباره پایگاه داده هاست
مفاهيم اساسي (http://www.hpkclasses.ir/Courses/DataBase/db0100.html)
مدل داده (http://www.hpkclasses.ir/Courses/DataBase/db0500.html)
مدل رابطه ای (http://www.hpkclasses.ir/Courses/DataBase/db0600.html)
نرمال سازی (http://www.hpkclasses.ir/Courses/DataBase/db0900.html)
SQL (http://www.hpkclasses.ir/Courses/DataBase/db0800.html)

baran_mehr
چهارشنبه 12 اسفند 1388, 14:51 عصر
دیکشنری داده‌ها Oracle Data Dictionary
دیکشنری داده‌ها اولین دسته از Object هایی می‌باشد که مدیر پایگاه داده‌ها بعد از ایجاد Database باید آن را به وجود آورد. هر Object در پایگاه داده‌های اراکل به روشی خاص توسط دیکشنری داده‌ها مورد پیگیری و شناسایی قرار میگیرد. اراکل معمولا Data Dictionary را در زمان ایجاد Database و بدون دخالت DBA و توسط Catalog.sql و Catproc.sql ایجاد میکند. اگر شما Database را توسط Data Base Configuration Assistant ایجاد کنید. این ابزار به طور خودکار دیکشنری داده‌ها را ایجاد می‌کند. اگر شما به طور دستی Database را ایجاد میکنید از اجرا شدن Script های بالا اطمینان حاصل کنید.
Catalog.sql برای ایجاد و پیکر بندی اجزاء دیکشنری داده‌ها به کار می‌روند. دیکشنری داده‌ها یک شمای کلی از عملیات‌های انجام شده توسط پایگاه داده‌ها از جمله پیدا کردن اطلاعات در مورد Object های درون پایگاه تا یافتن اطلاعات در مورد کارایی پایگاه و.... را به شما می‌دهد. برای ایجاد Data Dictionary شما می‌توانید Catalog.sql را از درون Sqlplus با مجوز sysdba اجرا کنید.زمانی که شما Catalog.sql را اجرا میکنید در درون آن script های دیگری صدا می‌شوند که به ترتیب زیر می‌باشند.


Cataudit.sql: این اسکریپت با تشکیل SYS.AUD$ Table تمام اعمال بازبینی و بازرسی اطلاعات را که توسط Oracle Auditing Feature می‌شود را پیگیری می‌کند.
Catldr.sql: مسئولیت ایجاد View هایی که توسط Sql Loader برای پردازش Large-Volume Data به کار می‌زود را دارد.
Catexp.sql: مسئولیت ایجاد View هایی که توسط ابزارهای Import/Export مورد استفاده قرار میگیرد را دارد.
Catpart.sql: این اسکریپت نیز با ایجاد View هایی از Oracle Partitioning پشتیبانی می‌کند.
Catadt.sql: با ایجاد کردن View های مناسب از User Define Type ها پشتیبانی می‌کند.
Standard.sql : مسئولیت ذخیره کردن اسکالرها و دیتا تایپ های ساده مانند Varchar2 و Blob و همچنین بعضی توابعی که به صورت Built-in در Sqlplus وجود دارند مثل()Decode را دارد.


دومین اسکریپت Catproc.sql است که Procedural Option وابزارهای مورد نیاز PL/SQL را فراهم میکند. در این اسکریپت نیز اگر شما به آن توجه داشته باشید، اشاره به پکیج های دیگری مثل dbmsutil.sql , dbmssql.sql در آن وجود دارد که در حقیقت شرح و تعریفی برای پکیجهای سرور اراکل که شامل Procedures, Functions, Type ها هستند می‌باشد. یک سری دیگر از اسکریپت ‌هایی که توسط Catproc.sql صدا میشوند، اسکریپت هایی هستند که با پسوند plb. ختم میشوند مانند Prvutil.plb, prvtpipe.plb. این کدها، کدهای PL/SQL می‌باشند که کد گذاری شده اند تا شما از منطق به کار رفته در آن مطلع نشوید.
تمام اسکریپت های بالا در شاخه rdbms/admin قابل دسترسی میباشد.
نکته : شما نمی‌توانید بدون ایجاد Database دیکشنری دادهها را ایجاد کنید. به این دلیل که شما به عنوان sys as sysdba این اسکزیپت ها را اجرا می‌کنید که با ایجاد پایگاه به وجود می‌آیند.


Key Data Dictionary Components And Contents
دیکشنری داده‌ها در اراکل دارای دو جزء اصلی می‌باشد. یکی Base Table ها وذیگری User Accessible Views . شما باید آگاه باشید که هیچگاه مستقیما با Base Table ها کار نکنید و سعی کنید که با User Accessible View ها کار کنید. در زیر شرحی بر عملکرد این دو جزء خواهیم داشت.


Base Tables
داده‌های درون دیکشنری داده‌ها در درون Table هایی در زمان ایجاد DataBase ذخیره می‌شوند. که به این Table ها Base Table گفته می‌شود.این table ها که به صورت $X می‌باشند و در درون System Table Space ساخته میشوند و اطلاعات و داده‌های مربوط به Base Table ها را ذخیره می‌کنند. این table ها در زمان اجرای اسکریپت Catalog.sql ساخته می‌شوند. تنها کاربر Sys دسترسی مستقیم به این اطلاعات دارد. بهتر است که تا حد ممکن از وصل شدن به اراکل با کاربر sys خودداری کنید و همچنین از دادن مجوز به کاربران دیگر برای دسترسی به دیکشنری خودداری کنید.


User Accessible Views
در زمانی که Base Table ها ساخته می‌شوند، اسکریپت Catalog.sql یک سری View های قابل دسترس برای کاربران که توسط آن می‌توانند به اطلاعات Data Dictionary دسترسی پیدا کنند. دیکشنری داده‌ها که ما به آن اشاره می‌کنیم، همان اشاره به View های موجود می‌باشد نه Table های اصلی دیکشنری داده‌ها.
اراکل اصولا به صورت گسترده‌ای از دیکشنری داده‌ها استفاده می‌کند. از تشخیص درستی ارتباط یک کاربر که به پایگاه داده متصل می‌شود تا تائید وجود Table هایی که توسط کاربر مورد پرس و جو قرار می‌گیرند تا مسائلی از قبیل رد یابی برای وجود Index هایی که بر روی Table ها برای افزایش کارایی سیستم وجود دارد، همه وهمه به نحوی با Data Dictionary در ارتباط می‌باشند و از آن استفاده می‌کنند. در یک دسترسی به Data Dictionary و گرفتن اطلاعات راجع به هر چیز نتایج در داخل Dictionary Cache که در داخل SGA که قبلا در بحث معماری اراکل به شرح آن پرداختیم Cache می‌شود.


Available Dictionary Views
اطلاعات بسیار زیادی راجع به موجودیت‌ها و داده‌های موجود در پایگاه داده‌ها در تعدادی محدود از Table ها که کاربر Sys مجوز دسترسی به آن را دارد وجود دارد. اراکل به شما اجازه دسترسی مستقیم به این Table ها را به طور مستقیم نمی‌دهد. در مقابل چندین View برای دسترسی به این اطلاعات وجود دارد. این View ها در اراکل به عنوان دیکشنری داده معرفی شده است. View های دیکشنری داده‌ها به شما کمک می‌کند تا احتیاج به دسترسی مستقیم به Table های دیکشنری داده‌ها نداشته باشید.
این حفاظ محکم برای دیکشنری داده به دو دلیل دارای اهمیت می‌باشد. دلیل اول حساس بودن Table هایی می‌باشد که کاربر Sys مالکیت آنها را دارد. از بین رفتن یا خراب شدن این Table ها به هر دلیل می‌تواند باعث خرابی شدید در پایگاه داده شما شود و یا حتی آن را غیر قابل استفاده کند. دلیل دوم اینکه استفاده از View ها بسیار قابل فهم تر و قابل استفاده تر می‌باشد.

baran_mehr
چهارشنبه 12 اسفند 1388, 14:52 عصر
مثال: به عنوان مثال اگر شما با کاربر Scott و از طریق کنسول SQL به اراکل متصل شده باشید با دستور زیر میتوانید Table هایی که کاربر Scott مالکیت آنها را دارا می‌باشد را مشاهده کنید.


;SQL>select table_name from user_tables


TABLE_NAME
----------------------
BONUS
DEPARTMENT
DEPT
DUMMY
EMP
EMPLOYEE
PRICES
SALGRADE


بنابراین با این select یا همان پرس و جو بر روی این View اسم تمام Table هایی را که Scott مالکیت آنها را دا شت بدست آوردیم. دو نکته بسیار مهم وجود دارد که شما باید به آن توجه داشته باشید. اول عنوان View میباشد و دوم حوزه پرس و جوی شما بر روی View که در اینجا محدود به کاربر Scott میشود. پس به دو عنوان View Topic و View Scope توجه داشته باشید.


Discerning A Dictionary View's Scope
View های دیکشنری داده بسته به مجوز کاربر برای دیدن آنها به سه دسته مختلف تقسیم میشوند. در زیر به شرح این سه دسته خواهیم پرداخت.


User
در این View ها شما می‌توانید Object هایی از پایگاه داده را که شما مالک آن هستید را مشاهده کنید. این View ها کمترین حوزه کاری را در بر می‌گیرند به این دلیل که فقط Object هایی را که در درون Schema کاربری شما هستند نمایش داده می‌شوند. بنابراین اگر شما با کاربر John به پایگاه متصل شوید با پرس و جو از دیکشنری داده‌ها نمی‌توانید Table های مربوط به Scott را مشاهده کنید.


All
این قسمت شامل View هایی می‌شود که شما مالک آنها نمی باشید ولی به آنها دسترسی دارید. این View ها Scope وسیعتری را نسبت به User Views در بر دارد زیرا شامل Object هایی می‌شود که شما مالک آنها هستید و Object هایی که به آن مجوز دسترسی دارید. برای دسترسی به یک Object در پایگاه داده‌ها باید یکی از شرایط زیر را داشته باشد.
1- شما خالق آن Object باشید.
2- مالک یک Object در پایگاه داده به شما مجوز دسترسی داده باشد.
3- به کاربر Public مجوز دسترسی به Object های مورد نظر داده شده باشد.
نکته: کاربر Public یک کاربر خاص می‌باشد که در آینده بیشتر راجع به آن صحبت خواهیم کرد. اگر روی یک Object به این کار بر مجوز داده شود آنگاه تمام کاربران به آن Object دسترسی خواهند داشت.


DBA
این View ها به شما اجازه دیدن تمام Object های داخل پایگاه داده شما را می‌دهد.شما باید برای دستزسی به DBA Views باید مجوز Select_Catalog_Role را داشته باشید.
Identifying a Dictionary View's Topic
قسمت دوم در دیکشنری داده که بسیار حائز اهمیت می‌باشد عنوان View های موجود در دیکسنری داده می‌باشد که در قسمت پایین به شرح آنها خواهیم پرداخت.
USER_OBEJECTS, ALL_OBJECTS, DBA_OBJECTS
اطلاعاتی در مورد object هایی که کاربر مالک آنهاست یا اطلاعات در مورد object هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام object های درون یک پایگاه را به شما می‌دهد.
USER_TABLES, ALL_TABLES, DBA_TABLES
اطلاعاتی در مورد Table هایی که کاربر مالک آنهاست یا اطلاعات در مورد Table هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Table های درون یک پایگاه را به شما می‌دهد.
USER_INDEXES, ALL_INDEXES, DBA_INDEXES
اطلاعاتی در مورد Index هایی که کاربر مالک آنهاست یا اطلاعات در مورد Index هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Index های درون یک پایگاه را به شما می‌دهد.
USER_VIEWS, ALL_VIEWS, DBA_VIEWS
اطلاعاتی در مورد View هایی که کاربر مالک آنهاست یا اطلاعات در مورد View هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام View های درون یک پایگاه را به شما می‌دهد.
USER_SEQUENCES, ALL_SEQUENCES, DBA_SEQUENCES
اطلاعاتی در مورد Sequence هایی که کاربر مالک آنهاست یا اطلاعات در مورد Sequence هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Sequence های درون یک پایگاه را به شما می‌دهد.
USER_USERS, ALL_USERS, DBA_USERS
اطلاعاتی در مورد کاربری که به پایگاه متصل است یا تمامی کاربرانی که در پایگاه تعریف شده‌اند را میتوانید با پرس وجو از View های موجود کسب کنید.
USER_CONSTRAINTS, ALL_CONSTRAINTS, DBA_CONSTRAINTS
اطلاعاتی در مورد Constraint هایی که کاربر مالک آنهاست یا اطلاعات در مورد Constraint هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Constraint های درون یک پایگاه را به شما می‌دهد.
USER_CONS_COLUMNS, ALL_CONS_COLUMNS, DBA_CONS_COLUMNS
اطلاعاتی را در مورد ستونهایی ازTable هایی که شما مالک آن هستید یا مجوز دسترسی دارید یا تمام ستونهای موجود درTable های یک پایگاه به شما می‌دهد.
USER_IND_COLUMNS, ALL_IND_COLUMNS, DBA_IND_COLUMNS
اطلاعاتی راجع به ستونهایی از Table ها که دارای Index می‌باشند و شما مالک آنها می‌باشید و یا مجوز دسترسی دارید و یا اطلاعاتی راجع به تمام Index های موجود در پایگاه داده بدست آورید.
USER_TAB_COLUMS, ALL_TAB_COLUMNS, DBA_TAB_COLUMNS
اطلاعات در مورد ستونهای Table هایی که شما مالکیت آنه را دارید و یا ستونهایی که مجوز دسترسی دارید یا تمام ستونهای پاگاه داده را به شما می‌دهد.
USER_ROLES, ALL_ROLES, DBA_ROLES
با پرس و جو از View های بالا می‌توانید اطلاعاتی راجع به Role هایی که دارید و یا Role های کاربرانی که شما مجوز دیدن آنها را دارید و یا Role های تمام کاربران پیگاه داده اراکل مشاهده کنید.
USER_TAB_PRIVS, ALL_TAB_PRIVS, DBA_TAB_PRIVS
اطلاعاتی در مورد مجوز دسترسی بر روی Object هایی که شما مالک آنها می‌باشید و یا Object هایی که شما برای دیدن مجوز دسترسی آنها دسترسی دارید و یا اطلاعاتی در مورد مجوز دسترسی بر روی کل Object های Database به شما می‌دهد.
USER_SYS_PRIVS, ALL_SYS_PRIVS, DBA_SYS_PRIVS
علاوه بر در برگرفتن حالت قبل System Previlage های پایگاه را نیز به شما نمایش می‌دهد.
USER_SOURCE, ALL_SOURCE, DBA_SOURCE
اطلاعاتی را در مورد سورس کدهای برنامه PL/SQL که کاربر مجوز دسترسی به آنها را دارد و یا به او مجوز داده شده و یا تمامی سورس کدهای موجود در اراکل را می‌دهد.
USER_TRIGGERS, ALL_TRIGGERS, DBA_TRIGGERS
اطلاعاتی در مورد Trigger هایی که کاربر مالک آنهاست یا مجوز دسترسی دارد یا تمام Trigger های موجود در پایگاه به شما می‌دهد.
DBA_PROFILES
اطلاعاتی را درباره پروفایل کاربران در اراکی به شما می‌دهد شما از پروفایل کاربران به منظور محدود کردن دسترسی آنها از منابع فیزیکی سیستم استفاده می‌کنید مانند محدود کردن استفاده از حافظه.
DBA_TABLESPACES,DBA_TS_QUTAS
اطلاعات در مورد Tables Space ها و سهمیه استفاده کاربران در هر Table Space را نمایش می‌دهد.
DBA_DATAFILES, DBA_SEGMENT, DBA_EXTENTS, DBA_FREE_SPACE

اطلاعات جامعی را در مورد Data file های پیگاه داده اراکل به شما میدهد

منبع:باشگاه دانشجویان پیام نور

baran_mehr
جمعه 14 اسفند 1388, 23:14 عصر
روش مسیر بحرانی CPM
فعالیت مجازی: هر گاه بین دو رویداد وابستگی وجود داشته باشد ولی بین آنها زمان یا منابع دیگری صرف نشود به این فعالیت، فعالیت مجازی گویند.
ثبت مدت زمان اجرا هر یک از فعالیت ها
زودترین زمان شروع فعالیت ها
دیرترین زمان شروع فعالیت ها
محاسبه فعالیت بحرانی
تنظیم جدول زمانی فعالیت ها: پس از محاسبه زودترین و دیرترین زمان شروع فعالیت ها، جدول زمانی فعالیت ها تنظیم می گردد.
نمودار گانت یا نمودار میله ای
ضعف: وابستگی فعالیت ها یا وظایف به هم را نشان نمی دهد. و فعالیت و وظایفی که باید به موقع و ترتیب خاصی انجام شود تا پروژه از برنامه زمانبندی شده عقب نیفتد نیز در آن مشخص نیست.

baran_mehr
جمعه 14 اسفند 1388, 23:26 عصر
یک مسیر بحرانی
فعالیتی که اگر برای مدت معینی اجرای آن به تاخیر بیفتد به همان اندازه اختتام کل پروژه به تاخیر می افتد که لازم است در دیاگرام آورده شود.

به این فایل یه نگاهی بندازید:

baran_mehr
جمعه 14 اسفند 1388, 23:43 عصر
اینم یه PDF شاید بدرد بخوره.(البته زبان فارسی نیست)

baran_mehr
شنبه 15 اسفند 1388, 00:09 صبح
به این مثال هم توجه کنید، هرچند که خالی از ایراد نیست اما برای اموزش بد نیست

baran_mehr
دوشنبه 17 اسفند 1388, 21:05 عصر
دیاگرام متن Context Diagram
اولین دیاگرام SSADM دیاگرام متن می باشد . این دیاگرام کلیات سیستم را منعکس می کند و از بیان جزئیات در این دیاگرام جداً خودداری می کنیم .

در دیاگرام متن ما سیستم را درون مربع در وسط فرم قرار می دهیم . هر فرد ، سازمان و یا ارگانی که به نحوی با سیستم در تعامل است و ما قصد داریم تعامل آن را میکانیزه کنیم را به عنوان موجودیت خارجی در نظر گرفته و درون بیضی دور سیستم قرار می دهیم . در SSADM ما می توانیم حاکثر 12 موجودیت خارجی داشته باشیم . اگر تعداد موجودیت های خارجی ما بیشتر از 12 موجودیت باشد ، سیستم را به چند بخش تقسیم کرده و برای هر بخش یک دیاگرام متن ترسیم می کنیم . به هر موجودیت یک کد نسبت می دهیم که با حروف M1,M2,M3,… مشخص می کنیم . اگر چند موجودیت تعامل یکسانی با سیستم دارند می توان آنها را با هم ترکیب کرد و تحت عنوان یک موجودیت تعامل آنها را با سیستم مشخص نمود . می توان فقط برای گزارشگیری موجودیتی که درون سیستم قرار دارد را به عنوان موجودیت خارجی در نظر گرفت . تعامل میان موجودیت های خارجی و سیستم را از طریق خطوط جریان داده ( Data Flow ) به تصویر می کشیم . این خطوط می بایست حتماً جهت دار باشند و مستقیم یا شکسته ترسیم شوند . بر روی خطوط جریان داده تعامل موجودیت خارجی و سیستم نوشته می شود . نکته اینکه از نوشتن فعل بر خط داده باید اجتناب کرد ، زیرا جهت خط نشان دهنده فعل است . در دیاگرام متن هیچ گاه تعامل میان موجودیت های خارجی را ترسیم نمی کنیم . در مواقع خاص اگر نیاز به ترسیم رابطه میان موجودیت های خارجی باشد این کار را با نقطه چین انجام می دهیم .

در انتهای دیاگرام متن نموداری تحت عنوان چارت عملیاتی ترسیم می شود که عملکرد بخشهای داخلی سیستم را به تصویر می کشد . برای شکست پروژه در SSADM قائم به فرد نیستیم بلکه قائم به عملیات هستیم .

baran_mehr
دوشنبه 17 اسفند 1388, 21:18 عصر
نمونه قرارداد


تهيه نرم‌افزار دانشگاه علوم پزشكي شيراز

به استناد نامه شماره... مورخه..... مديريت فن‌آوري اطلاعات دانشگاه علوم پزشكي شيراز اين قرارداد فيمابين دانشگاه علوم پزشكي شيراز با كد اقتصادي شماره ل 17-793-115 به نمايندگي جناب آقاي .... دانشگاه بعنوان كارفرما (خريدار) و شركت .....به مديريت به آدرس:....كه ازاين پس پيمانكار ناميده مي‌شود به شرح و شرايط ذيل منعقد مي‌گردد.

ماده1- موضوع قرارداد:

تهيه، نصب، راه اندازي و آموزش نرم‌افزار........

تبصره1: حق كپي‌رايت (License) متعلق به كارفرما مي‌باشد.

تبصره2: مدت ضمانت، پشتيباني و صحت عملكرد نرم‌افزار يكسال از تاريخ راه‌اندازي است.

تبصره3: ضمانت نرم‌افزار شامل آموزش كاربري، رفع اشكالات احتمالي و پشتيباني است.

تبصره4: چنانچه نرم‌افزار تحويل شده به كارفرما داراي تمامي قابليت‌هاي موجود درمشخصات پيوستي قرارداد نباشد بنا به تشخيص كارشناسان امر، كارفرما مي‌تواند خسارت وارده را از فروشنده اخذ نمايد. ميزان خسارت وارده با تأييد كميته نظارت بر خريد نرم‌افزار دانشگاه تعيين مي‌گردد.

ماده 2- مشخصات فني برنامه :

مشخصات فني برنامه تحت عنوان پروپوزال پيوست قرارداد مي‌باشد.

ماده 3- مبلغ كل قرارداد:

-.... ميباشد كه پس از ارائه گزارش كار و تأييد مديريت فن‌آوري اطلاعات دانشگاه و كسور قانوني قابل پرداخت ميباشد.

تبصره1- نحـوه پـرداخت:

تبصره 2: پیمانکار متعهد می‌شود نتیجۀ تحلیل سیستم را که طبق برنامه زمانبندی ارائه شده در پروپوزال (پیوست قرارداد) انجام می‌گیرد، در اختیار کارفرما قرار دهد.

تبصره3: فروشنده موظف است به ازاي مبلغ پيش پرداخت، ضمانت‌نامه به خريدار تحويل نمايد.

تبصره4: چنانچه پيمانكار در مدت قرارداد نسبت به نصب، آموزش و پشتيباني نرم افزار اقدام ننمايد به ازاي هر روز تأخير مبلغ ريال (....هزار ريال) جريمه و از مبلغ كل قرارداد كسر مي‌گردد. (اگر تأخير مورد نظر تحت‌شرايط خاصي كه شركت پيمانكار قادر به كنترل آن نباشد صورت‌گيرد، پيمانكار در اين زمينه تعهدي نخواهد داشت.)

تبصره5: پيمانكار موظف است معادل 10% كل قرارداد...... (ميليون ريال) را جهت ضمانت‌نامه حسن انجام كار موضوع قرارداد بصورت ضمانت‌نامه يا سپرده بانكي به كارفرما ارائه نمايد.

تبصره6: پرداخت كليه كسور قانوني اعم از بيمه، ماليات، عوارض و ... به عهده فروشنده ميباشد.

ماده 4-مدت قرارداد:

مدت قرارداد ......پس از امضاء قرارداد است.

تبصره1: مدت شروع گارانتي پس از نصب و راه اندازي نرم‌افزار مي‌باشد.

ماده 5- تعهدات پيمانكار :

الف- پيمانكار متعهد مي‌شود تمامي آنچه را كه بعنوان اهداف نرم‌افزار، ويژگي‌ها و اجزاء نرم‌افزار، فرآيند جمع‌آوري اطلاعات در نرم‌افزار، فرآيند تهيه گزارشات آماري در نرم‌افزار، فن‌آوري‌هاي توليد نرم‌افزار و امكانات نرم‌افزار مطابق طرح پيشنهادي خود بيان نموده است محقق سازد.

ب- پيمانكار متعهد مي‌شود تمامي آنچه را كه به عنوان روش و زمان‌بندي استقرار و عملياتي نمودن سيستم در سازمان مطابق طرح پيشنهادي خود عنوان نموده است محقق سازد.

ث-پیمانکار متعهد می‌شود نتیجۀ تحلیل سیستم را که طبق برنامه زمانبندی ارائه شده در پروپوزال (پیوست قرارداد) انجام می‌گیرد، در اختیار کارفرما قرار دهد.

ج- پيمانكار متعهد مي‌شود آموزش‌هاي لازم را طبق طرح پيشنهادي خود در محل دانشگاه علوم پزشكي شيراز و با هماهنگي و نظارت مديريت فن‌آوري اطلاعات دانشگاه ارائه دهد.

چ- پيمانكار متعهد مي‌شود كه مشخصات بهينه سخت‌افزاري server و تنظيمات لازم نرم‌افزاري را بصورت مشروح و مستند در اختيار كارفرما قرار دهد.

ح- در صورت هرگونه اشكال در سيستم نرم‌افزاري پيمانكار موظف است ظرف حداقل (48 ساعت)با هماهنگي كارشناسان مديريت فن‌آوري اطلاعات جهت رفع اشكال اقدام نمايد. در غيراينصورت برابر نظريه كارشناس ميزان خسارت وارده محاسبه و از سپرده حسن انجام كار وي موضوع ماده 3 تبصره 5 كسر خواهد شد.

خ-پيمانكار متعهد مي‌شود كه تحليل كامل و جامع سيستم را با استاندارد UML انجام داده و آن را در اختيار كارفرما قرار دهدد- پيمانكار متعهد مي‌شود كليه مستندات آموزشي را بصورت كتابچه در اختيار كارفرما قرار دهد.

ذ- چنانچه كارفرما در طول مدت قرارداد و يكسال ضمانت نرم‌افزار فوق ‌احتياج به تجهيزات جديد داشته باشد، پيمانكار ملزم به تهيه آن در قبال ارائه فاكتور هزينه‌هاي مربوطه مي‌باشد و كارفرما پس از بررسي نسبت به پرداخت وجه آن اقدام خواهد نمود.

ز- پيمانكار موظف است درصورت لزوم نيروهاي متخصص خود را در ساعت‌هاي كاري در ساختمان مركزي دانشگاه مستقر نمايد.

س- پيمانكار متعهد می‌شود تعهدات ناشي از اين قرارداد را براساس استاندارهاي معمول وحرفه اي و مورد تائيد ناظر و مديريت فن‌آوري اطلاعات انجام دهد.

ش- پيمانكار موظف است طي نامه رسمي نماينده يا نمايندگاني را جهت ارتباط رسمي به كارفرما معرفي نمايد.

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

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

ط- پيمانكار حق واگذاري يا انتقال موضوع قرارداد را بدون موافقت كارفرما كلاً يا جزئاً به اشخاص حقيقي يا حقوقي ديگر ندارد.

ع- ارائه خدمات پشتيباني به مدت 10 سال به عهده پيمانكار مي‌باشد كه پس از يكسال ضمانت پشتيباني، قرارداد پشتيباني جداگانه منعقد خواهد شد.

غ- پيمانكار موظف است مجوز رسمي خود را كه از شوراي عالي انفورماتيك كشور اخذ نموده است، به كارفرما ارائه نمايد.

ماده6- تعهدات كارفرما:

الف- تهيه قطعات سخت افزاري مورد لزوم به عهده كارفرما و در صورت تهيه قطعه بوسيله پيمانكار هزينه خريد آن براساس ارائه فاكتور پرداخت خواهد بود.

ب- كارفرما متعهد مي شود شخص يا اشخاص داراي صلاحيت فني را كه به تائيد مديريت فن‌آوري اطلاعات دانشگاه رسيده باشند به عنوان نماینده به پيمانكار معرفي نمايد.

ت- كارفرما متعهد ميگردد كه از داده‌هاي خود كپي پشتيبان تهيه نمايد. در صورت عدم تهيه نسخه پشتيبان توسط كارفرما و بروز نقص يا از بين رفتن بانك اطلاعاتي، پيمانكار تعهدي ندارد اما براي بازيابي اطلاعات همكاري مي‌نمايد.

ماده 7: كارفرما مي‌تواند در صورت صلاحديد قرارداد را يك جانبه فسخ نمايد.

ماده 8: كارفرما مي‌تواند مبلغ ريالي حجم عمليات اين قرارداد را تا 25% كاهش يا افزايش دهد.

ماده 9: در صورت بروز اختلاف، موضوع بدواً در جلسه مشترك بررسي و در صورت عدم توافق از طريق اداره حقوقي دانشگاه رسيدگي و چنانچه رفع اختلاف نشد از طريق مراجع قضائي اقدام خواهد شد.

ماده10: پيمانكار موظف است تعهدات خود را برابر شرايط و ضوابط تعيين شده در قرارداد از طرف كارفرما يا مديريت فن‌آوري اطلاعات دانشگاه به انجام برساند بديهي است در صورتيكه پيمانكار در انجام تعهدات خود كوتاهي نمايد، كارفرما مختار است براي بار اول از اولين دريافتي پيمانكار به ميزان دوبرابر خسارت وارده كسر نمايد. تعيين ميزان خسارت بعهده كارشناس ذيصلاح خواهد بود و در صورت تكرار ، قرارداد را يكجانبه فسخ و سپرده وي را به نفع دولت ضبط نمايد.

ماده 11: در صورتيكه پيمانكار به دلايلي تمايل و توانائي لازم جهت انجام تعهدات موضوع قرارداد را ندارد ميبايست مراتب كتباً به كارفرما اعلام نمايد.

ماده 12-مسئولیت‌های حقوقی: مسئوليتهاي حقوقي و جزائي ناشي از روابط كار و مقررات قانون تأمين اجتماعي به عهده پيمانكار بوده و در اين زمينه كارفرما هيچگونه مسئوليتي را عهده‌دار نيست، بديهي است اين امر، رافع مسئوليتهاي شخصي افراد در مقابل قوانين حقوقي و جزائي نميباشد.

ماده13 - قانون منع مداخله کارکنان دولت: پيمانكار متعهد مي‌گردد مشمول ماده 31 قانون منع مداخله كاركنان دولت مصوب ديماه 1337 نباشد.

ماده14 - نشانی پیمانکار : اقامتگاه قانوني شركت و شماره تلفن همان است كه در عنوان قرارداد ذكر شده و چنانچه نامه‌اي به شركت ارسال گردد ابلاغ شده تلقي گرديده و پيمانكار متعهد است در صورت تغيير محل و يا شماره تلفن مراتب را حداكثر ظرف مدت 48 ساعت پس از جابجائي و تغيير مكان كتباً به كارفرما اعلام نمايد.

ماده -15: ساير شرايط و مواردي كه در اين قرارداد پيش‌بيني نشده است تابع احكام كلي و شرايط عمومي مربوط به قراردادها و قوانين جاري مملكت بوده و لازم الاتباع مي باشد.

ماده 16: اين قرارداد در16 ماده، 12 تبصره، 5 نسخه و 6 صفحه تنظيم و هر نسخه حكم واحد را دارد.

1.مجري 2. كار فرما





3.مدير فن آوري اطلاعات دانشگاه 4. مدير خدمات پشتيباني دانشگاه





5.مسئول امور قراردادها 6. رئيس اداره حقوقي و املاك دانشگاه





7.مسئول حسابداري مديريت خدمات پشتيباني دانشگاه

baran_mehr
دوشنبه 17 اسفند 1388, 21:30 عصر
مستندات دیاگرام متن
مستندات لازم برای تکمیل دیاگرام متن شامل فرمهای لازم برای تشریح موجودیتهای خارجی و شرح خطوط جریان است .
همانطور که در تصویر مشاهده می کنید در فرم تشریح موجودیتهای خارجی ما تمامی موجودیتهای خود را تعریف می کنیم .
فرم تشریح خطوط جریان شامل پنج ستون است که توضیح آن به شرح زیر است :
· از : مبدا خطوط جریان می باشد . اگر مبدا خود سیستم باشد از " - " استفاده می کنیم .
· به : مقصد خطوط جریان می باشد . اگر مقصد خود سیستم باشد از " - " استفاده می کنیم .
· نام خط جریان :کلمه یا کلماتی است که بر روی خط جریان نوشته می شود که هدف خط جریان را در دیاگرام متن تشریح می کند .
· شرح خط جریان : شرح کامل خط جریان در این ستون نوشته می شود .
· مرجع : مرجع در واقع شماره فرمی است که در سیستم دستی از آن استفاده می شود . ما در ابتدای تجزیه و تحلیل خود باید تمامی فرمهایی که در سیستم دستی مورد استفاده قرار می گیرد را جمع آوری کرده و آنها را شماره گذاری کنیم .

baran_mehr
جمعه 13 فروردین 1389, 08:25 صبح
اینم یه کتاب درباره نمودار ER و مدل رابطه ای و پایگاه داده ها....
دانلود (http://www.4shared.com/file/254958716/99d0d647/newdatabase.html)

arezoo saadati
دوشنبه 13 اردیبهشت 1389, 14:21 عصر
سلام میشه بگین تفاوت بین موجودیت قوی و موجودیت ضعیف در عمل چیه؟

baran_mehr
دوشنبه 13 اردیبهشت 1389, 15:39 عصر
سلام
ببینید همونطور که قبلا گفتم میتونم موجودیت رو اینطور تعریف کنیم که چیزی که بطور مجزا قابل شناسایی است.
موجودیت ضعیف وابسته هست به یک موجودیت های دیگه یعنی عدم وجود موجودیت های دیگه باعث از بین رفتن موجودیت ضعیف خواهد شد.
با این وضعیت اگر موجودیت ضعیف (B) وابسته به موجودیت A باشه در صورتی که موجودیت A حذف بشه موجودیت B نیز حذف خواهد شد. (یادمون باشه که صرفا وابسته بودن موجودیت B به A دلیل ضعیف بودن B نیست که از صحبت درباره این قضیه پرهیز میکنیم)
حالا میتونیم بگیم که موجودیت قوی موجودیتی هست که ضعیف نباشه و به طور جداگانه و مستقل وجود داشته باشه
به این تصویر نگاهی بندازید

baran_mehr
سه شنبه 14 اردیبهشت 1389, 22:26 عصر
ارتباط
موجودیت های هر محیط عملیاتی با هم ارتباطاتی دارند. ارتباط وابستگی بین چند موجودیت را نشان می دهد. یک ارتباط (relationship) یک وابستگی معنی دار بین دو يا چند نوع موجودیت مختلف است.

ارتباطات معادل افعال یا مفاهيمی نظیر خرید کردن، تعمیر کردن، عضو بودن، رئیس یک سازمان بودن هستند.

ارتباط در نمودار ER توسط خطوط مشخص می شود. نوع ارتباط ممکن است روی خط يا درون يک لوزی نوشته شود.

ممکن است موجودیت هائی داشته باشیم که توسط دو یا چند ارتباط متفاوت بهم مربوط شده اند.

مثال. استاد درس را تدريس می کند. درس توسط استاد تدریس می شود. تدريس ارتباط بين موجوديت استاد و درس را مشخص می کند.

baran_mehr
سه شنبه 14 اردیبهشت 1389, 22:29 عصر
درجه ارتباط
تعداد موجودیت هائی که در یک ارتباط شرکت می کنند درجه ارتباط (degree) نامیده می شود.

اگر دو نوع موجودیت به هم مربوط شوند ارتباط از درجه دو است و ارتباط دوتائی (binary) ناميده می شود

ارتباطات دوتائی معمولترين نوع در دنيای واقعی هستند.

اگر سه نوع موجودیت درگیر باشند ارتباط از درجه سه است و ارتباط سه تائی (ternary) نامیده می شود. ارتباطات سه تائی اکثرا به دو يا چند ارتباط دوتائی تجزيه می شود


--------------------------------------------------------------------------------

مثال. يک فروشنده محصولی را به يک مشتری می فروشد. اين يک ارتباط از درجه 3 است.


اين ارتباط سه تائی را می توان به چند ارتباط دو تائی تجزيه کرد. موجودیت جدیدی را با نام فروش جایگزین ارتباط می فروشد می شود. حالا فروشنده می تواند به مشتری پیوند بخورد.

baran_mehr
سه شنبه 14 اردیبهشت 1389, 22:31 عصر
مراحل ساخت مدل ER
قبل از شروع به رسم دياگرام، نيازمندی های سيستم بايد مشخص و مستند شده باشد. سپس مراحل زير برای رسم نمودار ER طی می شود:

1. تعيين موجوديت ها. کليه موجوديت های بالقوه و اشيائی که در سيستم مورد توجه هستند را ليست کنيد.
• مطمئن شويد که انواع موجوديت متفاوت از هم هستند و موجوديت های تکراری را حذف کنيد.
• خود سيستم را به عنوان يک نوع موجوديت در نظر نگيريد(مثلا کتابخانه در سيستم کتابخانه).
2. تعيين صفات خاصه. صفات خاصه هر نوع موجوديت را ليست کنيد.
• مطمئن شويد که هرنوع موجوديت واقعا مورد نياز است.
• انواع موجوديت ها مجموعه صفات خاصه مشابه نبايد داشته باشند.
3. برقراری کليد اوليه. صفت خاصه منحصر بفرد در هر نوع موجوديت را تعيين کنيد.
4. تعريف ارتباطات. هر نوع موجوديت و ارتباطات آن با بقيه را بررسی نماييد.
5. تعيين درجه ارتباط، کارديناليتی و اختياری بودن ارتباطات. قيدهای بين موجوديت های شرکت کننده در هر ارتباط را بازبينی کنيد.
6. ارتباطات اضافه را حذف کنيد.

baran_mehr
سه شنبه 14 اردیبهشت 1389, 22:34 عصر
به دوستانی که میخوان درباره مفاهیم پایگاه داده هم مطالبی داشته باشن پیشنهاد میکنم به سایت زیر سری بزنن
مفاهیم پایگاه داده ها (http://www.jafary.net/Lessons/index.htm)

barane raha
دوشنبه 27 اردیبهشت 1389, 18:50 عصر
سلام به دوستان عزيز
با تشكر از اينكه دانسته هايتان را بي دريغ در اختيار همگان قرار مي دهيد و حقيقتا زكات علمتان را مي پردازيد.
لطف كنيد در آخر مطالبي كه مي نويسيد و اطلاعات علمي خود را در اختيار دوستان قرار مي دهيد منابع مورد استفاده خود را نيز ضميمه كنيد.
همواره موفق و پايدار باشيد.
يا حق

baran_mehr
یک شنبه 09 خرداد 1389, 08:27 صبح
سلام به همه ی دوستان گلم.
منابعی که من ازش استفاده میکنم کتاب و اینترنت هست.
کتاب پایگاه داده ها **مولف مهندس جباریه و مهندس شمشادی **ناشر:اتحاد
مفاهیم بنیادی پایگاه داده ها ** سید محمد تقی روحانی راندکوهی **انتشارات جلوه
و کتابهای مهندسی نرم افزار

baran_mehr
دوشنبه 17 خرداد 1389, 21:41 عصر
مشکل تصمیم گیری و چند نکته راهنما
تصمیم گیری درباره اینکه یک مفهوم باید نوع موجودیت در نظر گرفت یا نوع ارتباط و یا صفت همه آسان نیست.
برای تصمیم گیری درباره یک مفهوم توجه به این نکات سورمند می باشد:

1- اگر یک مفهوم در ابتدا یک صفت از یک نوع موجودیت به نظر می آید ،نرا به عنوان صفت در نظر میگیریم، اما اگر این صفت ارجاع به نوع موجودیت دیگری هم داشته باشد در این صورت آنرا یک نوع ارتباط منظور میکنیم.

2- اگر یک یا چند صفت در چند نوع موجودیت مشترک باشند آنرا به عنوان یک نوع موجودیت مستقل منظور میکنیم.

امیدوارم این دو نکته به دردتون بخوره
مطمئنا تو رسم مدلسازی ER به این دو نکته به کرات بر خواهید خورد

baran_mehr
چهارشنبه 19 خرداد 1389, 16:21 عصر
2- اگر یک یا چند صفت در چند نوع موجودیت مشترک باشند آنرا به عنوان یک نوع موجودیت مستقل منظور میکنیم.
درباره این نکته بد نیست مثالی بزنم
فرض کنید در حال طراحی سیستم یک اداره هستید(مثلا مخابرات) که در آن موجودیت های مختلفی از قبیل کارمند،حسابداری،متقاضی،مد یریت و ... وجود دارد و شما برای هر موجودیت صفاتی را برسی و انتخاب میکنید.

کارمند: شماره کارگزینی،سابقه ماموریت ،سابقه کاری،سمت، نام ،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه ، کد ملی،آدرس،...

متقاضی: نام،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه،کد ملی،آدرس،سابقه مزاحمت،اشتراکهای قبلی....

خوب مشاهده میکنید که صفت های(نام،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه،کد ملی،آدرس) در هر دو موجودیت تکرار شده است
برای بهتر و اصولی شدن کار ما این صفات را جدا کرده و یک موجودیت با نام شخص ایجاد میکنیم و به موجودیتهای کارمن و متقاضی ارتباط می دهیم.
امیدوارم این مطلب براتون مفید بوده باشه

baran_mehr
یک شنبه 13 تیر 1389, 22:12 عصر
مدیریت داده ها و مدیریت پایگاه داده ها
در یک سیستم بانک اطلاعاتی بزرگ،چند نفر وجود خواهند داشت که وظیفه کنترول مرکزی را بر عهده بگیرند و مسئولیت مرکزی را انجام دهند:شخصی که مسئول اداره داده ها هست رو مدیر داده ها (به اختصار DA می نامند )
توجه داشته باشید که اداره کننده داده ها DA یک مدیر است و نه یک تکنسین، شخص تکنسین مسئول پیاده سازی تصمیمات مدیر داده ها است که اغلب مدیر پایگاه داده ها (یا به اختصار DBA) نامیده می شود.
بنابراین DBA برخلاف مدیر داده ها، یک شخص حرفه ای در پردازش داده ها می باشد.
وظیفه DBA ایجاد پایگاه های داده واقعی و پیاده سازی کنترول های تکنیکی مورد نیاز برای اعمال تصمیمات مدیر داده هاست.
DBA از میان برنامه نویسان سیستم ها و سایر افراد حرفه ای انتخاب می شود.

DA == Data Administrator
DBA == DataBase Administrator

baran_mehr
یک شنبه 13 تیر 1389, 22:25 عصر
DBMS
بین بانک اطلاعاتی فیزیکی (داده هایی که به طور واقعی ذخیره شده اند) و کاربران سیستم ،لایه ای از نرم افزار وجود دارد که آن را database manager یا معمولا database management system به اختصار DBMS می نامند.
تمام درخواست های کاربران برای دسترسی به بانک اطلاعاتی توسط DBMS پاسخ داده می شود.
قابلیتهایی که برای اضافه کردن و حذف کردن فایلها یا جدولها ،بازیابی یا به هنگام سازی داده ها در چنین فایلها یا جدولها وجود دارند همگی قابلیت های ارائه شده توسط DBMS هستند.
یکی از وظایف عمومی DBMS محافظت کاربران بانک اطلاعاتی از درگیری با جزئیات سطح سخت افزاری است، به عبارت دیگر DBMS برای کاربران دیدگاهی از بانگ اطلاعاتی فراهم میکند که در بالای سطح سخت افزاری قرار دارد و از عملیات کاربر که بر اساس دیدگاه سطح بالاتر است پشتیبانی میکند
موفق باشید:تشویق:

sona10
سه شنبه 11 آبان 1389, 12:45 عصر
سلام دوستان
یه خواهشی دارم ازتون
میشه لطف کنین یه مثال از نمودار ER یعنی همون شکل ابتدایی که با مستطیل و لوزی اینا رسم میشه برام بزارین.
پروژه درس آز پایگاه مه .عجله دارم لطفا کمکم کنین.

baran_mehr
سه شنبه 11 آبان 1389, 14:00 عصر
منظورتون از مستطیل و لوزی اینا همون dfd هست دیگه:لبخند:
اینم چند تا تصویر به عنوان مثال:
ادرس یک (http://goesarymanuaba.files.wordpress.com/2009/04/simbol.jpg) و ادرس دوم (http://asd-www.larc.nasa.gov/SCOOL/gifs/DFD.jpg)

aboualfazl
دوشنبه 17 آبان 1389, 14:59 عصر
سلام دوست عزیز.
لطفا سوالات و یا پاسخ های خودتون را فارسی تایپ کنید تا از طرف مدیر بخش حذف نشه.
فرق dfd یک و dfd نهایی تو چندتا چیزه. معمولا تو دیاگرام اول یه نمای کلی رو نمایش میدن و درباره بخشهای کوچیکتر اون صحبتی نمیشه اما ددر دیاگرام نهایی تمامی قسمتها و بخشهای کوچک و بزرگ و ارتباطهای اونها با سایر بخشها هم نمایش داده میشه.
سعی میکنم در این باره یه سری مطلب براتون بزارم.
با سلام.یک er دارم.اگر لطف کنید و برای من اون رو به dfd سطح 0 و 1 تبدیل کنید.متشکرم.بای
http://www.barnamenevis.org/forum/attachment.php?attachmentid=48364&d=1272892174

baran_mehr
دوشنبه 17 آبان 1389, 15:55 عصر
یا علی:لبخندساده: حداقل لینک عکس میزاشتی
دوست عزیز تو پست قبلی که گذاشتم دو تا تصویر هست که میتونی ازش استفاده کنی برای رسم dfd سطح یک و صفر
درواقه شما به طور کلی باید نمایش بدی که چیکار میکنه این سیستمتون
مثلا مشتری درخواست جنس میکنه و پایخ درخواست به اون و یا برسی وجود کالا داخل انبار و ...
شما میتونید این نمودارتون رو بزرگتر کنید، درواقع باید این کار رو انجام بدید مثلا قسمت حسابداری یا فروشنده و ...

parastuoo
دوشنبه 24 آبان 1389, 20:56 عصر
سلام دوستان

من میخوام ER سیستم آموزش دانشگاه رو بکشم میخواستم بهم تو پیدا کردن موجودیت ها و رابطه بین اونها کمکم کنین.

baran_mehr
دوشنبه 24 آبان 1389, 21:36 عصر
موجودیت هایی که به ذهنم میره اینهاست:
استاد - درس - گروه درسی - گروه اموزشی - دانشجو - کارمند
درس:پیشنیاز - همنیاز - کتاب درسی
استاد: سابقه ماموریت - سابقه فرصت مطالعاتی - اثر منتشره - پروژه های تحقیقاتی
دانشجو:وام - سابقه مهمان شدن - رشته تحصیلی
و....

parastuoo
دوشنبه 24 آبان 1389, 21:54 عصر
منظورم خود قسمت آموزش دانشگاست که چیکار میکنه و با کدوم قسمتا در ارتباطه!

baran_mehr
دوشنبه 24 آبان 1389, 23:41 عصر
خوب مثلا
اموزش با درس ==>ارائه درس
اموزش با کارمند ==> اشتغال
اموزش با استاد ==> مدیریت
اموزش با گروه درسی ==>تدریس

baran_mehr
پنج شنبه 11 آذر 1389, 12:02 عصر
انواع نرم افزارها:
نرم افزارهای سیستمی
real-time software (نرم افزارهای بلادرنگ)
business software (نرم افزارهای تجاری)
engineering/scientific software (نرم افزارهای علمی و مهندسی)
embedded software (نرم افزارهای نهفته یا تعبیه شده)
PC software (نرم افزارهای کامپیوترهای شخصی)
AI software (نرم افزارهای هوش مصنوعی)
Web applications (نرم افزارهای کاربردی تحت وب)

هزینه های نرم افزار شامل:
هزینه های نرم افزار معمولاً هزینه های سیستم را کنترل می کند. هزینه های نرم افزاری بر روی یک کامپیوتر شخصی اغلب از هزینه های سخت افزاری بیشتر است.
هزینه های نرم افزاری مربوط به نگهداری نرم افزار از تولید آن بیشتر است. برای سیستم هایی با دوره زندگی بزرگ، هزینه های نگهداری ممکن است چندین برابر هزینه های تولید آن باشد.
مهندسی نرم افزار، تولید مقرون به صرفه یک نرم افزار را مدنظر دارد.

مهندسی نرم افزار: مهندسان نرم افزار باید رویکردی سیستمی و سازمان یافته به کار خود داشته باشند و از ابزارها و تکنیک های مناسب، مطابق با مشکلی که باید حل شود، محدودیت های تولید و منابع دردسترس استفاده نمایند.
اقتصاد تمامی کشورهای توسعه یافته وابسته به نرم افزار است
سیستم ها به طور فزاینده ای توسط نرم افزارها کنترل می شوند
مهندسی نرم افزار شامل تئوری ها، متودها و ابزارهایی برای تولید حرفه ای نرم افزار می باشد.
هزینه مهندسی نرم افزار نشاندهنده یک بخش قابل توجه ای در تولید خالص ملی کلیه کشورهای توسعه یافته می باشد.

baran_mehr
پنج شنبه 11 آذر 1389, 12:06 عصر
فرآیند تولید نرم افزاری یا متدولوژی نرم افزاری:مجموعه ای از فعالیت ها که هدف آن ها توسعه و تکامل تدریجی نرم افزار می باشد
فعالیت های اصلی فرآیند تولید نرم افزار عبارتند از:
تحلیل، طراحی، پیاده سازی و تست و نگهداری و استقرار

مدل فرآیند:روش خاصی که 4 مرحله تحلیل، طراحی، پیاده سازی و تست و نگهداری و استقرار انجام می شود.
تفاوت مدل های مختلف فرآیند در ترتیب و تاخر انجام این کارهاست.

انواع مدل های تولید نرم افزار:
مدل ترتیبی خطی (The Linear Sequential Model)

مدل نمونه سازی (Prototyping)

مدل تولید سریع نرم افزار (Rapid Application Development)

مدل های تکاملی تولید نرم افزار


مدل حلزونی (Spiral Model)

مدل حلزونی Win Win

مدل مونتاژ مولفه ها (Component Assembly Model)

مدل توسعه همروند (Concurent Development Model)

baran_mehr
جمعه 12 آذر 1389, 08:42 صبح
اصول و مفاهیم طراحی

1) انتزاع : در طراحی سطح انتزاع را گام به گام کاهش می دهیم تا به پیاده سازی نزدیک شویم .

2) پالایش : در هرگام جزء جدیدی به مسئله اضافه می کنیم.

3) خاصیت پیمانه ای : هر طراحی خوب باید این خاصیت را درنظر بگیرد.

توجه کنید که پیمانه ها ، تست و خطایابی را آسان کرده و انتشار خطا را کاهش می دهند.

البته استفاده از پیمانه ها همیشه به صرفه نیست زیرا با افزایش تعداد پیمانه ها هزینه مجتمع سازی و برقراری ارتباط بین پیمانه ها را بیشتر می شود.

4) معماری : همبندی مؤلفه های نرم افزار .

5) سلسله مراتب کنترل : سلسله مراتب کنترل نحوه ی انتقال کنترل بین پیمانه ها را نشان می دهد.

6) تقسیم بندی : در تقسیم بندی باید تعداد fan in ها را بیشتر کنیم و سعی کنیم تعداد fan out ها را افزایش ندهیم.

7) ساختمان داده ها : ساختمان داده رابطه منطقی میان عناصر داده ای را مشخص می کند . ساختمان داده ، سازماندهی ، روش های دستیابی و راه های گوناگون پردازش را نشان می دهد.

8) رویه نرم افزار : در طراحی رویه ها جزئیات پردازشی و منطق هر یک از پیمانه ها، ترتیب اجرای دستورات، شرط ها و غیره بیان می شود .

9) پنهان سازی اطلاعات : یک طراحی خوب منطق و جزئیات پیمانه ها را از یکدیگر پنهان می کند و ارتباط پیمانه ها را از طریق interface برقرار می کند.


مدل ERD:

1- تشخیص انواع موجودیت ها (موجودیت می تواند داده یا کنترل باشد.)

2- تشخیص ارتباط میان هر زوج موجودیت

3- تشخیص انواع ارتباطات میان هر زوج موجودیت

4- تشخیص درجه و الزام ارتباط (تشخیص یک به یک، یک به چند، چند به چند بودن ارتباطات)

5-تشخیص صفات موجودیت ها (صفت شناسه ، صفات توصیفی ، صفات ارجاعی)

6- FTR

مدل DFD :

راهنمای علائم به کار رفته در نمودارDFD:

فلش بیانگر داده ،

دایره بیانگر فرایند ،

دو خط موازی بیانگر مکان ذخیره سازی،

مستطیل بیانگر موجودیت خارجی می باشد .

سطوح مختلف DFD:

1) DFD سطح صفر: بهDFD سطح صفر Contex Diagram گفته می شود و یک نمای کلی از سیستم را نشان می دهد . در این سطح موجودیت های داخلی و خارجی را به همراه ورودی و خروجی آورده و از قراردادن مکان ذخیره سازی اجتناب می کنیم

2) DFD سطح 1 : در این سطح می توان در صورت نیاز مکان ذخیره سازی را در دیاگرام رسم کرد. در این سطح سیستم به اجزای کوچکتری شکسته می شود.

نکته: تعداد ورودی و خروجی ها در هر سطح باید با هم تطابق داشته باشد.

3) DFD سطح 2 : در این سطح خود زیرسیستم ها نیز به اجزای کوچکتر شکسته می شوند .

عمل شکستن را تا جایی ادامه می دهیم که منطق آن قابل فهم و قابل کدنویسی باشد .

مدل CFD :

دو روش برای رسم این نمودار وجود دارد:

1) در مدل DFD کنترل یا رخدادها را با خط چین نشان دهیم.

2) روش مرسوم آن است که DFD را رسم کنیم سپس تمام داده های ورودی را حذف کنیم و دوباره روی کنترل هایی که در سیستم وجود دارد فکر کنیم.

در این حالت Event های خروجی به هیچ فرآیندی متصل نمی شوند و آن را به Cspec متصل می کنیم.

در Cspec جدولی به نام Pat وجود دارد که حاوی توضیحات مربوط به کنترل هاست و مشخص می کند که هر کنترل به کدام فرآیند وارد می شود.

توجه کنید که رویداد موجب فعال سازی فرایند نمی شود و مثل داده عمل می کند.

مدل STD :

این نمودار حالتهای مختلف نرم افزار را نشان می دهد.

از مستطیل برای نمایش حالت پایدار سیستم (State) و از فلش برای حرکت بین حالات استفاده می کنیم . وقفه باعث رفتن از یک حالت به حالت دیگر می شود.

baran_mehr
جمعه 12 آذر 1389, 08:53 صبح
روش آبشاری (waterfall) :
این روش اولین روش مهندسی نرم افزار محسوب میشود و گاهی آنرا روش سنتی نیز می‌نامند. هر روش مهندسی معمولا شامل 5 پروسه اصلی است که عبارتند از آنالیز سیستم، طراحی سیستم، کدنویسی و اجرا، تست و تحویل و پشتیبانی . این 5 پروسه در روش آبشاری به ساده ترین شکل بیان میشوند. بدین ترتیب که هر فاز از پروسه ی کلی، انجام میشود و بعد فاز بعدی آغاز میشود. این روش در پروژه هایی کاربرد دارد که فاز اول که آنالیز است توسط مهندس نرم افزاری که کار تحلیل را بر عهده دارد کاملا شناخته شود و طراح کاملا نیازمندی های سیستم مربوطه را بداند تا در فاز بعدی بتواند طراحی معماری سیستم را آغاز کند. در عکس زیر نمودار عملیاتی روش آبشاری را مراجعه میکنید. گرچه در هر مرحله امکان برگشت به مرحله قبل گنجانده شده، اما این برگشت هزینه ی بسیاری را بر دوش تیم نرم افزاری میگذارد. زیرا هر تغییر در مرحله قبل، میتواند باعث شود تا پروژه در فاز بعدی نیازمند شروع از ابتدا باشد.

baran_mehr
جمعه 12 آذر 1389, 08:55 صبح
روش افزایشی (Incremental):
این روش برای زمانی است که نیازمندی های نرم افزاری که باید نوشته شود تشخیص داده شده است ، اما امکان استفاده از روش رو به جلوی آبشاری وجود ندارد.به همین دلیل با ترکیب چند پروسه ی آبشاری، روش افزایشی ایجاد میشود. بطور مثال شما میخواهید یک نرم افزار مانند word بنویسید. در هر مرحله بخشی از نرم افزار را از آنالیز تا پیاده سازی و تست پیش می برید و بار بعدی امکانات جدیدی را در نظر میگیرید تا به نرم افزار اضافه کنید. امکانات ضروری تر در اولویت بالاتر اجرا قرار می گیرند.

baran_mehr
جمعه 12 آذر 1389, 08:57 صبح
روش R.A.D :
این روش زیر مجموعه روش افزایشی است و بر روی چرخه ی کوتاه مدت تولید نرم افزار تاکید دارد. در این روش از برنامه نویسی با استفاده از کامپوننت های آماده بیشترین بهره را می بریم تا سرعت تحویل پروژه را افزایش دهیم . معمولا پروژه هایی با این روش اجرا میشوند که کمتر از 90 روز وقت می گیرند و برای افزایش سرعت از تیم های موازی نیز برای اجرا کمک میگیریم تا هر تیم بخشی از نرم افزار را اجرا کند و نهایتا آن بخش ها را با هم یکپارچه میکنیم. با توجه به اهمیت سرعت در این مدل ، افراد تیم باید همگی زبده باشند تا بتوانند بدون هدر رفتن وقت پروژه را در موعد مقرر تحویل دهند. همانطور که در تصویر زیر میبینید پروژه توسط چند تیم در حال پیشبرد است:

baran_mehr
جمعه 12 آذر 1389, 08:58 صبح
روش الگویی (prototyping) :
این روش معمولا زمانی بکار گرفته میشود که مشتری مجموعه ای از نیازها را بیان میکند ، اما از ورودی و خروجی ها و الگوریتم های داخلی اش اطلاع کافی ندارد. با توجه به اینکه معمولا اولین نسخه ی هیچ نرم افزاری کامل نیست و نیازمند بازنگری است، این روش با چرخه ی تولید و تست خود باعت میشوند ایرادات نرم افزار استخراج و رفع شود. اما گاهی خارج شدن از این سیکل (با توجه به بالارفتن سطح توقع مشتری) سخت میشود.

baran_mehr
جمعه 12 آذر 1389, 09:00 صبح
روش حلزونی (spiral) :
این روش ترکیبی از روش سیستماتیک آبشاری و روش prototyping است. در این روش نرم افزار طی چندین نسخه ی ارائه شده به تکامل می رسد. در هر مرحله ریسک های پروژه با جزئیات بررسی میشوند. همانطور که درنمودار زیر میبینید، کلیه ی مراحل انجام پروژه در هر گردش در سایز بزرگتری اجرا میشوند.

abdolsalam
یک شنبه 14 آذر 1389, 18:18 عصر
پروزه در مورد نمودار er ویک نمونه نمودار er برایم بفرستید

baran_mehr
سه شنبه 16 آذر 1389, 08:58 صبح
دوست عزیز این همه پست گذاشتم برای چی؟؟ برای اینکه اخر هم خودم بیام نمودار طراحی کنم!!:لبخند:
بابا یکم هم دست به قلم بشید، امروز من فردا یکی دیگه بلاخره تا کی میخواین پروژه هاتونو به این و اون بدید؟:متفکر:

aminnoura
سه شنبه 30 آذر 1389, 05:05 صبح
سلام. پست هات خیلی جالب بودن. واقعا ممنون
امروز بعد از ظهر میان ترم دارم بعضی چیزا رو نمی فهمیدم که اینجا یک سریش رو پیدا کردم. دمت گرم.

http://www.aminnoura.com
http://www.aminnoura.net

amingole
چهارشنبه 21 اردیبهشت 1390, 17:11 عصر
baran_mehr (http://barnamenevis.org/member.php?57508-baran_mehr) salam vaghean azatun moteshakeram kheyli kheyli bahali

ROSONERI87
سه شنبه 19 مهر 1390, 15:44 عصر
سلام
میشه مدل ER و سند یه رستوران رو بذارین
ممنون

ehsanocx
چهارشنبه 27 مهر 1390, 16:54 عصر
سلام. وقتتون بخیر.میشه نمودار و تجزیه و تحلیل مربوط به یک ویدئو کلوپ رو برام بذارید. ممنون میشم

baran_mehr
چهارشنبه 27 مهر 1390, 21:50 عصر
سلام به همه
از دوستان عزیز خواهش میکنم درخواست پروژه نکنند
این همه تاپیک برای این گذاشته شده که شما خودتو یه پروژه رو طراحی کنید

baran_mehr
شنبه 24 دی 1390, 13:36 عصر
سلام به همه دوستان عزیز
بعد از یه مدتی که به علت مشغله کاری حضور کمی داشتم اینبار براتون یه نمونه از رابطه er مخابراتو میزارم
امیدوارم بتونه کمک خوبی برای یادگیری باشه

elina-a
پنج شنبه 04 اسفند 1390, 16:04 عصر
ميشه بگین ضعف مدل ER چیه؟

mohandese_javan
دوشنبه 13 شهریور 1391, 11:30 صبح
سلام
خیلی خوب بود
ممنون
ولی اگه مطالب تاپیک تبدیل به یه PDF بشه خیلی بهتر میشه!

gholami.vahid
سه شنبه 13 فروردین 1392, 17:41 عصر
درباره این نکته بد نیست مثالی بزنم
فرض کنید در حال طراحی سیستم یک اداره هستید(مثلا مخابرات) که در آن موجودیت های مختلفی از قبیل کارمند،حسابداری،متقاضی،مد یریت و ... وجود دارد و شما برای هر موجودیت صفاتی را برسی و انتخاب میکنید.

کارمند: شماره کارگزینی،سابقه ماموریت ،سابقه کاری،سمت، نام ،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه ، کد ملی،آدرس،...

متقاضی: نام،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه،کد ملی،آدرس،سابقه مزاحمت،اشتراکهای قبلی....

خوب مشاهده میکنید که صفت های(نام،نام خانوادگی،شماره تلفن،نام پدر،شماره شناسنامه،کد ملی،آدرس) در هر دو موجودیت تکرار شده است
برای بهتر و اصولی شدن کار ما این صفات را جدا کرده و یک موجودیت با نام شخص ایجاد میکنیم و به موجودیتهای کارمن و متقاضی ارتباط می دهیم.
امیدوارم این مطلب براتون مفید بوده باشه

سلام یه مثال تصویری بزنی که چطور ربطش بدیم ؟ ممنون میشم ازت

parpar385
پنج شنبه 15 فروردین 1392, 15:09 عصر
سلام...میشه ی موجودیت ضعیف مثال بزنین که خودش ی موجودیت ضعیف داشته باشه؟

baran_mehr
یک شنبه 25 فروردین 1392, 09:09 صبح
دوست عزیز gholami.vahid در پست66 یه مثال زده شده فایل dis را برسی کنید

rezabehboodi0098
جمعه 09 اسفند 1392, 00:09 صبح
سلام
دوست عزیز من یه سوال دارم و مدت هاست فکرمو مشغول کرده
من در رابطه با رسم نمودار er مشکلی ندارم یعنی با تمام تعاریفش
اشنا هستم ولی مشکلی که دارم اینه که خوب نمیتونم موجودیتهارو
تشخیص بدم

مثلا تو رسم نمودار er یه باشگاه ورزشی یا بهتر بگم مدرسه بسکتبال
فقط تونستم این موجودیتهارو پیدا کنم:
1- مربی 2- ورزشکار 3- تمرین
خلاصه به داده مابرسین

behdesign
پنج شنبه 04 اردیبهشت 1393, 02:28 صبح
سلام
دوست عزیز من یه سوال دارم و مدت هاست فکرمو مشغول کرده
من در رابطه با رسم نمودار er مشکلی ندارم یعنی با تمام تعاریفش
اشنا هستم ولی مشکلی که دارم اینه که خوب نمیتونم موجودیتهارو
تشخیص بدم

مثلا تو رسم نمودار er یه باشگاه ورزشی یا بهتر بگم مدرسه بسکتبال
فقط تونستم این موجودیتهارو پیدا کنم:
1- مربی 2- ورزشکار 3- تمرین
خلاصه به داده مابرسین


موجودیت ها :
مربی - ورزشکار - مسئول ثبت نام - کارمند - باشگاه - خدمات و ...
بستگی به وسعت باشگاهت داره

miladhzz
جمعه 26 دی 1393, 06:11 صبح
از آقای
baran_mehr (http://barnamenevis.org/member.php?57508-baran_mehr)
واقعا ممنونم ... حوصله ی خوبی داشته... هر کسی تونست ادامه بده... منم میتونم ادامه بدم این تاپیک را