According To Christopher Alexander Computer Science Essay

Harmonizing to Christopher Alexander A design form in architecture and computing machine scientific discipline is a formal manner of documenting a solution to a design job in a peculiar field of expertness ” . In other word, a design form automatically classifies, describes and evaluates a important and a reiterating design in object-oriented systems.

Since, an object-oriented linguistic communication is chosen by developer to implement FDView application, utilizing design forms can be best manner to do codification reclaimable and clear. Design patterns assist the developer to advance decoupling and work out jobs by using basic OO constructs such as heritage, polymorphism, composing, deputation and encapsulation in FDView design.

Based on ” Gang of Four ” book, design forms are categorized into three groups: creational forms, structural forms, and behavioural forms.

Mentioning to purpose and pertinence of 23 forms those were defined by GOF writers, the following are selected by developer: Factory Method, Prototype and Command forms.

Factory Method

Harmonizing to Gang of Four- Design Patterns, Elements of Reusable Object-Oriented Software, the purpose of mill form is “ Define an interface for making an object, but allow subclasses make up one’s mind which category to instantiate. Factory Method lets a category defer instantiation to subclasses ” . ( p.96 )

Using this creational form in FDView design lets the users to object instantiating at tally clip and isolates them from the builder call of an object.

Following UML category diagram illustrates an execution of the mill method form in FDView design. Three type of categories is seen in this diagram:

Factory: FactoryTool category is a factory category that will bring forth new objects.

ProductBase: Tool Object category is an abstract or base category for all drawing tools that the mill can make.

ConcreteProduct: ToolLinne, ToolText, ToolColumn1, ToolVessel3, ToolTanks4 and all derived categories from ToolObject are Multiple subclasses of the Product category and pulling tool objects can be generated by pulling method in FactoryTool.

To see big graduated table of mill diagram, refer to appendix?

Factory Pattern in FDView Design ( UML )

Command

Harmonizing to Gang of Four- Design Patterns, Elements of Reusable Object-Oriented Software, the purpose of bid form is “ Encapsulate a petition as an object, thereby allowing you parameterize clients with different petitions, waiting line or log petitions, and support unachievable operations ” . ( p.199 )

This behavioral form is applicable when:

An user interface includes GUI bill of fare points and buttons

An application support Undo & A ; Redo actions

Activities needs to put to death in multi degree

Since, FDView has considered as a rich client application with GUI bill of fare and some maps like Undo, Redo, Move, Add and Delete are indispensable actions for users, using the bid form can be an appropriate form which make constituent building easy to sequence and put to death.

To plan bid form in FDView system, developer is utilizing the article “ The Command Pattern ” by David Veeneman available in CodeProject web site and “ Draw Tools ” codification available in Google Developers website.

Following UML category diagram shows an execution of the bid form in FDView design. There are five type of categories:

CommandBase: Command category is base for all bid objects. Two abstract methods ( Undo & A ; Redo ) are defined in this category to put to death bids by Undomanager category.

ConcreteCommand: CommandDelete, CommandChangeState, CommandAdd and CommandDeleteAll are derived categories from Command category and support two basic actions: Undo to returns pulling country to the province before put to deathing this bid, and Redo to put to death this bid once more. Execution of the Execute ( ) method is different in each ConcreteCommand categories which are linked to GraphicsList category.

Invoker: The UndoManager category askes CommandDelete, CommandChangeState, CommandAdd and CommandDeleteAll classes to react to user petition.

Receiver: GraphicList category is a receiving system category which has Add ( ) , Insert ( ) , DeleteSelection ( ) , Replace ( ) , RemoveAt ( ) , DeleteLastObject ( ) , MovetoBack ( ) , MovetoFront ( ) methods. These methods are executed when one or more bids are invoked.

Client: FDV.DrawArea is client side which creates Command objects and set those to GraphicList object.Command Pattern in FDView Design ( UML )

Prototype

Harmonizing to Gang of Four- Design Patterns, Elements of Reusable Object-Oriented Software, the purpose of paradigm form is “ Specify the sorts of objects to make utilizing a archetypal case, and make new objects by copying this paradigm ” . ( p.122 )

This creational form is applicable when:

Complex systems those are expensive to making a new object

Sing FDView application as a complex drawing system which is required to instantiate pulling tool objects often, utilizing paradigm can be a entire success which bring the undermentioned advantages in system:

Adding and taking pulling objects at run-time

Permits users to modify pulling objects without changing the original

Cloning is a cost-saving manner to instantiate objects

Following UML category diagram describes an execution of the paradigm form in FDView design. Two type of categories are identified:

Prototype: DrawObject category is an abstract and basal category for the pulling tool object which can be added and cloned. Clone ( ) method is a practical method that returns a pulling tool object.

ConcretePrototype: DrawValve1, DrawVessel1, DrawVessel2, DrawTank1, Drawline, DrawText and other derived categories inherit from the Drawobject category and Clone method are overridden in all of them to implement the duplicate of their belongingss. To implement excess functionality, these derived categories contain excess required method such as Draw ( ) .

CommandDelete, CommandDeleteAll, CommandAdd and CommandChangeState are client categories to inquire for pulling tool objects ringer.

