Changes between Version 5 and Version 6 of ERModel


Ignore:
Timestamp:
07/18/26 15:23:04 (8 days ago)
Author:
236024
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v5 v6  
    345345||v08||Changed the weak entity keys of !EventSessions, !EventEditions and !ActivitySessions to account for edge cases where two sessions or editions could otherwise have the same identifying values and need location/title/start time to distinguish them.||
    346346
    347 \\
    348 
    349 = Entity-Relationship Model AI Usage =
     347== AI Use ==
    350348
    351349AI was used during the Entity-Relationship model phase only to review and improve my own initial model. The first versions of the model were created by me, and the AI was used afterwards to inspect the model, compare it with the project requirements, suggest possible improvements, explain unclear modeling choices, and help write the model documentation.
    352350
    353 My conversations with AI models, just like now, are usually for challenging my own way of thinking about the project and debating possible inconsistencies thoroughly.
    354 
    355 The final modeling decisions were made by me. Some AI suggestions were accepted, such as improving relationship names, clarifying weak entity keys, documenting data requirements, and checking consistency between the ER diagram and the written description. Other suggestions were rejected or adjusted when they did not match the intended scope of the project, for example adding unnecessary application review data, modeling event attendance, or expanding company management.
    356 
    357 The changes made based on useful AI suggestions are documented in the model history above. The full AI usage documentation is shown below.
    358 
    359 == Name of AI service/solution that was used ==
    360 
    361 OpenAI Codex / ChatGPT
    362 
    363 '''URL:'''
    364 https://chatgpt.com/
    365 
    366 '''Type of service/subscription:'''
    367 AI conversational and coding assistant, accessed through an OpenAI Plus subscription account.
    368 
    369 == Final result ==
    370 
    371 '''Diagram:'''
    372 
    373 [[Image(wiki:ERModel:ERModel_v08.png)]]
    374 
    375 '''Model description:'''
    376 
    377 The final result is ERModel_v08, an Entity-Relationship model for BEST Skopje Hub. The model represents students, members, membership stages, organizational functions, activity sessions, event editions, event sessions, applications, companies, attendance, absence announcements, volunteering, mentorship, and event/company cooperation.
    378 
    379 AI was not used to generate the final model from scratch. It was used to review my own model, suggest alternatives, explain unclear relationship/cardinality choices, and help improve the written data requirements. The final model decisions were selected and adjusted by me according to the actual scope of the BEST Skopje Hub project.
    380 
    381 == Entire AI usage log ==
    382 
    383 The following is a line-by-line log of the relevant interactions with the AI during the ER modeling phase.
    384 
    385 '''Prompt 1:'''
    386 Are you able to read the latest version ER model in this folder?
    387 
    388 '''AI response 1:'''
    389 The AI inspected the project folder, identified the latest ER model file at the time, and confirmed that it could read the TerraER XML structure. It listed the main entities and relationships found in the model.
    390 
    391 '''Prompt 2:'''
    392 Can you tell me if the ER model fulfills my requirements and if not, what is missing, and what is redundant?
    393 
    394 '''AI response 2:'''
    395 The AI compared the ER model with the BEST Skopje Hub requirements and the attached project description. It identified which concepts were already represented and suggested possible missing or redundant concepts, including attendance, applications, core team functions, member stages, event editions, and company cooperation.
    396 
    397 '''Prompt 3:'''
    398 I responded to the AI suggestions and explained which features were intentionally out of scope, such as attendance for events, application review data, and detailed company management.
    399 
    400 '''AI response 3:'''
    401 The AI revised its assessment based on my clarifications. It agreed that several earlier suggestions were unnecessary for this project and narrowed the advice to the parts that mattered for the ER model.
    402 
    403 '''Prompt 4:'''
    404 How could event/session eligibility be modeled in the ER Model?
    405 
    406 '''AI response 4:'''
    407 The AI explained that eligibility could be modeled either as an attribute, as a relationship to !MembershipStages, or through a separate audience group entity, but also explained that this could remain business logic if it was not configurable data.
    408 
    409 '''Prompt 5:'''
    410 I'm confused about the relationship between !FullMembers and !OrganizationalFunctions. Should it be N:M or 1:N or N:1?
    411 
    412 '''AI response 5:'''
    413 The AI explained that the relationship should be N:M because one full member can hold multiple organizational functions over time, and one organizational function can be held by different full members in different mandates.
    414 
    415 '''Prompt 6:'''
    416 Should valid_from and valid_to dates be added? I thought mandate implies that.
    417 
    418 '''AI response 6:'''
    419 The AI explained that mandate can be enough for the project if it represents the time period of holding a function. It suggested that valid_from and valid_to would only be necessary for more precise temporal tracking, which I decided not to include.
    420 
    421 '''Prompt 7:'''
    422 All relationships should be named and duplicate attribute/relationship names need to be fixed.
    423 
    424 '''AI response 7:'''
    425 The AI first suggested broad renaming, then corrected the suggestion after I clarified that only duplicate names needed to be changed. It helped identify duplicate names and suggested clearer names for relationships and attributes.
    426 
    427 '''Prompt 8:'''
    428 I wanted better names than "has" for identifying relationships such as !ActivitySessions and !ActivityTypes.
    429 
    430 '''AI response 8:'''
    431 The AI suggested names such as instance_of, edition_of, part_of, session_inst_of, and available_for, which helped improve the readability of the ER model.
    432 
    433 '''Prompt 9:'''
    434 I asked the AI to help organize the data requirements for ERModel_v07 based on my existing ER model.
    435 
    436 '''AI response 9:'''
    437 The AI extracted the entities, relationships, attributes, and keys from my existing model and suggested a draft structure for the data requirements. I reviewed, corrected, and adapted the explanations, candidate keys, and logical attribute types before including them in the final documentation.
    438 
    439 '''Prompt 10:'''
    440 Write the data requirements in TracWiki notation.
    441 
    442 '''AI response 10:'''
    443 The AI converted the data requirements into TracWiki-style headings and bullet lists.
    444 
    445 '''Prompt 11:'''
    446 I asked about the key of !EventSessions, especially because !EventSessions is weakly identified by both !EventEditions and !EventSessionTypes.
    447 
    448 '''AI response 11:'''
    449 The AI corrected its earlier interpretation and explained that the full key of !EventSessions should include the !EventEditions key, the !EventSessionTypes key, and the partial key of !EventSessions.
    450 
    451 '''Prompt 12:'''
    452 Check ERModel_v08 and the newest data requirements.
    453 
    454 '''AI response 12:'''
    455 The AI compared the actual ERModel_v08 file with the written data requirements and found several small mismatches, such as stale key wording and naming inconsistencies. These were corrected in the documentation.
    456 
    457 '''Prompt 13:'''
    458 I repeatedly asked the AI to check the model and text again.
    459 
    460 '''AI response 13:'''
    461 The AI rechecked the model and text multiple times, verifying that all entities, relationships, attributes, weak keys, relationship names, and data requirement descriptions matched. It found and helped fix small text issues.
    462 
    463 '''Prompt 14:'''
    464 I asked why names such as !EventEditions were being rendered as links in TracWiki.
    465 
    466 '''AI response 14:'''
    467 The AI explained that TracWiki automatically links CamelCase words and that adding an exclamation mark before such words prevents automatic linking.
    468 
    469 '''Prompt 15:'''
    470 I asked the AI to rewrite the text with exclamation marks before CamelCase entity names.
    471 
    472 '''AI response 15:'''
    473 The AI generated a TracWiki-safe version of the text where CamelCase model names were escaped with !, preventing unwanted wiki links.
     351The final modeling decisions were made by me. Some AI suggestions were accepted, such as improving relationship names, clarifying weak entity keys, documenting data requirements, and checking consistency between the ER diagram and the written description. Other suggestions were rejected or adjusted when they did not match the intended scope of the project, for example adding unnecessary application review data, modeling event attendance, or expanding company management.
     352
     353The changes made based on useful AI suggestions are documented in the model history above. The full AI usage documentation is available on the following page: [wiki:ERModelAIUsage ERModelAIUsage].