https://github.com/nazlizamanian/object-oriented-software-development-with-design-patterns
Lab assigmenets completed in the course Object-oriented Software Development with Design Patterns course code TOUK18, mostly focused on use case and domain model diagram with UML notation. Additionally lab projects in java.
https://github.com/nazlizamanian/object-oriented-software-development-with-design-patterns
cesar-cipher design-model domain-model eclipse-ide gang-of-four-design-patterns grasp-patterns java tictactoe-game uml-diagram use-case-diagram
Last synced: 2 days ago
JSON representation
Lab assigmenets completed in the course Object-oriented Software Development with Design Patterns course code TOUK18, mostly focused on use case and domain model diagram with UML notation. Additionally lab projects in java.
- Host: GitHub
- URL: https://github.com/nazlizamanian/object-oriented-software-development-with-design-patterns
- Owner: Nazlizamanian
- Created: 2023-10-04T19:20:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-16T18:34:24.000Z (almost 2 years ago)
- Last Synced: 2025-04-05T07:41:34.749Z (6 months ago)
- Topics: cesar-cipher, design-model, domain-model, eclipse-ide, gang-of-four-design-patterns, grasp-patterns, java, tictactoe-game, uml-diagram, use-case-diagram
- Language: Java
- Homepage:
- Size: 328 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Object-oriented-Software-Development-with-Design-Patterns
Lab assigmenets completed in the course Object-oriented Software Development with Design Patterns course code TOUK18, mostly focused on use cases, domain and design model diagrams with UML notation. Additionally lab projects in java.## Lab 1 Use-case diagram
### Description
This laboratory task was composed of creating use-cases of a flighting booking system. Identifying the primary actors and their goals as well as offstage and supporting actors.## Lab 2 Domain Model
### Description
This assingment consisted of creating a domain model. A domain model is the first sketch that foucuses on WHAT, what requirements are there what do we want to fulfill. The domain model only consist of attributes and associations and isused in the OO Analaysis. From the domain model we build upon this and creating the design model. Desing model is commonly used in the OO design phase. The design model focuses on HOW, and includes more techincal details and we use the Gang of four and GRASP pattern to guide us.## Lab 3 Caesar Cipher Encryption, an MVC design Pattern
### Description
This lab assignement was to create a ceasar ciphear encryption engine in the language java. The Caesar Cipher, one of the earliest forms of encryption, employs a simple yet effective method of securing messages. It operates by employing an encryption key and an input message, which is shifted a specified number of steps, as determined by the encryption engine. Notably, this encryption method accommodates both positive and negative shift values, making it a versatile and foundational technique in the realm of data security. The programme follows a classical Move Controller View. Invalid input was placed in a seperate class. As placing invalid input in any of other places would violate atleast one GRASP pattern and the essence of each and every one of the Move, View and Controllers parts. In this situation, when the 'Information Expert' does not provide an optimal solution, we can introduce a pure fabrication/indirection class that soley focuses on this task. This approach improves the overall cohesiveness and reduces coupling within our system, and additionally follows the SOLID pattern Single Responsibilty Principle. High cohesion and low coupling help our system follow the separation of concerns principle thus making it overall more robust.## Lab 4 TicTacToe Game + design model
### Description
Created a simple Tic Tac Toe game in Java, implementing a clear design model that illustrates the hierarchy of classes and their interactions. The design model outlines how various classes collaborate to facilitate the game's functionality, indicating the roles and responsibilities of each class within the system. This design approach aids in understanding how the game components, such as the board, players, and game logic, work together to deliver the complete Tic Tac Toe experience.