U 3

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

Repository architecture for language

processing system
Language processing System
Component Level Design
• Principles :-
• The Open-Closed Principle (OCP). “A module [component] should be
open for extension but closed for modification.
• The Liskov Substitution Principle (LSP). “Subclasses should be
substitutable for their base classes.
• Dependency Inversion Principle (DIP). “Depend on abstractions. Do not
depend on concretions.”
• The Interface Segregation (Separation) Principle (ISP). “Many client-
specific interfaces are better than one general purpose interface.
• The Release Reuse Equivalency Principle (REP). “The granule of reuse
is the granule of release.”
• The Common Closure Principle (CCP). “Classes that change together
belong together.”
• The Common Reuse Principle (CRP). “Classes that aren’t reused
together should not be grouped together.”
Component level Design steps
• Step 1. Identify all design classes that correspond to the
problem domain.

• Step 2. Identify all design classes that correspond to the


infrastructure domain.

• Step 3. Elaborate all design classes that are not acquired


(Obtain) as reusable components.

• Step 3 (a) . Specify message details when classes or


components collaborate.
Component level Design steps
• Step 3 (b). Identify appropriate interfaces for each
component.

• Step 3 (c). Elaborate attributes and define data types


and data structures required to implement them.

• Step 4. Describe persistent data sources (databases


and files) and identify the classes required to
manage them.
Component level Design steps
• Step 5. Develop and elaborate behavioral representations for
a class or component.

• Step 6. Elaborate deployment diagrams to provide additional


implementation detail. Deployment diagrams are used as part
of architectural.

• Step 7. Refactor every component-level design representation


and always consider alternatives.
User interface design

• Designing effective interfaces


for software systems
• The user interface is the front-end application
view to which the user interacts to use the
software. The software becomes more popular
if its user interface is:
• Attractive
• Simple to use
• Responsive in a short time
• Clear to understand
• Consistent on all interface screens
Types of User Interface

Command Line Interface: The Command Line Interface provides a command prompt,
where the user types the command and feeds it to the system. The user needs to
remember the syntax of the command and its use.

Graphical User Interface: Graphical User Interface provides a simple interactive


interface to interact with the system. GUI can be a combination of both hardware and
software. Using GUI, the user interprets the software.
Objectives
• To suggest some general design principles for
user interface design
• To explain different interaction styles
• To introduce styles of information presentation
• To describe the user support which should be
built-in to user interfaces
• To introduce usability attributes and system
approaches to system evaluation
The user interface
• System users often judge a system by its
interface rather than its functionality.
• A poorly designed interface can cause a user
to make catastrophic errors.
• Poor user interface design is the reason why
so many software systems are never used.
Graphical user interfaces
• Most users of business systems interact with
these systems through graphical interfaces
although, in some cases, legacy text-based
interfaces are still used.
User Interface Design Process
1. User, Task, Environmental Analysis, and Modeling

• The focus is based on the profile of users who will


interact with the system, i.e., understanding, skill
and knowledge, type of user, etc., based on the
user’s profile users are made into categories.
• Where will the interface be located physically?
• Will the user be sitting, standing, or performing
other tasks unrelated to the interface?
• Does the interface hardware accommodate space,
light, or noise constraints?
• Are there special human factors considerations
driven by environmental factors?
2.Interface Design

• The goal of this phase is to define the set of interface


objects and actions i.e., control mechanisms that
enable the user to perform desired tasks.
• Indicate how these control mechanisms affect the
system.
• Specify the action sequence of tasks and subtasks,
also called a user scenario.
• Indicate the state of the system when the user
performs a particular task.
3. Interface Construction and Implementation

• The implementation activity begins with the


creation of a prototype (model) that enables
usage scenarios to be evaluated.
• As iterative design process continues a User
Interface toolkit that allows the creation of
windows, menus, device interaction, error
messages, commands, and many other elements
of an interactive environment can be used for
completing the construction of an interface.
4. Interface Validation

• This phase focuses on testing the interface.


The interface should be in such a way that it
should be able to perform tasks correctly, and
it should be able to handle a variety of tasks.
• It should achieve all the user’s requirements.
It should be easy to use and easy to learn.
• Users should accept the interface as a useful
one in their work.
GUI characteristics
GUI advantages
• They are easy to learn and use.
– Users without experience can learn to use the system
quickly.
• The user may switch quickly from one task to
another and can interact with several different
applications.
– Information remains visible in its own window when
attention is switched.
• Fast, full-screen interaction is possible with
immediate access to anywhere on the screen
Golden Rules
• The three areas of user interface design
principles are:
1. Place users in control of the interface
2. Reduce users’ memory load
3. Make the user interface consistent.
Place Users in Control

• Use modes judiciously (good judgment)(modeless)


• Allow users to use either the keyboard or mouse (flexible)
• Allow users to change focus (interruptible)
• Display descriptive messages and text(Helpful)
• Provide immediate and reversible actions, and feedback
(forgiving)
• Provide meaningful paths and exits (navigable)
• Accommodate users with different skill levels (accessible)
• Make the user interface transparent (facilitative)
• Allow users to customize the interface (preferences)
• Allow users to directly manipulate interface objects (interactive)
Reduce Users’ Memory Load

• Relieve short-term memory (remember)


• Rely on recognition, not recall (recognition)
• Provide visual cues (inform)
• Provide defaults, undo, and redo (forgiving)
• Provide interface shortcuts (frequency)
• Promote an object-action syntax (intuitive)
• Use real-world metaphors (transfer)
• User progressive disclosure (context)
• Promote visual clarity (organize)
Make the Interface Consistent

• Sustain the context of users’ tasks (continuity)


• Maintain consistency within and across
products (experience)
• Keep interaction results the same
(expectations)
• Provide aesthetic appeal and integrity
(attitude)
• Encourage exploration (predictable)
Interface Design Process

You might also like