Hello. I was told it was going to be $120
In C++ language. This assignment requires a multi-object simulation to manage teams in athletic leagues that will utilize software engineering practices, polymorphic design elements, exceptions, and unit testing. 1) Atheltic League Manager Your program will manage teams in a league for various sports. You will need to design and implement the following classes (it is up to you to decide how to structure them): · League · Track two divisions of teams (e.g. East, West) for the league · Track the sport (e.g. basketball, baseball) that the teams play · Division · Track the teams in that division · Sport · Abstract class defining details about the specific sport (e.g. minimum and maximum number of players, season of play) · Basketball · subclass of sport, 7-10 players/team, winter season · Ultimate frisbee · subclass of sport, 7-12 players/team, summer season · Baseball · subclass of sport, 9-15 players/team, summer season · Soccer · subclass of sport, 11-18 players/team, fall season · Team · Track team name, players (names and number), sport played · Each player must have a unique number (for their team) · League manager · Factory class that assigns teams to leagues and divisions Functionality · Be able to output details on a league · Be able to list divisions in a league, teams in a division · Be able to add teams to a division · Be able to remove teams from a division · Be able to add and remove players from a team · Be able to display a team's roster (name, number) You are more than welcome (and will likely need) to incorporate other elements than the ones outlined above. This includes other classes, other member variables and other methods. Functionalize well. Be sure to document what you add. Process You will develop, document and turn in the following artifacts. All non-code artifacts should be documented in a single well formatted markdown(.md) file inside your submission (10 pts) UML Diagrams Outline the form of all objects used and describe their relationships. This should be done using Extended UML Class Diagrams. (you can embed images into .md files if that is easier) (30 pts) Build the Software You ought to finish all of the previous documentation portions of this before starting to write code! Build the software, specifically the classes, to the specifications you defined in your documentation. This should go quickly as you already have done most of the work! Use proper style and documentation. (20 pts) Develop Unit Tests Test each developed class separately. You are welcome to integrate this into you main (with a user option: unit test or run system) or you can develop these tests in a separate directory referencing the main source directory. Make sure your unit tests confirm proper functionality by treating the class as a black box. Once turned in, if I can think of a way to break your code, you have not tested it properly. Make sure the unit tests are easy to interpret (have good outputs, like well formatted terminal prints). This should be done as you develop your classes, and should make integration very easy! (10 pts) Exception Handling Implement and demonstrate appropriate exceptions in class Bank. At a minimum, exceptions should be thrown if the application passes in invalid argument values for adding players or teams, and for adding too many players to a team. Make sure your final application catches these exceptions and demonstrates their use. (30 pts) Integration Put everything together and demonstrate how it might be used as an application. This should fully demonstrate how a user might interact with the Bank. Open a number of accounts (different kinds) for different kinds of users and perform a number of different transactions. There is no need for user interaction, you can simulate user interaction.