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