0% found this document useful (0 votes)
13 views41 pages

Revision Cluster 7

The document outlines the process of data migration, including planning, strategies (Big Bang vs. Trickle), and testing phases. It emphasizes the importance of understanding source data, maintaining data quality, and conducting thorough testing to ensure successful migration. Additionally, it discusses user interface design principles and software development methodologies, highlighting the role of in-house development and open-source software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views41 pages

Revision Cluster 7

The document outlines the process of data migration, including planning, strategies (Big Bang vs. Trickle), and testing phases. It emphasizes the importance of understanding source data, maintaining data quality, and conducting thorough testing to ensure successful migration. Additionally, it discusses user interface design principles and software development methodologies, highlighting the role of in-house development and open-source software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 41

Revision

Cluster 7 Update and Maintain Server


ITIDAT0193C Migrate to new technology

ITINET0823B Create scripts for networking

ITIPRG2163B Design client user interface

ITIPRG1703B Maintain custom software

ITINET0153A Research and review hardware technology options for organization


Understanding Data Migration

•Data migration is the process


of moving data from one
system to another.
What should data migration plan entails?

 Knowing the data — Before migration, source data


needs to undergo a complete audit. Unexpected issues
can surface if this step is ignored.
 Cleanup — Once you identify any issues with your
source data, they must be resolved. This may require
additional software tools and third-party resources
because of the scale of the work.
What should data migration plan entails?

 Maintenance and protection — Data undergoes


degradation after a period, making it unreliable. This means
there must be controls in place to maintain data quality.
 Governance — Tracking and reporting on data quality is
important because it enables a better understanding of data
integrity. The processes and tools used to produce this
information should be highly usable and automate functions
where possible.
Data Migration Strategies -Big Bang” Migration

• In a big bang data migration, the full transfer is completed within a limited
window of time. Live systems experience downtime while data goes through ETL
processing and transitions to the new database.

• The draw of this method is, of course, that it all happens in one time-boxed event,
requiring relatively little time to complete. The pressure, though, can be intense,
as the business operates with one of its resources offline. This risks a
compromised implementation.

• If the big bang approach makes the most sense for your business, consider running
through the migration process before the actual event.
Data Migration Strategies -“Trickle” Migration

• Trickle migrations, in contrast, complete the migration process in


phases. During implementation, the old system and the new are run in
parallel, which eliminates downtime or operational interruptions.
Processes running in real-time can keep data continuously migrating.

• Compared to the big bang approach, these implementations can be


fairly complex in design. However, the added complexity — if done
right — usually reduces risks, rather than adding them.
Question
• Outline the difference in approaches when using the Big Bang and
Trickle Migration Strategy?

• In which scenario is a the Big Bang better to use over the Trickle
migration strategy?
Migration Phases:Explore and Assess the Source

• Before migrating data, you must know (and understand) what you’re migrating, as
well as how it fits within the target system. Understand how much data is pulling
over and what that data looks like.

• There may be data with lots of fields, some of which won’t need to be mapped to
the target system. There may also be missing data fields within a source that will
need to pull from another location to fill a gap. Ask yourself what needs to
migrate over, what can be left behind, and what might be missing.
Migration Phases: Define and Design the Migration

• The design phase is where organizations define the type of migration to take on —
big bang or trickle. This also involves drawing out the technical architecture of the
solution and detailing the migration processes.

• Considering the design, the data to be pulled over, and the target system, you can
begin to define timelines and any project concerns. By the end of this step, the
whole project should be documented.

• During planning, it’s important to consider security plans for the data. Any data
that needs to be protected should have protection threaded throughout the plan.
Build the Migration Solution

• It can be tempting to approach migration with a “just enough”


development approach. However, since you will only undergo the
implementation one time, it’s crucial to get it right.

• A common tactic is to break the data into subsets and build out one
category at a time, followed by a test. If an organization is working on
a particularly large migration, it might make sense to build and test in
parallel.
Conduct a Live Test

• The testing process isn’t over after testing the code


during the build phase. It’s important to test the data
migration design with real data to ensure the accuracy
of the implementation and completeness of the
application.
• Flipping the Switch
• After final testing, implementation can proceed, using the
style defined in the plan.
• Audit
• Once the implementation has gone live, set up a system to
audit the data in order to ensure the accuracy of the
migration.
Question
• Outline the difference and the importance of the audit and conduct
live test phases.
What is Testing?
• Software testing is the process of applying checks to software in order
to reveal programming errors, design flaws or other shortcomings.
Test includes:
•• Unit testing - finding programmer errors in the smaller components of
the software.
•• Integration testing - finding errors in the larger-scale design and
interfaces.
•• Security testing - testing to discover any security holes in the software.
What is Testing? (cont’d)
• System testing - where the performance of the whole system is tested.
• Profiling - where we try to make the software as efficient as possible.
• Acceptance testing - where the software producer demonstrates to the client
that each aspect of the functionality conforms to the specification, and the
client signs off.
• User testing - studying how easily people can understand and use the
software.
Question
• Contrast the four test mentioned.
Why is test code is an integral part
of the software?
This has several advantages:
• The tests define very accurately what the main software is required to
do.
• Very large numbers of tests on every aspect of the software can be
run in a short time.
• The tests are not conducted once, but any time the code is changed.
Two Types of Errors

