uprm-inso4115-2023-2024-s2 / semester-project-automated-resume-builder

semester-project-automated-resume-builder created by GitHub Classroom
1 stars 0 forks source link

[Lecture Topic Task] Domain model inspection using defect-driven checklist #233

Closed irsaris closed 5 months ago

irsaris commented 6 months ago

Description: Add to the analytical section. Include who the inspectors are, the (substantial) question catalog the inspectors used, the items considered, the finding of the inspectors.

irsaris commented 5 months ago

Make sure to write this in the 3.2.1.2 Defect Driven Inspection section

Chosen-Juan1 commented 5 months ago

The professor has stated that I can use the check list found in the presentations. I shall use them to generate the inspection.

irsaris commented 5 months ago

Ok notify when its in the documentation

Chosen-Juan1 commented 5 months ago

The following checklist was used (the professor allowed me to use the one in the presentation): (Omissions?) Is this precisely defined somewhere ? Is there any hidden assumption required for this ? Is the rationale for this made explicit somewhere ?

(Contradictions?) Is this consistent with stated objectives or constraints?

(Inadequacies?)

Does this formulate what stakeholders really want?

(Ambiguities?) Can this be interpreted differently ?

Any other statements using this term with a different meaning?

(Unmeasurability?)

Is there a fit criterion for this quality requirement?

Is this stated in a way discriminating from alternative options?

(Noises?) Is this relevant to system objectives or constraints?

Does the negation of this make any sense?

Any other statements using this under different terms?

(Overspecification?) Does this entail premature design choices - any sensible alternative?

(Unfeasibility?) Is this implementable within a reasonable time/budget?

(Unintelligibility?) Is this comprehensible by anyone needing to use it?

(Remorse ?) Has this concept been used already before this definition?

(Poor structuring?) Is the structuring rule for those sections apparent, and natural ?

Any item related to this and described elsewhere?

Is this covering unrelated requirements?

Is this mixing requirements and assumptions altogether?

Is this mixing requirements and domain properties?

Any unnecessary mixing of functional & non-functional concerns?

(Opacity?)

Any interdependent items whose dependencies are not made visible?

(Poor modifiability?)

Would any change to this require propagation throughout major portions of the RD?

Using this checklist, I catalogued the requirements and gave a brief explanation as to why it falls within the stated check:

Omissions? Is this precisely defined somewhere? "The system must save the resume for later use." For this to be considered, we must make sure that we clarify where the resumes are being stored, is it in a database or is it going to be stored in a cache within the user’s website? "The system must allow users to be able to share their resumes via email or other sharing platforms." This requirement is a bit open ended when it comes to other sharing platforms, does it include support for the more popular ones, like outlook, gmail, or/and yahoo? Also, what does it mean by “sharing platforms? One that comes to mind would be linkedin, but I think the wording of “sharing platforms' ' is a bit too broad. Maybe by specifying more thoroughly, the issue would be solved. “Suggestions for improvement and compliance with standard resume practices (e.g., length, formatting) must be offered.” We need to define what “standard resume practices” mean, as not all companies share the same preferences because, unless we are casting a wide net over our local area, what is standard here in PR might not be standard in another state or country. “Security measures must be implemented to protect user data and ensure privacy.” These measures need to be named and defined. “The categorization and filter system shall provide real-time results with a response time of 2 seconds or less for 95% of user queries, under typical server load conditions.”, “The system must load the preview screen within 2 seconds for 95% of user interactions under typical server load conditions.” and “The system must load the data entry interface within an average of 3.3 seconds, with no single load time exceeding 4 seconds, under typical server load conditions.” “Typical server load conditions” is a loose term, as a server’s capability is mostly defined by the components that make it up. Because of this, more specifications are needed. “The system must handle a minimum of 1,000 simultaneous users selecting templates without service interruptions, verified by monitoring system stability during peak usage.” Without the definition of “server interruptions”, the requirements fail to capture what the system is guarding against. Is it referring to total interruption (as in, the server is down) or does server lag also count as an interruption? “The website must be able to interface with LinkedIn to transfer user resumes, verified through successful data transfer tests.” I have not seen these potential tests be defined within the documentation, specification on the tests would help this requirement’s definition. Is there any hidden assumption required for this? "The system must provide suggestions and examples for each section to guide users in filling out their resumes effectively." This would assume we could provide our users with suggestions that could actually benefit them. Maybe I’m thinking about this too hard, but is this suggesting that we generate suggestions based on the user’s information? This has to be clarified. "The system must include a help section or FAQs to assist users in navigating the interface and resolving common issues." This could be relegated to a future version of the system since the system currently has no users. For this reason, saying that the system must include a help section of FAQs is not very helpful during the phase we are currently in. "The system must load the template gallery within an average of 3.3 seconds." and "The system must load the data entry interface within an average of 3.3 seconds." How can we assure this? This assumes that we have ways of making that possible, how? What if the user has an extremely slow internet connection? The system might load it within the stated average but it might take more time to reflect that on the user’s side. What if the site is currently experiencing problems? Can’t assure these times when an DDOS attack is happening (this was a possible event discussed in class). Too many assumptions are taken here in order to make this requirement possible, thus it should be re-evaluated and backed up with more concrete data (maybe with proof that you can actually load the gallery in within an average of 3.3 seconds). “The system must associate only one person to every resume, specifically the person who the resume belongs to.” This assumes that there is a way to verify that the person using the account is the account owner. Some people lend their accounts to their friends or family members, so this assumes that the system has a way of verifying that the account name and the name being used is the same, a feature that I don’t think exists. “Database operations for storing and retrieving user data must be completed within 5 seconds for 95% of transactions, verified through database performance monitoring.” Supposing that the only challenge these processes face is the user’s connection speed, assuming that the database architecture is structured in a way that this statement is possible (which is another hidden assumption), this requirement assumes that only 5% of transactions encapsulate all possible cases where data storage and retrieval within 5 seconds is not possible. Such an assumption must be backed up with relevant statistics. Is the rationale for this made explicit somewhere? "The system must make only the contact section non-optional in order to create a resume." Why? I don’t think you can make a resume without things like the user’s name or their profession. This needs to be elaborated further.

Ambiguities? Can this be interpreted differently? "The interface must provide the user a way to use their electronic device to interface with the system." Is it referring to external devices like USBs or external storage units? or does it refer to “the interface must allow the user to use the system via their personal devices?” Specifying this requirement more thoroughly would benefit it.

Unmeasurability? Is there a fit criterion for this quality requirement? “The interface is responsible for providing users access to a user-friendly dashboard where they can manage their resumes, view saved drafts, and access previous versions.” and "The interface must be intuitive and user-friendly for creating and editing resumes." There has to be a definition for “intuitive” and “user-friendly” for this requirement to be considered. What is intuitive and user friendly for person A is not for person B. For example, a 24 year old college grad and a 40 year old who is job seeking might have different definitions of “intuitive” and “user-friendly”.

Chosen-Juan1 commented 5 months ago

(Its better formatted in the temporary doc it's stored in)

Chosen-Juan1 commented 5 months ago

Will ask the professor for validation today. If its ok, then ill will add it to the documentation.

Chosen-Juan1 commented 5 months ago

Checked with the professor, he says its good but must make sure that some requirements to disprove the placement of other requirements within the check list.

Chosen-Juan1 commented 5 months ago

After finishing the ER diagram, ill recheck this and post all within the documentation.

irsaris commented 5 months ago

Ok, notify when it is all in the document

Chosen-Juan1 commented 5 months ago

It's been added