پروژه مهندسی نرم افزار UMLبیمارستان بخش سوم
1-5- هدف از طراحی سیستم
هدف از انجام اين پروژه ايجاد سيستمي است که بوسيله آن بتوان با استفاده از شبکه LAN يا WAN عمل ارائه خدمات به بیماران را بصورت خودکار و بدون دخالت دست انجام داد.
اين سيستم مشتمل بر دو قسمت مشتري و سرويس دهنده است که مشتریان فقط سيستم مشتري را مي بينند. همچنين اين سيستم قادر به ارائه انواع گزارشخای مدیریتی و آماری – اطلاعاتی خواهد بود.
1-5-1-قواعد به کار رفته در اين نوشته
در اين نوشته هر جا که احساس شده کلمه اي ابهام برانگيز است از معادل انگليسي آن استفاده شده است.
1-5-2-مخاطبان اين نوشته
مخاطبان اين نوشته توسعه دهندگان ، مديران سيستم و مسئوليين بیمارستان هستند. اين نوشته براي مراجعان بیمارستان و کاربران عادي نوشته نشده و لزومي ندارد که اين دسته از کاربران از اين نوشته با خبر شوند.
1-5-3-محدوده پروژه
در حال حاظر توسعه اين پروژه به منظور اهداف تحقيقاتي انجام مي گيرد و استفاده تجاري از آن مد نظر نيست ، ولي استفاده از اين پروژه در دنياي واقعي نيز دور از انتظار نمي باشد و ممکن است در آينده نزديک از آن در بیمارستانهای واقعي نيز استفاده شود.
در دنياي به سرعت در حال توسعه امروز(که در آن اينترنت هر روز نقش بيشتري در زندگي انسانها پيدا مي کند) راه گريزي از نهادهاي الکترونيکي اجتماعي وجود ندارد. شهرهاي اينترنتي، شهروندان اينترنتي و دولت هاي الکترونيک و نهادهاي سياسي مختلف، همه و همه لزوم ايجاد سيستم هاي تحت شبکه را بيش از پيش مسجل مي کنند.
1-5-4-چشم انداز محصول
اين محصول يک محصول جديد است و ويرايش يا ويرايش هايي از آن قبلا توليد نشده است. شکل زير نمايي کلي از محصول را نشان مي دهد:
1-6-طبقه بندي کاربران سیستم
کاربران سيستم به دو گروه عمده تقسيم مي شوند:
1-6-1- کاربران عادي(مشتریان): اين دسته از کاربران افراد مختلف اجتماع را تشکيل مي دهند، ممکن است افراد تحصيل کرده و کار آزموده و يا افراد آموزش نديده و مبتدي باشند. در هر حال قسمت عمده کاربران ما در اين گروه جاي دارند، به همين دليل بايد به اين گروه توجه خاصي شود.
1-6-2- مديران سيستم: افراد آموزش ديده اي هستند که تنظيمات(Setup) و گزارش گيري از سيستم و . . . را انجام مي دهند.
1-7-مفروضات و وابستگي ها
1-7-1- نرم افزار نهايي توليد شده مي تواند از نرم افزار هاي متن باز موجود استفاده کند.
1-7-2-توسعه دهندگان مي توانند از هر گونه ابزار تجاري و متن باز براي توسعه استفاده کنند، ولي نرم افزار نهايي نبايد به هر گونه محصول تجاري که براي استفاده کننده منجر به پرداخت هزينه شود وابستگي داشته باشد.
1-7-3-در صورت وابستگي محصول نهايي به يک ابزار و يا محصولي که هزينه اي براي استفاده کنندگان در بر دارد بايد معادلي رايگان براي اين وابستگي وجود داشته باشد. به عبارت ديگر محصول نهايي بايد بتواند به نحوي بدون پرداخت هزينه اضافي براي نرم افزارهاي ديگر مورد استفاده قرار گيرد.
1-8-محيط عملياتي
1-8-1- نرم افزار سمت سرور مي تواند به يک(يا چند) پلت فرم خاص(مثلا تنها سيستم عامل ويندوز) محدود باشد ولي نرم افزار نوشته شده در سمت مشتري بايد بر روي اکثر پلت فرم هاي متداول موجود قابل اجرا باشد.
1-8-2- همچنين نرم افزار سمت Client بايد با سيستم هاي موجود سازگاري داشته باشد و استفاده از نرم افزار مشتري نبايد به امکانات زيادي نياز داشته باشد.
1-8-3- همچنين نرم افزار Client بايد تا حد ممکن کوچک باشد(حجم کم و سرعت دسترسی بالا).
1-8-4- نرم افزار Client بايد شامل راهنمايي باشد که کاربر در عرض يک يا دو دقيقه آن را مطالعه کرده و قادر به استفاده از سيستم باشد.
1-8-5- نرم افزار سرويس دهنده شامل مستندات کاملي براي استفاده مديران باشد.
1-8-6- براي نگهداري و توسعه سيستم در آينده نيز مستندات طراحي و پياده سازي موجود و در دسترس باشد.
1-9-محدوديت طراحي و پياده سازي
1-9-1-به علت اهميت بحث امنيت در اين پروژه، نبايد از پروتکل هاي شناخته شده موجود نظير SSL و HTTPS در انجام اين پروژه استفاده شود.
1-9-2- Client ها حتما بايد به وسيله کليد خصوصي خود که از مراکز توزيع کليد دريافت مي کنند و نه به وسيله اسم کاربري و رمز عبور شناسايي و احراز هويت شوند.
1-9-3-کليد خصوصي بايد از طريق يک رسانه قابل حمل(CD، Floppy Disk يا Flash Memory) و نه از طريق شبکه انتقال يابد.
1-9-4- نرم افزار سرور نبايد به نرم افزار نوشته شده سمت مشتري اعتماد کند ، در صورت بروز هر گونه خطا بايد ارتباط قطع شود.
1-10- نيازمندي هاي واسط هاي خارجی
1-10-1-واسط کاربر
واسط کاربر در اين پروژه به دو بخش سمت Client و سمت سرور تقسيم مي شود:
1-10-1-1- واسط کاربر در سمت Client: واسط کاربر در سمت Client بايد در حد امکان ساده باشد و نبايد کاربر با نوشته ها، دکمه ها و اشکال گوناگون گيج شود. واسط سمت Client بايد امکانات زير را در اختيار راي دهنده قرار دهد:
کاربر بايد بتواند محل کليد خصوصي خود را(که در يک فايل قرار دارد) انتخاب کند و يا مقدار پيش فرض آن را تغيير دهد.
واسط بايد ليست انتخاب شده را دوباره به کاربر نشان دهد تا او از انتخاب خود اطمينان حاصل کند.
کاربر بايد پس از ارسال Order خود از آخرين نتايج با خبر شود.
همچنين واسط کاربر بايد اشتباهات کاربر را به گونه اي منطقي به او نشان دهد و يا از انجام اشتباهات جلوگيري کند. براي مثال هنگامي که کاربر امکان انتخاب يک گزينه را دارد، تنها بتواند يک گزينه را انتخاب کند و هنگامي که امکان انتخاب چند گزينه را دارد به او اجازه انتخاب چند گزينه داده شود.
مراحل انجام کار بصورت مرحله به مرحله(Wizard) به کاربر نشان داده شود.
نکته مهم ديگر در مورد واسط کاربر در سمت Client اين است که واسط بايد توانايي نشان دادن اتاقها به همراه وضعیت آن ها و مشخصات ديگري از آنها را داشته باشد.
1-10-1-2- واسط کاربر در سمت سرويس دهنده:
واسط کاربر در سمت سرويس دهنده بايد به صورت گرافيکي و نه به صورت خط فرماني باشد (در بسياري از سرويس دهنده ها محيط گرافيکي وجود ندارد).
واسط بايد توانايي تعريف بخشها در گروه های مختلف و تعيين مشخصات آن ها نظير نام ، سوابق و . . . آن ها را فراهم کند.
واسط بايد گزارشات لازم از قبيل تعداد کل مراجعان و درصد و تعداد مراجعات از هر مورد بیماری را به شکلي مناسب و قابل درک (مثلا فايل HTML و یا نمودار) در اختيار مديران قرار دهد.
1-10-2- واسط سخت افزاري
در صورتی که بسته نرم افزاری در یک شبکه LAN نصب و اجرا می گردد ، حداقل سخت افزار مورد نياز در سمت سرور يک دستگاه PC با پردازنده Pentium 4 و 512 مگا بايت حافظه به علاوه سخت افزار لازم براي اتصال به شبکه(کارت شبکه و ...) است. البته ممکن است در پلت فرم هايي غير از ويندوز از سخت افزارهاي ديگري استفاده شود. همچنين تمام گرداننده(Driver)هاي لازم بايد توسط سيستم عامل فراهم شود و توسعه دهندگان ملزم به پياده سازي هيچ گونه گرداننده اي نمي باشند.
در صورتی که بسته نرم افزاری در اینترنت استفاده خواهد شد ، این سییستم باید بر روی یک Server با سیستم عامل ویندوز Version 2003 یا بالاتر با قابلیت پشتیبانی از Cgi نصب گردد.
در طرف Client نرم افزار بايد حداقل بر روي يک دستگاه PC با پردازنده Pentium III و 128 مگا بايت حافظه و سخت افزار لازم براي اتصال به شبکه قابل اجرا باشد.
1-10-3-واسط نرم افزاري
در سمت سرور نرم افزار براي اجرا به محيط اجراي جاوا(JRE) ويرايش 2.5 يا بيشتر نياز دارد. قابل ذکر است که JRE بر روي بسياري از سيستم عامل ها از جمله Windows, Linux, Mac OS و Solaris قابل نصب است.
همچنين نرم افزار سمت سرور براي اجرا به يکي از DBMS هاي MS SQL Server 2000، MySql ، Oracle و يا HSQL DB نياز خواهد داشت.
در سمت Client نرم افزار بايد بر روي JRE ويرايش 2.4 يا بيشتر اجرا شود.
1-10-4-واسط ارتباطي
نرم افزار در دو سمت Client و Server به پروتکل هاي لايه چهارم نظير HTTP نيازي ندارد (گر چه اين پروتکل تقريبا بوسيله همه سيستم عامل ها پشتيباني مي شود). نرم افزار براي اجرا به پشتيباني سيستم عامل از پروتکل TCP نياز دارد.
همچنين براي مشاهده گزارشات به يک مرورگر وب نياز است.
نرم افزار براي رمزنگاري از روش AES و کليدهايي با استاندارد X.509 استفاده مي کند.
همچنين خطوط ارتباطي بايد پهناي باند لازم براي اتصال هم زمان چندين Client را فراهم کنند.
چارت سازمانی بیمارستان
چارت سازمانی بیمارستان به شرح ذیل تبیین گردیده و ارائه شده است.