You will need to solve two


distinct types of errors in your
programs
•syntax errors
•logical errors.
Syntax v Logical Error
•Syntax Errors occur when we violate
the rules of writing the statements
of the programming language.
•Logical Errors occur due to our
mistakes in programming logic.
Program fails to compile and
execute.
SYNTAX
v Logic
How to reduce logical error
1.Pair Programming: Collaborating with another
programmer can help catch logic errors that might be
missed by a single person.
2.Code Reviews: Have your code reviewed by
colleagues or peers. Fresh eyes can often spot logic
errors that you might have overlooked.
• Use Pseudocode: Write pseudocode or high-level
descriptions of your code's logic before you write actual
code. This helps you visualize the steps and identify any
logical flaws before implementation.
How to reduce syntax error
1.Understand the Language: Familiarize yourself with the syntax rules
and conventions of the programming language you're using. Each
language has its own set of rules for how code should be structured and
written.
2.Use an Integrated Development Environment (IDE): An IDE provides
features like code highlighting, auto-completion, and syntax checking,
which can help you catch syntax errors in real-time as you type.
3.Review Documentation: Refer to the official documentation of the
programming language. It often includes examples of correct syntax and
common errors to avoid.
4.Check Parentheses, Brackets, and Quotes: Make sure that all
opening and closing parentheses, brackets, and quotes are properly
matched. Mismatched symbols can lead to syntax errors.
What is a User Interface?
• The User Interface consists of all aspects of the design
object that the user interacts with physically,
perceptually, or conceptually.
– Controls
– Labels and signs
– Displays
– Help and documentation
– Etc.
• The User Interface is the “bridge” between the Designer
and the User.
User Interface Design
• There are several phases and processes in the use interface design
• Functionality requirements gathering
• User analysis
• Information architecture
• Prototyping
• Usability testing
• Graphic interface design
User Interface Design
• Functionality requirements gathering
• Assembling a list of the functionality required by the system
• Requirerments are needed to accomplish the goals of the project
• Understand the needs of the users
User Interface Design
• User analysis
• Analysis of the potential users of the system
• Discussions with people who work with the users and/or users themselves
• What would the user want the system to do?
• How would system fit in with the normal work?
• How tecnically savvy is the user?
• What interface look & feel is best for user?
Understanding users’
needs
• Need to take into account what people are good and bad
at

• Consider what might help people in the way they currently


do things

• Think through what might provide quality user experiences

• Listen to what people want and get them involved

• Use tried and tested user-centered methods


User Interface Design
• Information architecture
• Development of the process and/or information flow of the system, e.g.
• Hierarchy of web pages in a site
• Possible screens/options
User Interface Design
• Prototyping
• Development of wireframes, either in the form of paper prototypes or simple
interactive screens
User Interface Design
• Usability testing
• Testing of the prototype on an actual user using e.g. think aloud protocol
User Interface Design
• Graphic interface design
• Actual look & feel design of the final graphical user interface (GUI)
• Based on prototyping, usability testing, communication with users
• Style guides, heuristics
Goals of UI design
• Develop usable products
• Usability means easy to learn, effective to use and provide an enjoyable
experience
• Involve users in the design process
Usability attributes
Attribute Description
Learnability How long does it take a new user to
become productive with the system?
Speed of operation How well does the system response match
the user’s work practice?
Robustness How tolerant is the system of user error?
Recoverability How good is the system at recovering from
user errors?
Adaptability How closely is the system tied to a single
model of work?
Software Development
• Refers to a set of computer science
activities dedicated to the process of
creating, designing, deploying and
supporting software. Software itself is
the set of instructions or programs that
tell a computer what to do. It is
independent of hardware and makes
computers programmable.
What is in-house development?
• Also known as insourcing, in-house development simply
means developing software using the experts you have
on hand at your company. You don't get any external
help; all the developers are employed by you and
performing their assigned tasks for you.
What is in-house development?
Open Source

•Open source software (OSS)


is software that is distributed
with its source code, making it
available for use,
modification, and distribution
with its original rights.
Software Development Methodology

You might also like