28
در ات ن ي ر م تLSS وم س ری س ی ع م لا ن ي ش ف ا ار ز ف رم ا ن رای کت وی د( ج ش ن دا86231905

تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

در LSSتمريناتسوم سری

المعی افشينافزار نرم دکترای دانشجوی

86231905

Page 2: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

Prototype Design Patternسؤال:

نوع • .Creational Design Patternاز است ايجاد Objectنوع • و تعريف نمونه، يک وسيله به

Object ،جديدClone . میشود از – استفاده به نياز Creatorهای Subclassعدم

. کالينت برنامه در مربوطهتوليد – هزينه کردن جديد Objectکم

Page 3: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: Prototype Design Patternسؤال...

•: ايجاد نحوهپايه – کالس يک متد Abstractساختن Cloneدارایپياده – و پايه کالس اين از ديگر های کالس استقاق

آنها Cloneسازی دراز Cloneفراخوانی – استفاده جای به کالينت، توسط

new جديد کالس يک ايجاد و

Page 4: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: Prototype Design Patternسؤال...

ساختار•

Page 5: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: Prototype Design Patternسؤال...

مثال•

Page 6: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

و: کیفيت کنترل برای ليستی چک سؤالسيستم معماری عملکرد

From http://www.opengroup.org/• What other applications and/or systems require integration with yours? • Describe the integration level and strategy with each. • How geographically distributed is the user base? • What is the strategic importance of this system to other user communities inside or outside the

enterprise? • What computing resources are needed to provide system service to users inside the enterprise?

Outside the enterprise and using enterprise computing assets? Outside the enterprise and using their own assets?

• How can users outside the native delivery environment access your applications and data? • What is the life expectancy of this application? • Describe the design that accommodates changes in the user base, stored data, and delivery system

technology. • What is the size of the user base and their expected performance level? • What performance and stress test techniques do you use? • What is the overall organization of the software and data components? • What is the overall service and system configuration? • How are software and data configured mapped to the service and system configuration?

Page 7: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: و... کیفيت کنترل برای ليستی چک سؤالسيستم معماری عملکرد

• What proprietary technology (hardware and software) is needed for this system? • Describe how each and every version of the software can be reproduced and re-deployed over time. • Describe the current user base and how that base is expected to change over the next 3 to 5 years. • Describe the current geographic distribution of the user base and how that base is expected to change over the next 3 to 5

years. • Describe the how many current or future users need to use the application in a mobile capacity or who need to work off-

line. • Describe what the application generally does, the major components of the application and the major data flows. • Describe the instrumentation included in the application that allows for the health and performance of the application to

be monitored. • Describe the business justification for the system. • Describe the rationale for picking the system development language over other options in terms of initial development cost

versus long term maintenance cost. • Describe the systems analysis process that was used to come up with the system architecture and product selection phase

of the system architecture. • Who besides the original customer might have a use for or benefit from using this system? • What percentage of the users use the system in browse mode versus update mode? • What is the typical length of requests that are transactional? • Do you need guaranteed data delivery or update, or the system tolerate failure? • What are the up-time requirements of the system? • Describe where the system architecture adheres or does not adhere to standards. • Describe the project planning and analysis approach used on the project.

Page 8: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: و... کیفيت کنترل برای ليستی چک سؤالسيستم معماری عملکرد

اساس • :RUPبريکديگر – از ها پردازش استقالل ميزان–) غيرهمزمانی ) و همزمانی ها پيام تبادل نحوهپيچيدگی Componentتعداد – ميزان و وابستگی ها،

آنها ارتباطالگوهای – و طراحی الگوهای از استفاده ميزان

معماریاز – استفاده ها Packageميزان

Page 9: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

آنها Stakeholderانواع های خواسته و هاهای ) Software Architecture in Practiceمنبع: و 9فصل

1)

• Developing organization’s management– Low cost, keeping people employed.

• Marketing– Neat features, short time to market, low cost,

parity with competing products• End user– Behavior, performance, Security, Reliability,

usability

Page 10: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

های Stakeholderانواع خواسته و هاآنها

• Maintenance organization– Modifiability, extensibility

• Customer– Low cost, timely delivery, not changed very often

Page 11: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

ريسک: به مربوط مسائل سؤال

