Group no.4 Group name : Luminous Candles Shimaa Esmat Ayesh 220150970 Safaa Ibrahim Al-Banna 220150968 Reem Rantise 220150765 Raghad Mahani 220151162 Preface This work for an android application for the requirements of Software Engineering course project in Computer Engineering department at The Islamic University of Gaza. This work provides the scope and context of the project to be undertaken. It details the intended user group and the value that the system will have to them. It also provides a schedule for the completion of the project, including a list of all the deliverables required. 1. Introduction a. Purpose This document contains the complete design description of the android application “Money manager”. This includes the architectural features of the system down through details of what operations each code module will perform and the database layout. It also shows how the use cases detailed in the SRS will be implemented in the system using this design. The primary audiences of this document are the software developers. b. Scope of project This software system will be an android application “Money manager”, where the objective from it is to design a sophisticated system which will help in planning, monitoring, and controlling the finances of your own, project or organization. This system will be help the users to plan budget more efficiently . Rather than getting to keep track of everything throughout the month, the Money manager lets you create custom categories in which you can simply subtract from as you spend. Just add your expenses to different categories and this app will tell you when you are running low on cash. Money manager helps plan and monitor your budget to determine wasteful expenses, Quickly adapts to changing your financial situation and achieving your financial goals. One can use this Planning process to prioritize your spending and focus your money on things that are most important to you. You can split expenses into several categories such as mortgage / rent, Utilities (complete with sub-categories such as gas and electricity), food, entertainment, and so on , and other expenses, such as those outside the home, you have the option not only to enter and classify Them in a variety of ways. Money manager is a handy mobile tool for managing finance. This application is suitable for track your income and expenses to build health financing. the Money manager is the perfect solution for managing your finances. you can organize cash flow, expenses and bank accounts in one place. Easy to understand graphs and graphs let you visualize how you spend your money from month to month. 1 c. Glossary: Architectural design is concerned with understanding how a software system should be organized and designing the overall structure of that system. confirmation the action of confirming something or the state of being confirmed. attributes a quality or feature regarded as a characteristic or inherent part of someone or something. Collaborate work jointly on an activity, especially to produce or create something Emphasis special importance, value, or prominence given to something. Use cases a model of UML diagram that shows the interaction between a system and its environment 2 1.5. Overview of Document : Chapter 2 is a Deployment Diagram that shows the physical nodes on which the system resides. This allows a clear explanation of where each design entity will reside. No design unit may straddle two nodes but must have components on each, which collaborate to accomplish the service. Chapter 3 is the Architectural Design. This is the heart of the document. It specifies the design entities that collaborate to perform the functionality of the system. Each of these entities has an Abstract Specification and an Interface that expresses the services that it provides to the rest of the system. In turn each design entity is expanded into a set of lower-level design units that collaborate to perform its services. Chapter 4 is the basic Data Structure Design, which for this project is a relational database. While it is separated out here for emphasis, it is really the lowest level of the Architectural Design. Chapter 5 is on User Interface Design and discusses the methodology chosen, why it was chosen and why it is expected to be effective. Chapter 6 describes the structure of the Help System. Chapter 7 exhibits the Use Case Realizations. The implementation of each use case identified in the SRS is shown using the services provided by the design objects. Since there are no real time considerations, that chapter has been removed from this document. 3 2.0. Deployment Diagram Usually, you release your application through an application marketplace, such as Google Play. However, you can also release applications by sending them directly to users or by letting users download them from your own website. The publishing process is typically performed after you finish testing your application in a debug environment. Also, as a best practice, your application should meet all of your release criteria for functionality, performance, and stability before you begin the publishing process 4 3.0. Architectural Design Name Type Node Description Attributes Resources Operation 3.1 Many manager Many manager Subsystem App Server This is the primary entrance to the system for an user to allow the user to track expenses Many manager data base Mobile platform Android OS Add_amount_spent( ) Add_total_balance( ) 5 Unit Design: 3.1.1 Login traker: Name Type Node Description Attributes Resources Operation 3.1 Login Login Android Interface App Server This class will entry you into the app to use User data base Mobile platform Android OS Name pass () Arguments: password Returns: Description: This method will entry you into the app to use after you click on the button Start the application Entering the application The user enter wrong password a) Enter your user name and password. b) Click on the button ( log in ) to entering the app. c) If the password or the user name is wrong ,you will see a massage telling the user that the password or the user name is wrong Pre-condition Post-condition Exception Flow of Events: 6 3.1.1 Money manager traker : Name Type Node Description Attributes Resources Operation 3.1 Money manager Money manager Android Interface App Server This class collects the functionalities of the interface of all users .We can add total balance & new costs, view all amount of spent, view remainder money and edit spent. Balance / Spent / Earn data base Mobile platform Android OS Name Add_total_balance() Arguments: None Returns: Description: The entered balance The user will add the total balance Pre-condition The user logged into the app The total balance is entered Post-condition 7 Flow of Events: Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: a) Click the button (+) in the money manager screen to enter paycheck amount. b) The entered paycheck amount should be displayed in the screen. c) The entered paycheck amount is successfully displayed in the screen. Add_spent() None The amount of spent The user will add the amount of spent and select the type of category The user has spent some amount > 0 The user can see balance amount & spent in the app The user may be enter wrong value (not in range) a) Click the button (-) in the money manager screen to navigate to Amount spent page b) The user should be able to view the Amount spent pop up box. c) The user clicks on ↓ and is able to view the Add amount spent pop up box. d) The user select the category type that he spent e) The user enters the description and the amount spent. f) The user clicks ok and the amount is entered and he is able to see the amount spent details after click Ok. Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: Select_category() None The user shall be given the amount earned , the amount spent , the amount reminder for that category and the amount of spent in percentage This class will show all amounts for the category that he click on to The user has earned amount for this category > 0 The user can see all information about this category User pressed on undefined category a) Click the icon of any category in the money manager screen . b) displays a page that show the category information c) Press OK to exit the page 8 3.1.2 Categories tracker : Name Type Node Description Attributes Resources Operation 3.1 Categories Categories Android Interface App Server This class allows the user to deal with categories in terms of addition, deletion and modification Mobile platform_Android OS Name Add_ category () Arguments: None Returns: Description: add more categories The user will add more categories and select icon to the category and add its amount that available to spent in this category The customer logged into the app; The user has the bills. The categories is stored a) Click at (Add new category) to add more categories to manager screen. b) The user write the name of category and its amount that available to spent . Pre-condition Post-condition Flow of Events: 9 c) The user click ok to add this category. d) The new category will be saved. Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: Remove_category() None Delete Specific category The user will be able to remove any category he wants. This category is already available The user may be delete the wrong choice that he wants a) Click the icon in the categories screen to remove specific category b) A confirmation message appears to delete this category. c) Press ok and remove this category Edit_earn() None The new amounts for specific category This class lets user be able to modify the amount of earn for any category This category is already available The user can add or modify another category The user may be enter wrong value type a) b) c) d) The user chose a specific category ho modify it . Click the icon to edit this category Entered the new value Press ok to save this modify 11 3.1.3 Setting tracker : Name Type Node Description Attributes Resources Operation 3.1 Setting Setting Android Interface App Server This class show the report to the user , let the user able to chose the type of period and View Help . Mobile platform_Android OS Name View_report () Arguments: None Returns: Description: All information of spent,balance,earn and reminder This class show the report to the user to show all information about the categories in the specific period The user has a real experience of already adding money and expenses Show all information a) Click at (:) and chose setting then chose view report. b) Anew page is open and show all information . c) Press ok to exit the page Pre-condition Post-condition Flow of Events: 11 Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: Name Arguments: Returns: Description: Pre-condition Post-condition Exceptions Flow of Events: Chose_period() None The type of period This class lets user to choose the period that he need to use it Log in Log out a) b) c) d) Click at (:) and chose setting then chose period. A new page is open and show type of periods. The user choose the type that he want. Press ok to exit the page Help() None New page This class view help Log in the app Log out a) Click at (:) and chose setting then chose help. b) A new page is open and show help. c) Press ok to exit the page 12 4.0 Data structure : 4.1 money manager 4.1.1 User table : Field Type User ID integer Categories ID Integer Balance Integer User name Text password Integer 4.1.2 category table : Description Primary key Identifiers of the categories The amount of paycheck The name of the user The password for the user Field Type Description Categories ID User ID Category name integer Integer Text Category icon Text Amount of earn integer Primary key foreign The names of the category in which the user distributed the salary The icons of the category in which the user distributed the salary The amount specified for this category is allowed to be spent 4.1.3 spent table : Field Type Description Category ID Amount of spent integer integer percentage integer foreign The amount spent from the specified amount of this category The percentage of the amount spent from the specified amount of this categroy 4.2 Setting : 4.2.1 time table : Field Type Description User ID Type of period Date integer integer integer foreign The type of mode The date of spent & earn 13 0.5 User Interface Design : In the (Money Manager) App When the user opens the program for the first time an interface will appear to enter the user name and password and then show him the main interface of the application. when he presses the plus button he can add the value of the total balance that he wants to enter. When he presses the minus button, he selects the specific category and enters the amount of expenses. When you click on the category icon, a list of the actual categories will appears. User can modify the amount of expenses or delete the category entirely. also in this list we have an option that allow the user to add a new category with selected icon the user can choose it and enter the earn value of this category. When he add a new category it will appear in the main screen . Every category appear at the main screen with its percentage (the expenses from the total earn of it). in the main screen we have a circle , inside this circle the total spend will write . The pressing on the three vertical dotes will show the setting list, in that list the user can requests a report of all the details (total balance ,total expenses, all categories and its spends ) . Also in the setting list the user can select the mode of the period that needed to spend the money on it ,the period mode can be a month or a semester. Another option here is the help option it allow the user to ask for help or more details. 14 6.0 Help System Design There is only a minimal Help System for this project. The setting will have a Help choice that will contain the following information: 1.An overview of the applications functionalities extracted from the SRS. 2.A list of error messages and details on why they were generated. 3.The Help System will contain instructions on how the user can bypass the user interface and access the database directly and how to use this app. 15 8.0. Use Case Realizations : 1. login the app : 2. Add balance : 16 3. Add category 4. Add spent amount : 17 5. Show category informatin : 6. Edit earn 18 7.Remove category 8.View report : 19 9. Select period 10. help : 21