Skip to content

Commit 3a67b6a

Browse files
authored
Merge pull request #534 from thaafei/VnVReport/Final
Final Document changes
2 parents 2d83dc5 + d5abaad commit 3a67b6a

14 files changed

Lines changed: 1188 additions & 202 deletions

docs/ReflectAndTrace/ReflectAndTrace.tex

Lines changed: 222 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
\usepackage{booktabs}
55
\usepackage{multicol}
66
\usepackage{longtable}
7-
7+
\usepackage{graphicx}
8+
\usepackage{float}
89
\title{Reflection and Traceability Report on \progname}
910

1011
\author{\authname}
@@ -797,15 +798,229 @@ \section{Extras}
797798

798799

799800
\section{Design Iteration (LO11 (PrototypeIterate))}
801+
The design of DomainX evolved through multiple iterations based on stakeholder feedback and usability observations. The goal of these iterations was to improve usability, ensure methodological correctness, and enhance data consistency.
802+
\subsection{AHP Framework Redesign}
803+
804+
\textbf{Previous Design}
805+
806+
In the initial version, category importance was assigned using independent sliders. Each category was given a percentage weight directly by the user.
807+
808+
\begin{itemize}
809+
\item There was no direct comparison between categories
810+
\item Users could assign inconsistent weights
811+
\item The approach did not correctly follow the actual AHP methodology
812+
\end{itemize}
813+
814+
\begin{figure}[H]
815+
\centering
816+
\includegraphics[width=0.85\textwidth]{figures/old_ahp_weights.png}
817+
\caption{Initial weight assignment using independent sliders}
818+
\end{figure}
819+
820+
\textbf{Final Design}
821+
822+
We replaced this with a pairwise comparison matrix based on the AHP method. Instead of assigning percentages directly, users compare categories relative to each other using the Saaty scale.
823+
824+
\begin{itemize}
825+
\item Weights are computed automatically
826+
\item A consistency ratio (CR) is calculated to detect unreliable inputs
827+
\end{itemize}
828+
829+
This change was important because the slider approach looked simple but often produced unreliable results. The matrix-based approach is slightly more structured, but it ensures the final weights are meaningful and consistent.
830+
831+
\begin{figure}[H]
832+
\centering
833+
\includegraphics[width=0.85\textwidth]{figures/new_ahp.png}
834+
\caption{Pairwise comparison matrix with consistency validation}
835+
\end{figure}
836+
837+
\subsection{Visualization Improvements}
838+
839+
\textbf{Previous Design}
840+
841+
The earlier version used 3D-style bar charts and only displayed a small subset of libraries.
842+
843+
\begin{itemize}
844+
\item The 3D view made values harder to compare
845+
\item Not all libraries were visible at once
846+
\end{itemize}
847+
848+
\begin{figure}[H]
849+
\centering
850+
\includegraphics[width=0.8\textwidth]{figures/old_ahp_visual.png}
851+
\caption{Previous 3D visualization with limited libraries}
852+
\end{figure}
853+
854+
\textbf{Final Design}
855+
856+
We switched to a full ranking view using a standard 2D bar chart that shows all libraries.
857+
858+
\begin{itemize}
859+
\item Easier to compare values across libraries
860+
\item No hidden data (All libraries are visible)
861+
\end{itemize}
862+
863+
This change mainly came from usability issues. The previous chart looked visually appealing, but it was not practical when the number of libraries increased.
864+
865+
\begin{figure}[H]
866+
\centering
867+
\includegraphics[width=0.9\textwidth]{figures/new_ranking.png}
868+
\caption{Improved visualization showing full ranking of libraries}
869+
\end{figure}
870+
871+
\subsection{Metric Definition Improvements}
872+
873+
\textbf{Previous Design}
874+
875+
Originally, each metric had a single name field that was used both for display and internally in the system.
876+
877+
\begin{itemize}
878+
\item Renaming a metric could break functionality (especially for automated metrics)
879+
\item There was no clear distinction between manual and automated metrics
880+
\item Input expectations were not well defined
881+
\end{itemize}
882+
883+
\begin{figure}[H]
884+
\centering
885+
\includegraphics[width=0.85\textwidth]{figures/metrics_list.png}
886+
\caption{Metric management interface}
887+
\end{figure}
888+
889+
\textbf{Final Design}
890+
891+
We redesigned the metric configuration to separate concerns more clearly:
892+
893+
\begin{itemize}
894+
\item Introduced an internal \textbf{metric key} separate from the display name
895+
\item Allowed users to rename metrics without affecting system logic
896+
\item Added an explicit distinction between \textbf{manual} and \textbf{automated} data sources
897+
\item Supported structured metric types (Boolean, Integer, Range, etc.)
898+
\item Added input categories and scoring rules for controlled data entry
899+
\end{itemize}
900+
901+
\begin{figure}[H]
902+
\centering
903+
\includegraphics[width=0.7\textwidth]{figures/metric_edit_system.png}
904+
\caption{Configuration for automated metrics}
905+
\end{figure}
906+
907+
\begin{figure}[H]
908+
\centering
909+
\includegraphics[width=0.7\textwidth]{figures/metric_edit_manual.png}
910+
\caption{Configuration for manual metrics with predefined input categories}
911+
\end{figure}
912+
913+
This change was mainly driven by a stakeholder requirement: they needed the ability to rename metrics freely without breaking automated data collection. Separating the internal key from the display name fixed this issue and made the system more robust.
914+
915+
\subsection{Metric Value Input Improvements}
916+
917+
\textbf{Previous Design}
918+
919+
Metric values were entered directly inside a table, with each row representing a library.
920+
921+
\begin{itemize}
922+
\item Hard to navigate when many metrics were present
923+
\item Easy to lose track of which values were being edited
924+
\end{itemize}
925+
926+
\begin{figure}[H]
927+
\centering
928+
\includegraphics[width=0.9\textwidth]{figures/old_library_values_table.png}
929+
\caption{Row-based metric value input}
930+
\end{figure}
931+
932+
\textbf{Final Design}
933+
934+
We introduced a popup-based interface for editing values.
935+
936+
\begin{itemize}
937+
\item Users focus on one library at a time
938+
\item Inputs are grouped more clearly
939+
\end{itemize}
940+
941+
This made data entry much more manageable, especially for domains with many metrics.
942+
943+
\begin{figure}[H]
944+
\centering
945+
\includegraphics[width=0.8\textwidth]{figures/new_library_values_popup.png}
946+
\caption{Popup-based metric value input interface}
947+
\end{figure}
948+
949+
\subsection{Data Input and Validation Improvements}
950+
951+
\textbf{Previous Design}
952+
953+
All metric values were entered as free text.
954+
955+
\begin{itemize}
956+
\item Flexible but inconsistent
957+
\item Same value could be entered in different formats (e.g., "yes", "Yes", "Y")
958+
\end{itemize}
959+
960+
\textbf{Final Design}
961+
962+
We introduced structured inputs where possible:
963+
964+
\begin{itemize}
965+
\item Boolean metrics now use dropdowns (Yes / No / Unclear)
966+
\item Metrics with predefined scoring (e.g., ranges or rating scales) also use dropdown selections
967+
\end{itemize}
968+
969+
Free-text input is still allowed for metrics that require flexibility.
970+
971+
Instead of removing flexibility entirely, we limited it only where it caused problems. This helped standardize inputs without making the system too rigid.
972+
973+
\subsection{User Feedback and Iteration}
974+
975+
User feedback was collected through task-based testing with an external user (Ryan).
976+
977+
\textbf{Overall Observation}
978+
979+
Basic tasks such as domain creation, and exporting data were straightforward. However, usability issues appeared in more complex workflows involving metrics.
980+
981+
\textbf{Key Findings and Changes}
982+
983+
\textbf{Metric Creation}
984+
985+
Ryan noted:
986+
\begin{quote}
987+
"If the scoring rule is not clicked, the system does not allow saving, but there is no clear prompt or warning message."
988+
\end{quote}
989+
990+
This showed that although required fields (e.g., metric name, scoring rule, input category) were already enforced by the system, there was no feedback indicating which fields were missing. As a result, the system appeared unresponsive when users attempted to create a metric.
991+
992+
\textit{Change:}
993+
We added explicit validation feedback to indicate missing required fields, making it clear why a metric could not be created.
994+
995+
\vspace{0.2cm}
996+
997+
\textbf{Metric Value Input}
998+
999+
Ryan reported:
1000+
\begin{quote}
1001+
"It was difficult to find where to fill in the manual metrics... I had to scroll or search to locate them."
1002+
\end{quote}
1003+
1004+
This showed that the table-based input interface did not scale well.
1005+
1006+
\textit{Change:}
1007+
We introduced a popup-based interface to allow users to focus on one library at a time.
1008+
1009+
\vspace{0.2cm}
1010+
1011+
\textbf{Input Consistency}
1012+
1013+
Free-text inputs led to inconsistent data entry.
1014+
1015+
\textit{Change:}
1016+
We added dropdown inputs for metrics with predefined values (e.g., Boolean, ranges, scoring scales), while keeping free-text where needed.
1017+
1018+
\vspace{0.2cm}
8001019

801-
\plt{Explain how you arrived at your final design and implementation. How did
802-
the design evolve from the first version to the final version?}
8031020

804-
\plt{Don't just say what you changed, say why you changed it. The needs of the
805-
client should be part of the explanation. For example, if you made changes in
806-
response to usability testing, explain what the testing found and what changes
807-
it led to.}
1021+
\textbf{Summary}
8081022

1023+
The feedback helped identify usability gaps in metric-related workflows. The resulting changes focused on improving clarity, reducing user effort, and ensuring more consistent data entry.
8091024
\section{Design Decisions (LO12)}
8101025

8111026
\plt{Reflect and justify your design decisions. How did limitations,
680 KB
Loading
713 KB
Loading
627 KB
Loading
746 KB
Loading
530 KB
Loading
209 KB
Loading
182 KB
Loading
842 KB
Loading
450 KB
Loading

0 commit comments

Comments
 (0)