Week 4_merged (1)
Week 4_merged (1)
Produce
Design dynamic design Evaluate design
prototype prototype with end-users
Executable Implement
prototype final user
interface
Method JSD
OUIT
Type Network Units cm
Title ISBN
Author Price
Publication
Publisher
date
Number of
Edition copies
Classification Loan
status
Date of Order
purchase status
GUI Command
language
manager
interpreter
Operating system
Week-3
Agile Methodologies
Design
Document &
Prototype
Agile
Development
Methodology
1. Requirements gathering:
2. Design the requirements:
3. Construction/ iteration:
4. Testing:
5. Deployment:
6. Feedback:
Agile Methods:
• Scrum
• Crystal
• Dynamic Software Development Method(DSDM)
• Feature Driven Development(FDD)
• Lean Software Development
• eXtreme Programming(XP)
When to use the Agile Model?
• Frequent Delivery
• Face-to-Face Communication with clients.
• Efficient design and fulfils the business requirement.
• Anytime changes are acceptable.
• It reduces total development time.
Extreme Programming (XP) characterisitcs:
12 Practices
• The Planning Game:
• Small Releases:
• Metaphor:
• Simple Design:
• Tests:
• Refactoring:
XP Practices:
• Pair Programming:
• Collective Ownership:
• Continuous Integration:
• 40-hour Week:
• On-site customer:
• Coding Standard:
XP Strengths:
• Pre-Sprint Planning
• The Sprint Planning Meeting
• The Sprint Review Meeting
• The Sprint Retrospective
• A quality assurance practice
• The Daily Scrum Meeting
Scrum Working:
Scrum Roles
Evolutionary Prototyping
Build
Design
prototype
,. ( .- : --1:1 ',
'Refin•e
prototype :Product
Risk-with Plan Driven Models
https://www.researchgate.net/publication/329357135_ScrumFall_A_Hybrid_Software_P
rocess_Model/figures?lo=1
Referrences
• https://www.ibm.com/topics/software-development
• https://blog.bydrec.com/key-benefits-of-the-software-
development-life-cycle
• https://www.javatpoint.com/software-engineering-iterative-
model
• https://www.teach-
ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/protot
yping_RAD/miniweb/pg3.htm
• https://www.geeksforgeeks.org/overview-of-plan-driven-
development-pdd/
Referrences
• https://slidemodel.com/requirements-gathering-project-
management/
• https://www.educba.com/software-system-architecture/
• https://www.geeksforgeeks.org/introduction-of-software-
design-process-set-2/
• https://www.javatpoint.com/software-engineering-coding
• https://www.leewayhertz.com/software-testing-process/
• https://www.mcgilly.com/services/deployment-and-
maintenance/
Software Construction & Development
Week-2
Software development Process
https://www.spaceotechnologies.com/blog/software-development-process/
Software Development Process Phase 1
https://www.geeksforgeeks.org/introduction-of-software-design-
process-set-2/
Coding
r
ft, '
White Box Grey Box
Black Box
Testing Testing
Testing
Functional Non-Functional
Testing Testing
Deployment
Maintenance
rt
Requirement
Anallysis
sv tern
Des•gn
7
I1m1plementafon,
1estiing
Deployment
Ma1ntenanCie
Waterfall Model advantages and disadvantages
•
Iterative Process models
https://www.slideteam.net/iterative-process-model.html
Iterative Process models advantages and disadvantages
Iterative Process model - RUP
RUP Phases:
Inception, Elaboration, Construction and Transition
RUP Disciplines:
Main disciplines and Support disciplines
Iterative Process model - RUP
https://www.mindcrafts.ch/2014/03/12/rup-rational-unified-process/
RUP Strenghts and Weeknesses
Strengths:
• Straightforward, methodical and structured nature,
Predictability, stability and high assurance
Weaknesses
• Slow adaptation to rapidly changing business requirements
• A tendency to be over budget
• A tendency to behind schedule
• Failed to provide dramatic progress in productivity,
simplicity and reliability
Agile Methodologies
• Modularity:
• Iterative:
• Adaptive:
• Incremental and Risk Proactive:
• People Oriented:
• Collaborative:
Referrences
• https://www.ibm.com/topics/software-development
• https://blog.bydrec.com/key-benefits-of-the-software-
development-life-cycle
• https://www.javatpoint.com/software-engineering-iterative-
model
• https://www.teach-
ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/protot
yping_RAD/miniweb/pg3.htm
• https://www.geeksforgeeks.org/overview-of-plan-driven-
development-pdd/
Referrences
• https://slidemodel.com/requirements-gathering-project-
management/
• https://www.educba.com/software-system-architecture/
• https://www.geeksforgeeks.org/introduction-of-software-
design-process-set-2/
• https://www.javatpoint.com/software-engineering-coding
• https://www.leewayhertz.com/software-testing-process/
• https://www.mcgilly.com/services/deployment-and-
maintenance/
Software Construction and
Development
Week-7
Usability design Process
Usability evaluation of Interfaces
• Definition
• consists of methodologies for measuring the usability aspects of a system’s user
interface (UI) and identifying specific problems
• Usability Evaluation Methods
• testing, inspection, and inquiry
• Approaches to evaluate usability
• Summative
• Real users perform the real tasks on some defined applications and empirically measure
the usability in terms of effectiveness, efficiency and user satisfaction.
• Formative
• Formative approach employs the experts for UE using heuristics or guidelines
Heuristics for Interface Usability Evaluation
• An inspection based usability evaluation method
• Consists a systematic evaluation in which several experts—usually 3 to 5—analyze the
interface of an interactive system and make observations based on a set of principles known
as usability heuristics.
• The goal of heuristic evaluation is to discover problems related to the usability in the
interface design
• Protocol of a typical heuristic evaluation involves that each evaluator spends time inspecting
the system interface in an independent manner, making note of every usability problem
found. Once all evaluators have complete the evaluation, their individual findings are joined
in a unique common list of usability problems associated to those heuristics that were
violated. The evaluators must rate the severity of each problem, according to a scale of 0
(lowest severity) to 4 (highest severity)
• Nielsen proposed 10 general usability heuristics for the design and evaluation of interfaces,
Known as “Nielsen’s heuristics”.
Design and Evaluation Heuristics for
Smartphone : Case Study
• Smartphone Features with
associated Usability Limitations:
Smartphone Features with associated
Usability Limitations:
Small screen size Small screen size may cause congestion of information on display area and the user can
mistakenly click the incorrect option due to substantial information. On the other hand, if the
mobile UI contain small amount of information, then, there are chances that the end user could
not find some of the core information.
Limited input/output capabilities Adapted gestures for interaction may change the value of mobile usability. Similarly, simulated
keyboard also causes usability issues. Users concurrently spend the cognitive workload between
the content and the keypad region.
Limited computational resources User demands that smartphone should complete the task without any mistake and behave more
likely a desktop.
Limited power, More interface brightness, internet connectivity and working of multiple sensors requires more
consumption of battery power. End user suffers and compromises in such cases.
Mobile Physical buttons Small mobile buttons and labels can reduce the task effectiveness and efficiency.
Smartphone Features with associated
Usability Limitations
Costly bandwidth and limited connectivity The problem of slow and poor internet connection can reduce the tasks efficiency.
Wide heterogeneity Users of mobile systems continuously adapt to new forms. They need to learn different actions,
letters, gestures and others.
Mobility User while moving around may distract due to different context of use including bad light, noise
and others. These constraints effects the application usability.
Interruption Notifications and requests may reduce the task efficiency and user’s comfort level.
Multi-device access User’s familiarity with multi-device access demands mental effort to understand layout.
Wearable devices limited support All the given wearable, smart glass devices and other accessories are facing the usability issues.
Usability Heuristics for Smartphone
• Visibility of the system status
• Definition
• The smartphone should keep the user informed about all processes and state
changes through feedback and in a reasonable time. Feedback should
facilitate user in under- standing the device’s behavior.
• Explanation
• All such changes should be visible and communicated to the user. There are
some situations in which the user doesn’t initiate the task, but system
provides feedback in case of audio messages, low battery status and others.
System provides feedback in different forms including sound, light color
changes and others.
Visibility of the system status
• Example: Battery is showing the status that it
is left 72%.
• Benefits:
• Users feel comfort and react accordingly upon
precise feedback. Users well aware about any
application or system state changes within time
limit.
• Problems:
• There are many different types of feedback in
which the user’s familiarity with all these does
matter. Message sound generates against text
messages, notifications, Whatsapp
messages/audio, and others. So, different sounds
recognition and familiarity among other types of
feedback become difficult to understand and
differentiate.
Match between system and the real world
• Definition
• The smartphone should express users’ language instead of system oriented designs
and technicalities. The smartphone should present the information in a natural and
balanced way. Smartphone should follow the real world pacts.
• Explaination
• Displayed Information is of images, text, icons, titles, font, style, and color
scheme follow conventions and should present according to the situation. It is
observed that due to non- effective color scheme, looks difficult for users to
select any specific option/ icon. So, system should design keeping in view
environment variance. Use of color scheme and combination should conform
to community belief, values, culture and environment as well as to enhance
UX.
Match between system and the real world
• Example:
Battery status and weather condition shows symbol of
battery (bin) and clouds resembles respectively and
according to the real world.
• Benefits:
Logical and natural arrangement of information supports
every user to let it understand easily and perform the task
efficiently.
• Problems:
Real world conventions vary due to different of beliefs,
culture, conventions and others. So, possibly, due to
subjective nature, this heuristic identifies a flaw but, that
wouldn’t be a flaw by some other community
Realistic error management
• Definition
• Users may not always be precise in performing the task on mobile devices due to many
reasons, such as small screen size, kind of interaction etc. Application should provide
mechanism to prevent from error as well as display error message with proper diagnosis
and suggest suitable solution.
• a: Explanation
• System should provide proper security mechanism in case of sudden exit from the
application domain, removing SIM/battery/sudden shutdown due to battery end up. In
all such situations, system should provide a proper error message which highlights the
consequences of the action and also provide a way to target situation in a good manner.
When battery level goes down at a certain level, smartphone inform the user to take
appropriate action such as enabling the power saving mode to save data and for long
time usage.
• b: Example
• Smartphone displays error prevention mechanism, when the user wants to install or
update application in case of low space. System also suggests appropriate solution to get
free space in a good way as shown
Realistic error management
• c: Benefits
• Error prevention leads to enhance user
comfort and less time to complete the task.
Clear and recognizable error messages
support the user to handle the situation just
like a technician and recover from the error
• d: Problems
• This heuristic instructs the user to understand
the nature and type of error and how to use
the system to come out of the danger
situation. All this demands to know the
workflow of the system. This may be less
helpful for the naïve users.
Help and Documentation
• The smartphone application should provide documentation and help focused on the user’s current
task.
• a: Explanation
• Due to small screen size, designers put fewer information on screen. It may lead huge possibility to lose
its meanings for the user. That’s why, system should support the user to understand and execute the
current task effectively and efficiently. One possible support is to provide proper help and
documentation in an effective way. System should provide help and documentation with less cognitive
work- load and context switching. Help and documentation may not necessarily organize in different
menu setup or tab in mobile paradigm. System should support the user and provide help in the form of
clues about next steps of task accomplishment.
• b: Example
• Smartphone provides proper help, when the user wants to display next image. Clear steps are
mentioned to perform the current task. Another example is while using amazon mobile app, an option
to add an item in the cart gives a tip to press and drag the item at specific place.
Help and Documentation
• c: Benefits
• Proper help supports the user to
accomplish the task effectively and
efficiently. This heuristic also provides
support to the user to get complete
understanding of the system and can
execute task with less error.
• d: Problems
• This heuristic supports the user about
how to execute the current task for
proper accomplishment. So, for naïve
user, it is relatively difficult to
understand and recognize.
Refferences
• https://en.wikipedia.org/wiki/Usability
• https://nimitmangal.wordpress.com/2013/09/19/what-is-usability/
• https://learn.org/articles/What_is_Usability_Engineering.html
• https://ois2.ttu.ee › uusois/USABILITYandUSER INTERFACE DESIGN
Week5
Information presentation
Information presentation is concerned with
presenting system information to system users
The information may be presented directly (e.g.
text in a word processor) or may be transformed
in some way for presentation (e.g. in some
graphical form)
The Model-View-Controller approach is a way of
supporting multiple presentations of data
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1
Information presentation
Information to Presentation
be displayed software
Display
Model queries
and updates Model edits
Model state
Model methods
4000
3000
2000
1000
0
Jan Feb Mar April May June
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 6
Analogue vs. digital presentation
Digital presentation
• Compact - takes up little screen space
• Precise values can be communicated
Analogue presentation
• Easier to get an 'at a glance' impression of a value
• Possible to show relative values
• Easier to see exceptional data values
1
0 10 20
4 2
Pressure Temperature
0 100 200 300 400 0 25 50 75 100
OK Cancel
Developers believe
•it takes too long
•is too expensive
•is not critical to development
•they can afford to learn about user problems during
“live” use
Also developers may not know how to do it
Benefits of UE to an Organization
Reduce training costs
Reduce development costs
Identify and fix problems early
Reduce support costs; minimize need for
support personnel/help desks
fixes, maintenance, upgrades
Enhance organization’s reputation - positive “word-of-mouth”
trade
Larger numbers of “hit” and “return visit” rates
Benefits of UE to the User
Navigation
Knowing where you are
Finding what you want
Structure of web site
Layout
Needs sufficient white space
Use of large graphics
“The Google problem”
User Centered Design