计算机专业英语大作业
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