Giter Club home page Giter Club logo

nazlizamanian / object-oriented-software-development-with-design-patterns Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 336 KB

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.

Java 100.00%
domain-model eclipse-ide java uml-diagram use-case-diagram cesar-cipher tictactoe-game design-model gang-of-four-design-patterns grasp-patterns

object-oriented-software-development-with-design-patterns's Introduction

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.

object-oriented-software-development-with-design-patterns's People

Contributors

nazlizamanian avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.