که • رخدادی احتمال از است عبارت ريسک يا مخاطرهمنفی اثر .Impact)دارای باشد( افزاری نرم پروژه بر

میشود • بيان شکل دو به ريسکخرابی – رخداد به منجر شرايط توصيفخرابی – خود توصيف

اولين: • برای محدودی، زمان طی است قرار شرکتی مثالفناوری از استفاده با مشتری OOبار به و توليد محصولی

زمينه. در بايد کليدی پرسنل .OOبدهد ببينند آموزشنيازمندی: – محصول است ممکن تجربه، نبود به توجه با ريسک

. نکند برآورده را نظر مورد کيفيت و کارآيي های

Page 12: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: ريسک... به مربوط مسائل سؤال

شناسايي • غيرقابل برخی و شناسايي قابل ها ريسک برخی. نداريم آنها وقوع احتمال از اطالعی که هستند

•. باشد بينی پيش غيرقابل يا بينی پيش قابل است ممکن ريسک•. دارد وجود واکنشی و کنشی های روش ريسک، با مقابله برای•. طبيعی حوادث مانند هستند کنترل غيرقابل ها ريسک برخی•Risk Mitigation از پس که است فعاليتی ريسک، کاهش يا

بندی اوليت و مخرب Risk Impactشناخت اثر تا میدهيم انجام ها. دهيم کاهش پروژه بر را ريسک

مثل • کيفی مقادير يا درصد عدد، با میتوان را lowو Highريسک. داد نشان

Page 13: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: ريسک... به مربوط مسائل سؤال

است • ای نقطه ريسک، منحنی در ارجاع نقطه. نمیباشد صالح به پروژه ادامه پس آن از که

Page 14: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

تخمين: به مربوط مسائل سؤالApplied Software Project Management, O’Reillyمنبع:

نرم • پروژه يک انجام برای وزمان هزينه برآورد از است عبارت افزار نرم مهندسی درافزاری.

•: افزار نرم مهندسی در تخمين های روش ترين متداول• Parametric Estimating • Wideband Delphi • COCOMO• SLIM • SEER-SEM Parametric Estimation of Effort, Schedule, Cost, Risk. Minimum time and

staffing concepts based on Brooks's Law • Function Point Analysis • Proxy-based estimating (PROBE) (from the Personal Software Process) • The Planning Game (from Extreme Programming) • Program Evaluation and Review Technique (PERT) • Analysis Effort method • TruePlanning Software Model Parametric model that estimates the scope, cost, effort

and schedule for software projects.

Page 15: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

: تخمين... به مربوط مسائل سؤالروش: • :COCOMOمثال

–COnstructive COst Model توسط – شده Barry Bohemارائههای – داده اساس بر پايه رگراسيون فرمول يک از مشخصات Historicalاستفاده و پروژه

فعلی پروژه

برنامه )• سايز از تابعی اساس بر را هزينه اوليه، . LoCروش میزند( تخمين•: زير های پروژه به اعمال قابل

• Organic projects - are relatively small, simple software projects in which small teams with good application experience work to a set of less than rigid requirements.

• Semi-detached projects - are intermediate (in size and complexity) software projects in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.

• Embedded projects - are software projects that must be developed within a set of tight hardware, software, and operational constraints.

Page 16: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

CORBAسؤال: ) نشد) فراهم ارائه فرصت اما شده آماده کالس در ارائه برای زير مطلب

•CORBA مخففCommon Object Request Broker Architecture. است

گروه • .OMGتوسط است شده ارائهاز • مستقل زيرساخت و معماری vendorيک

ای شبکه های محيط در ها برنامه ارتباط برای. میکند ارائه

Page 17: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

استفاده CORBAموارد

•Middleware سطح در که Enterpriseمناسب ،از ها ماشين انواع راحتی گرفته Mainframeبه

. میکند يکپارچه را جيبی کامپيوترهای تازياد، • کالينت تعداد با و hit rateسرورهايي باال

. باال اعتماد قابليت نيازمندهای • سيستم Embedded-Systemو real-timeدر

. است استفاده قابل نيز ها

Page 18: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

تعاريف

