计算机专业英语大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机专业英语大作业
Patterns Instruction in Software Engineering
Abstract:
The paper deals with a training system with a client-server architecture created for students who are learning to design and implement object-oriented software systems with reusable components, and also targeting those users who wish become accustomed with (or improve their skills related to) software design. The paper briefly presents the design patterns which are to be found in the software library, as well as the manner of applying them. The user of such a system has five types of patterns at his/her disposal (Factory Method, Builder, Command, Mediator, Observer), out of which will be able to chose one/more than one, depending on the requirements of the system proposed for design.
1.Introduction
Motto: “The software design patterns help you learn more from other people’s successes than from your own failures” [Mark Johnson] .A software system is a dynamic entity that undergoes multiple changes during its life-cycle, under the influence of factors such as: new user requirements, adding new functionalities, environment adjustment, etc. Therefore, apart from fulfilling those functions which it was designed to fulfill, a software application must be easily changeable, with some of its modules eventually re-used. Having this goal, the application must fulfill certain requirements regarding robustness, mobility, flexibility, scalability, etc. The software design principles are regarded as ways of obtaining the right and re-usable design. By applying abstractization and OOP languages polymorphic techniques, the open-shut principle and the substitution principle (Liskov) upon classes of problems, common solutions were reached – solutions which make up the so-called design patterns. The software patterns facilitate re-using design and architecture. If the design and/or architecture of a system were built with design patterns (techniques which have proven efficient), then they will be more accessible and easier to understand by those software developers who build new systems based on old design. The patterns help the software specialist chose that design that makes the system re-usable. In software engineering, “design pattern” (DP) means a solution applicable to a certain type of problems. A design pattern is a description model of how a problem should be solved. A pattern cannot be directly transformed in source code.
The purpose of design patterns is to enable a “good” object-oriented design, and more than that –to make it reusable (which is more important than reusing the code, regardless of the fact that reusing the design often implies reusing the code). The quality of software design is proportional to the experience and previous knowledge of the one performing it. An expert applies solutions previously used and proven efficient for similar problems. When the expert finds a solution considered acceptable, he/she