Prototype Form in FDView Design

Interface Design and Human Computer Interaction

By analysing the consequences of interview and questionnaire and comparing competitory packages, the possible jobs have been identified and mark users are considered as the expert and intermediate users who have cognition of computing machine interaction.

Based on these facts, the chosen serviceability ends to optimise interface design and content, and accomplish a tantrum between users, computing machine, and undertakings in new design, are “ Error ” , “ Efficiency ” , “ User satisfaction ” and “ Effectiveness ” .

Mistake

As the bulk of users are defined as the expert users who use the application often, so an mistake tolerant plan is required to forestall mistakes caused by the user ‘s interaction, and to assist the user in retrieving from any mistakes that do happen. For illustration, supply a salvaging duologue box before shuting the application is important.

The ultimate end is a system which has no mistakes. But, the developer is human, and computing machine systems are far from perfect, so mistakes may happen. In order to plan FDView with minimal mistake rate, below are the design principles that are used:

Feedback

UI Feedback merely consists in holding the System visually respond to user action. if user selects an equipment, he/she demands to see that equipment is selected.

Here are some of feedback actions to be made:

Foregrounding the buttons when mouse over.

Changing coloring material of selected check in a check control

Exposing a selected object in rectangle form.

Show feedback message in certain action ( e.g. when objects other than line are selected to alter coloring material or write breadth, etc )

Constraint

The design construct of restraining refers to finding ways of curtailing the sort of user interaction that can take topographic point at a given minute. ( Preece et al, 2002 ) . To forestall mistakes or making unneeded possible actions that can be performed, following are some of the restraint that should be applied in FDView application:

Using dropdown lists to forestall of come ining incorrect informations such as fount and datasheet ‘s name.

Let merely numeral values to be typed in text boxes in computation portion.

Efficiency

An efficient interface design enables users to carry through undertakings without blowing their clip or necessitate them to make immaterial processs than is purely necessary. In accomplishing the Efficiency end for FDView system, below are the design principles that are used:

Simplicity

If things are simple they will be easy to understand, learn and retrieve. Here are some of actions to should be considered to do FDView interface more simple and efficient:

Using progressive revelation ( demo the user merely what is necessary )

Grouping Related option together in bill of fare

Visibility

Planing for visibleness means that merely by looking, users can see the possibilities for action. Here are some of visibleness actions to be made

Use the appropriate fount size for buttons and labels.

Keeping the most normally used options for a undertaking seeable ( and the other options easy accessible ) .

Writing descriptions that are clear, factual and free of inordinate superlative.

Consistency

Topographic point screen constituents in consistent additions users ability to retrieve and foretell results and procedures. To endeavor to be consistent, FDView application will incorporate the undermentioned points:

Diagrammatically and interactively consistent from tab page to tab page, subdivision to subdivision.

Consistency rules can be applied to colourise cryptography, Icon manner, button arrangement and synergistic icons, in the same nomenclature and the same organisation of actions throughout the application.

Follow the platform conventions.

Acquaintance

By using acquaintance construct in FDView design, users enable to acknowledge interface constituents more easy. User-interface metaphors can be widely used to make FDView menus more familiar and efficient.

Metaphor

Metaphor is a conceptual theoretical account that has been developed to be similar in some manner to the facets of a physical entity. Following are some of the metaphor can be applied FDView:

Using New, Open and Save metaphors in File bill of fare.

Using Delete, Clear, Undo, Redo and Select All metaphors in Edit bill of fare.

Using Rotate, Pointer and other metaphors in place check page.

Using Page apparatus, Print Preview and Print in Report check page.

Effectiveness

Since FDView is a rich client application with high functionality, making Effectiveness end, can carry through user ‘s demands by puting needed maps in FDView system. Following design rules are applied to FDView interface to do this design more effectual:

Utility

Utility is supplying a proper set of maps that allow users to acquire their undertakings complete in the manner they want. To supply high public-service corporation, all required maps by users, must be developed: Drawing, Editing, Inserting, Rotating, Exporting, ciphering and other maps

Flexibility

A flexible tool can be used in multiple environments and may turn to diverse demands. If a design has a high grade of flexibleness, it will turn out more utile than a design that involves a low grade of this factor. Here are some of Flexibility actions should be made:

Create Flow diagrams, print publication

Export images in diverse format

Pulling, Calculating and Opening Datasheet at the same clip

User satisfaction

Satisfaction refers to the users ‘ overall emotional experience when utilizing the system. To accomplish this end by utilizing FDView, user satisfactions are viewed in the context of:

Satisfying

The ends of planing synergistic merchandises to be enjoyable and supportive are concerned chiefly with the user experience. This means the interaction with the system feels like to the users.

The interfaces match the users task in as natural a manner as possible.

Good in writing design is of import to show a simple and natural interaction.

Provide shortcut identify the users can choose when utilizing FDView.

Making information look in a natural and logical order.

Helpful

To supply an enlightening and helpful design, following actions should be considered in FDView application:

Provide description for Equipments

Supply the Tool tips for every button

Provide Help Menu

Use field linguistic communication