عملکردها • بيانگر و بوده ها برنامه سازنده واحد اشياء، ) ( . دنيای در معادلی هميشه نه _ معموال هستند ها داده و

. دارند واقعینمونه • مثل هستند، نمونه چندين دارای _ معموال اشياء

مشتريان به متعلق که اعتباری کارت يک مختلف های. است مختلف

با • رابط يک شیء، نوع هر تعريف OMG IDLبرایشیء،. عملکردهای از استفاده برای کالينت میشود

رابط از . IDLبايد پياده از رابط جداسازی کند استفادهاساس توسط CORBAسازی، که فراهم IDLاست

میشود.•IDL اما است سازی برنامه های زبان از مستقل

توسط معروف، های زبان تمام به آن OMGنگاشت. است شده ارائه

Page 19: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

تعاريف...

• ) ( _ کامال ها داده و اجرایی کد اشياء سازی پياده . است پنهان ها کالينت ديد از

طريق • از _ منحصرا اشياء به ها کالينت دسترسیعملکردهای فراخوانی با شده، ارائه های رابط

با شده اجازه IDLتوصيف پارامترهای با فقط و. است امکانپذير شده، داده

Page 20: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

تعاريف...

کامپايل • و درون IDLنوشتن مربوطه ClientهایStub وServer Skeleton –Stub وSkeleton و کالينت برای پراکسی نقش در

. میکنند کار سرور

•. سرور و کالينت متناظر اشياء نوشتندو – در يا مختلف زبان دو به میتوانند سرور و کالينت

ORB. شوند نوشته مختلف–ORB ارائه و دور راه های فراخوانی جهت واسط يک

. است کالينت به دريافتی پاسخ

Page 21: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

به کالينت از درخواست جريانسرور

Page 22: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

دور راه از فراخوانی

•. کالينت توسط سرور به گر اشاره دريافتجمله – از مختلفی های روش

Naming Service and the Trader Service برای) دارد وجود گر اشاره دريافت

•. مربوطه عملکرد فراخوانیقبل، – حالت با تفاوت که remoteتنها است سرور بودن

شبکه ORBتوسط سمت به درخواست و شده داده تشخيص. میشود فرستاده

میداند • را فراخوانی مورد عملکرد جزئيات _ دقيقا کالينتو) ...( خروجی و ورودی پارامترهای سرور، نوع

ميان • پروتکل ORBسازگاری وسيله به تأمين IIOPهامیشود.

Page 23: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

دور... راه از فراخوانی

Page 24: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

بيشتر مطالعه

• CORBA Basics (www.omg.org)• Common Object Request Broker Architecture:

Core Specification (http://www.omg.org/technology/documents/corba_spec_catalog.htm)

• (CORBA success stories) http://www.corba.org

Page 25: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

از استفاده در موجود مسائلVersoion

صحيح Versionانتخاب •از – Proxyاستفادهاز – Bitmapاستفاده

برای • ها فايل Loadانتخاببندی – مربوطه Versionدسته کامپايلر نوع اساس بر ها

های • فايل Repositoryناهمگونیاز – همگون Middle wareاستفاده سازی ذخيره برایانديس – از استفاده با ها فايل بندی طبقه

ها Versionوابستگی •هر – ويژگی عنوان به Versionثبتذخيره – Baselineتنهاجدول – از Lookupاستفاده

Page 26: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

آزمايشگاه سيستم های هوشمند26

: نمودار... هر UMLسؤال متناظرView

Conceptual and analysis viewpointViewpoint UML diagram Description

Analysis focused Class Describe system entities in response to a scenario.

Often refer to as a view of participating classes or VOPC

Analysis interaction interaction Interaction diagram between objects for analysis

Analysis overall Class Combination of all classes from all focused analysis

viewpoints

Context Use case Show the external system actors and the system under

design

Page 27: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

آزمايشگاه سيستم های هوشمند27

: نمودار... هر UMLسؤال متناظرView

Logical design viewpointsViewpoint UML diagram Description

Component Component Component communications

Component interaction Interaction Interactions among components

Component state State/activity State transition/activity diagram for a component or for a set of

components

Layered subsystem Packages Layering and subsystem design

Logical data Classes Critical data views used for integration

Subsystem interface dependency

Class Subsystem dependencies and interfaces

Page 28: تمرينات در LSS سری سوم افشين لامعی دانشجوی دکترای نرم افزار 86231905

آزمايشگاه سيستم های هوشمند28

: نمودار... هر UMLسؤال متناظرView

Environment/physical viewpointViewpoint UML diagram Description

Deployment Deployment Mapping of software to hardware for distributed

systems

Physical data Deployment Physical view of a particular database

Process Deployment Show the processes of a particular system instance

Process state State Show the dynamic states of a process