need to be refined to
produce a detailed design.
Further refine architecture and match with requirements
How detailed?
How formal?
Different levels of detail for different views
• It’s a process of breaking down a system into its constituent parts, identifying functions, and defining how
they interact to achieve the system’s objectives.
• The goal here is to simplify complex systems into smaller, more manageable, and understandable parts .
• This is usually accomplished through thoughtful analysis and team discussions.
• By breaking down a complex system into smaller, simpler components, functional decomposition helps to
simplify the design and analysis process, making it easier to understand and implement complex
systems conveniently. .
4
1. Identify the system’s primary functions. This process involves defining what the system does and what it is supposed to
achieve.
2. Divide the main functions into smaller sub-functions. Additionally, each main function is broken down into smaller, more
manageable parts based on their specific tasks.
3. We define the relationships between the sub-functions. This involves understanding how the sub-functions interact and
collaborate to achieve the overall system objectives.
4. Represent the relationships between sub-functions visually. We typically do it using a functional block diagram, which shows
the different sub-functions and how they interact.
1. Data Modeling Phase
2. Logical Database Design Phase
3. Physical Database Design Phase
4. Deployment and Maintenance Phase
each object handles its state data.
1. Review and refine use cases
2. Decide
Which classes to create
How are the classes related
3. Use UML as the design language.
Objects –
It is a physical or a real-world entity. The object can also be called the ER model entity. A single instance of an
entity is defined by the object. It is known as an 'instance of a class.
➢ Attribute –
An attribute describes the properties of object. Every object has certain characteristics. These are represented
using Attributes. For example: Object is STUDENT, and its attribute are Roll no, Branch in the Student class.
➢ Methods –
Method represents the behavior of an object. Basically, it represents the real-world action. For example: Finding
a STUDENT marks can be mentioned as Setmarks().
➢ Class –
Objects that share similar characteristics are grouped in classes. It is a collection of similar kinds of objects. It
is an entity that has attributes and methods together. 21
• It is a graphical representation of the system’s states and the events that cause the system to transition from
one state to another.
• In many cases, objects can be in different states, and it is important to model those states and how they are
allowed to change. This information is represented with state transition diagrams.
This can be used when a tester is testing the application for a finite set of input values.
• When the tester is trying to test sequence of events that occur in the application under test, i.e., this will
allow the tester to test the application behavior for a sequence of input values.
• When the system under test has a dependency on the events/values in the past.
• Depicts interaction between objects in a
sequential order i.e., the order in which these
interactions take place.
• We can also use the terms event diagrams or
event scenarios to refer to a sequence diagram.
• It describe how and in what order the objects in a
system function.
• Commonly used by developers to model the
interactions between objects in a single use case
• The user interface (UI) is the part of the software most visible to the user and is one of the most important
to get right.
• In many situations a prototype of the user interface is developed as part of the requirements analysis. This
prototype serves as a validation test.
• The client or user will confirm the prototype as the correct system or point out the defect(s). This activity
also enables early testing.
• UI design is based on psychology, cognitive science, aesthetics, and art.
• There are two main issues with UI design:
o The flow of interactions with the program
o The “look and feel” of the interface
The goals, operators, methods, and selection (GOMS) model is a classical model of user interaction that involves
identifying, for a particular kind of user., Consider different kinds of users.
Four factors (for the kind of user):
1. Goals - what the user wants to accomplish.
2. Operations - what the user does to accomplish the goal (Actions).
3. Methods - a series of operators that are used to accomplish the goal (Sequence of operations).
4. Selection rules - used if there are multiple methods, (which Methods to apply for achieving a particular goal when
several are available).
Feedback to each of the actions within the user’s goals is vital to successful usage of the system. The user expects a
visible change—feedback to the “pressing” action. In the interface, every button and menu option is an operator, and
methods will roughly correspond to coarser-grained UI elements, such as dialogs or wizards. 32
✓ Different kinds of users:
Often the interfaces that appeal to one kind of user are not appropriate for others. It is good practice to provide
alternatives within the interface.
✓ Heuristics for good UI design:
Consistency throughout your program, putting the user in control, reducing user’s memory load, and making
the system status visible etc.
✓ Complexity guidelines:
Efforts should be made to limit the number of options at any level, otherwise the interface will likely be
perceived as “too complex.
I guidelines:
Following the platform’s UI guidelines will make all programs more consistent with each other.
✓ Multicultural issues:
Creating a program that will be usable for people in many different countries and cultures is a great challenge. The
creation of a program version for a specific group of users based on language or country is called
localization. There are many programming libraries available for dealing with some of the internationalization
issues.
✓ Multiplatform software:
Most users are very attached to their platform and will not change it just to run other programs. In many cases,
the newly developed software needs to run in several different platforms and must integrate well with each
one. The main problem with multiplatform software is consistency.
Metaphors:
Many user interfaces are based on denotation to known objects. Example shopping Cart, pay, home symbol etc.
➢ Accessibility:
The software should be made as accessible as possible in order to be used by as many people as possible.
Some people cannot see well or distinguish between certain colors, and some cannot operate a normal
keyboard or mouse.
➢ Multimedia interfaces:
Graphics and text are not the only ways to provide information. It is currently possible to use sound and, in some
cases, tactile feedback to convey information.
