Giter Club home page Giter Club logo

2020sp-420-teamawesome's Introduction

Coverage

UMLEditor

Unified Modeling Language (UML) is a general-purpose, developmental, modeling language made for software engineers. It provides a standardized visualization the design of a system. UMLEditor is intended to allow the user to create, edit, and visualize the basic functions of UML.

Motivation

UMLEditor was created as per the course requirements of 420 Software Engineering at Millersville University during the Spring of 2020.

Installation Requirements

There is only one installation requirements for running UMLEditor. Apache Maven. Below is an outsourced link to a guide on how to install Maven Windows and Linux.

How to Run

After installation of Apache Maven, and Linux Bash Shell, or if you already have them installed. There are a few further steps to run the program.

Windows

  1. Download UMLEditor on GitHub
  2. Open a terminal
  3. Navigate to the directory where you have UMLEditor
  4. Type run-uml-console.bat for a console view or ./run-uml-gui.bat for a GUI view
  5. Type help to see a list of commands and descriptions

Mac/Linux

  1. Download UMLEditor on GitHub
  2. Open a terminal
  3. Navigate to the directory where you have UMLEditor
  4. Type run-uml-console.sh for a console view or ./run-uml-gui.sh for a GUI view
  5. Type help to see a list of commands and descriptions

Authors

TeamAwesome:

  • Ryan Haas
  • Anthony Mason
  • Dylan Wagner
  • Benjamin Mullins

Contributing

TeamAwesome is ecstatic about outside contributions. If you wish to contribute please read through our Contributing Guide.

The Contributing Guide includes the following sections:

  • Asking Questions
  • Providing Feedback
  • Reporting Issues
  • Existing Issues
  • Writing Bug Reports
  • Feature Quests.

Make sure any contributions follow the guidelines laid out in our Code of Conduct.

Code of Conduct

This project has adopted it's own Code of Conduct. For more information see Code of Conduct.

The Code of Conduct includes sections on:

  • Pledge
  • Standards
  • Responsibilities
  • Scope
  • Enforcement
  • Attribution

License

Licensed under the MIT License.

2020sp-420-teamawesome's People

Contributors

ryanhaas avatar anthony81799 avatar bjmulli1 avatar dylanwagner97 avatar willkill07 avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

2020sp-420-teamawesome's Issues

Loading file to GUI doesn't display fields or methods

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Load UMLEditor save file with a class with fields/methods
  2. Fields and/or methods do not display

Expected behavior
Fields and methods should be displayed to the user

Main Actions w/ no classes

Describe the bug
If there are no classes and the user tries to use any of the actions in the main menu bar an ArrayOutOfBoundsException occurs.

To Reproduce
Steps to reproduce the behavior:

  1. Start GUI
  2. Do not add any classes
  3. Try any of the actions under the Actions menu

Expected behavior
If there are no classes the buttons shouldn't do anything

Rename breaks all operations when modifying a class

Describe the bug
In the gui when you rename a class, then attempt do any operation.

To Reproduce
Steps to reproduce the behavior:

  1. in the gui create a class
  2. rename it
  3. attempt to do anything
  4. See error

Expected behavior
The action should have been applied, rather than report an error.

GUI tests can't run in headless environment

Describe the bug
The GUI tests will all error out and fail because they will throw several errors including 'java.awt.HeadlessException', 'No X11 Display variable set', etc.

To Reproduce
Steps to reproduce the behavior:

  1. Run 'mvn test'
  2. GUI tests error out

Expected behavior
Tests should be able to run in any environment

Additional context
At the moment I have excluded the GUI tests from being automatically run in the pom.xml file.

Can use "Edit Class" to enter invalid name

Describe the bug
When a class has been created with a valid name and you try to edit it to an invalid name it works when it should not.

To Reproduce
Steps to reproduce the behavior:

  1. Go to GUI (unsure about Console)
  2. Click on "Add Class"
  3. Enter a valid name
  4. Click "Edit class"
  5. Enter invalid name

Expected behavior
An error should be thrown and it should not work

'help' command crashes program

I think this is because of the args[1].isEmpty() call, which will freak out because if there is no second argument, it won't be empty it will be null/out of bounds.

Listing fields from loaded file in Console crashes program

Describe the bug
When you try to list the fields for a class it crashes out with a StringIndexOutOfBoundsException

To Reproduce
Steps to reproduce the behavior:

  1. Load a UMLEditor file with a class that has fields
  2. Enter 'list-fields '
  3. Program crashes

Expected behavior
Fields should be listed

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.