1. group 1 overview, conclusions, phase 3 re-submission
Post on 22-Jan-2018
121 Views
Preview:
TRANSCRIPT
OVERVIEW
Group 1 Liu, Shan
Perez, Luis Tyler, Kelly
Stephens, Henry Hwang, Sun Mok
Guillermo, John Reivy
UMUC
CMIS 495 PROFESSOR:
Dr. Paul Comitz
Lean Bean
Fitness Application
PROBLEMS
PROPOSED SOLUTIONS
IMPLEMENTED SOLUTIONS
RESULTS
Contents 1.0 Document Scope ...........................................................................................................................3
1.1 Product Description ...................................................................................................................3
1.2 Overview of Documentation ......................................................................................................3
1.3 Software Functions....................................................................................................................3
1.4 Developmental Overview...........................................................................................................4
1.5 Current Sprints / Objective Descriptions: ........................................ Error! Bookmark not defined.
2.0 Functional Block Diagram and Description. .....................................................................................6
3.0 Main Menu ...................................................................................................................................8
3.1 Problems ..................................................................................................................................8
3.2 Proposed Solutions....................................................................................................................8
3.3 Implemented Solutions..............................................................................................................8
3.4 Results......................................................................................................................................9
4.0 Profile ........................................................................................................................................ 10
4.1 Problems ................................................................................................................................ 10
4.2 Proposed Solutions.................................................................................................................. 10
4.3 Implemented Solutions............................................................................................................ 10
4.4 Results.................................................................................................................................... 11
5.0 Food Menu ................................................................................................................................. 12
5.1 Problems ................................................................................................................................ 12
5.2 Proposed Solutions.................................................................................................................. 12
5.3 Implemented Solutions............................................................................................................ 12
5.4 Results.................................................................................................................................... 13
6.0 Exercise Menu ............................................................................................................................ 14
6.1 Problems ................................................................................................................................ 14
6.2 Proposed Solutions.................................................................................................................. 14
6.3 Implemented Solutions............................................................................................................ 14
6.4 Results.................................................................................................................................... 15
7.0 Progress Report .......................................................................................................................... 16
7.1 Problems ................................................................................................................................ 16
7.2 Proposed Solutions.................................................................................................................. 16
7.3 Implemented Solutions............................................................................................................ 16
7.4 Results.................................................................................................................................... 17
8.0 Credits........................................................................................................................................ 18
8.1 Problems ................................................................................................................................ 18
8.2 Proposed Solutions.................................................................................................................. 18
8.3 Implemented Solutions............................................................................................................ 18
8.4 Results.................................................................................................................................... 19
9.0 Lessons Learned.......................................................................................................................... 20
10.0 CONSOLEPROGRAM.JAVA ................................................................ Error! Bookmark not defined.
11.0 USERPROFILE.JAVA .......................................................................... Error! Bookmark not defined.
12.0 EXCERCISERECORD.JAVA.................................................................. Error! Bookmark not defined.
13.0 FOODRECORD.JAVA......................................................................... Error! Bookmark not defined.
14.0 MAINMENU.JAVA............................................................................ Error! Bookmark not defined.
15.0 PROFILE.JAVA.................................................................................. Error! Bookmark not defined.
16.0 FOODMENU.JAVA ........................................................................... Error! Bookmark not defined.
17.0 EXCERCISE.JAVA .............................................................................. Error! Bookmark not defined.
18.0 PROGRESSREPORT.JAVA .................................................................. Error! Bookmark not defined.
19.0 CREDITS.JAVA ................................................................................. Error! Bookmark not defined.
Table of Figures Figure 1: Overall Progress....................................................................................................................4
Figure 2: Developer Responsibilities:...................................................................................................5
Figure 3: Consolidated Timeline of Milestones......................................................................................5
Figure 4: UML and Flow Diagram .........................................................................................................6
Figure 5: Main Menu GUI ....................................................................................................................8
Figure 6: Main Menu Progress .............................................................................................................9
Figure 7: Description of Results (Progress Tables) featured in this document .........................................9
Figure 8: Profile GUI.......................................................................................................................... 10
Figure 9: Profile Progress .................................................................................................................. 11
Figure 10: Food Menu GUI ................................................................................................................ 12
Figure 11: Food Menu Progress ......................................................................................................... 13
Figure 12: Exercise Menu GUI ............................................................................................................ 14
Figure 13: Exercise Menu GUI Progress .............................................................................................. 15
Figure 14: Progress Report GUI.......................................................................................................... 16
Figure 15: Progress Report GUI Progress ............................................................................................ 17
Figure 16: Credits GUI ....................................................................................................................... 18
Figure 17: Credits GUI Progress ......................................................................................................... 19
Figure 18: Change Recommendations for Documentation: ................................................................. 21
1.0 Document Scope
1.1 Product Description
The Lean Bean Fitness application is designed to provide the user several convenient options for
assistance with progress toward achieving weight loss goals by providing guidelines for maintaining
good nutrition habits. The software functions listed in the table below are assembled to assist in
exercise planning, meal planning, unique user profiling, and health conscious progress reporting.
Progress reporting allows the user to verify nutritional information such as daily calorie intake based on
daily diet.
Significant features of this product include a compelling and attractive Graphic User Interface (GUI). The interface provides a simplified approach for daily monitoring of healthy activities that complements users with a busy schedule. It promotes a gradual change of lifestyle toward improvement of the users health.
1.2 Overview of Documentation The primary objective of the Overview documentation is to provide software developers and
stakeholders a point of reference in the final phase of application development leading toward testing of
the finished product. It includes an overview describing software functions, developmental progress,
primary objectives, responsibilities, and milestones. Additionally, a functional block diagram is included
and supplemented with a detailed account of problems, proposed solutions, implemented solutions,
and results contributing to the completion of the final product.
1.3 Software Functions
Function Description of Primary Functions Provided
Main Menu Provides top-level selection for primary functions.
Profile Provides input for identification and physical condition information.
Food Menu Lists a variety of foods with calorie count.
Exercise Menu Lists a variety of exercises with expected calorie burning effect.
Progress Report Displays user progress including daily caloric intake.
Credits Displays the names of the application developers
1.4 Developmental Overview.
Figure 1: Overall Progress
The current phase of source code development focuses 100% on GUI operability. The IDE Console test provides a comprehensive version of software functions around which to structure the GUI. It serves as a guide to ensure functional cohesion under development of multiple programmers. An IDE Console test provides a simplified version of the initial design which covers most of the high priority functions of the applications operability. At a minimum these functions are test scheduled for the final products GUI operability. This ensures the introductory 1.0 version of the application has functions driven by a completed and working GUI. Workings include GUI features matching the console based functions shown in the UML and Flow diagram figure 4. Development of a JAVA based application is the best option for completing a functional application within time constraints. Developments include a JAVA Swing GUI structure parallel to the “println” based structure of the functional block diagram, but using JFrames, JPanels, and Jbuttons, and image imports via “JButton profileButton = new JButton();
0 10 20 30 40
Console Program
Credits
Exercise
ExcerciseRecord
FoodMenu
FoodRecord
MainMenu
ProgressReport
UserProfile
Actual
Possible
Function Percent Complete
Actual Possible %
MainMenu 14 14 100%
UserProfile 17 17 100%
Profile 40 40 100%
FoodMenu 38 38 100%
FoodRec 7 7 100%
Excercise 36 36 100%
ExcerciseRec 7 7 100%
ProgressRep 29 29 100%
Credits 16 16 100%
DATA SOURCE DESCRIPTION: This document includes tables which show the total number of
methods for which GUI operability has been completed. The number of operable GUI elements
(possible) is compared to the (actual) number of GUI
profileButton.setIcon(new ImageIcon(--image URL--);”. The GUI classes interface with the main method for page navigation. Tasking for completion is as follows:
Figure 2: Developer Responsibilities:
Developer Application Feature
Sun Food Menu John Graphics / Page Layouts, Profile & Credits
Kelly Exercise Menu Louis Documentation & Coding Assistance
Shan Main Menu, Profile, & Progress Report Henry Documentation
Figure 3: Consolidated Timeline of Milestones
ANALYSIS PHASE
Features, functions
Users Development and User Environments
Possible implementation constraints The development team
TEST PLAN PHASE
Features and functions to be tested
Strategy and approach Policies and Procedures for testers to follow
Sample test cases
DESIGN PLAN PHASE
Architecture of the system as a whole
Data structures and fields within the programming “Look and feel” of graphical interfaces
SOURCE CODE DEVELOPMENT PHASE
Set goals/milestones to be reached throughout the week
Assign tasks and responsibilities to team members Record progress, as well as any ideas for changes during development
2.0 Functional Block Diagram and Description.
Figure 4: UML and Flow Diagram
DIAGRAM DESCRIPTION
This diagram describes the run of the program from start to finish.
When the program runs, the Main Menu interface will open. From here the user can select other interfaces to enter by using the buttons assigned to them.
Within each “sub-menu”, interact with the functions of that specific screen. For example, the user can select the Profile button to open the Profile interface, and
view or edit what they have set as their personal attributes.
The user can also move between the other interfaces, or return to the Main Menu,
again by using assigned buttons.
To close the application, the user must select the “exit” button from the Main
Menu
3.0 Main Menu
Figure 5: Main Menu GUI
3.1 Problems
3.2 Proposed Solutions
3.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);}
3.4 Results
Figure 6: Main Menu Progress
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Main Menu 14
Figure 7: Description of Results (Progress Tables) featured in this document
The purpose of the results tables is to quantify the number of methods within each class for
which the coding has been completed. For example, the table above shows method names for
button actions performed. A “1” next to a method name indicates that coding for the method is
complete. The combined total of completed methods and GUI elements are highlighted in
yellow. These combined totals are used as the source of data for figure 1, “Overall Progress.”
4.0 Profile
Figure 8: Profile GUI
4.1 Problems
4.2 Proposed Solutions
4.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);}
4.4 Results
Figure 9: Profile Progress
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1
User Profile 17 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Profile 40
5.0 Food Menu
Figure 10: Food Menu GUI
5.1 Problems
5.2 Proposed Solutions
5.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);}
5.4 Results
Figure 11: Food Menu Progress
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1
1 Food Record 7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Food Menu 38
6.0 Exercise Menu
Figure 12: Exercise Menu GUI
6.1 Problems
6.2 Proposed Solutions
6.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);}
6.4 Results
Figure 13: Exercise Menu GUI Progress
1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 Exercise Record 7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Exercise 36
7.0 Progress Report
Figure 14: Progress Report GUI
7.1 Problems
7.2 Proposed Solutions
7.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);}
7.4 Results
Figure 15: Progress Report GUI Progress
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Progress Report 29
8.0 Credits
Figure 16: Credits GUI
8.1 Problems
8.2 Proposed Solutions
8.3 Implemented Solutions
Problem: The Buttons are coded with setVisible(false). I know this is to have invisible buttons, but now they don't seem to be clickable. To test, I've entered some code to just print "hello" to the console, if I click the profileButton, but it doesn't seem to register.
Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out the text property - make it blank, or else the black text will appear over the background image. then Right-click the button, and select Customize Code. It looks like this is the only way to change it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false); setContentAreaFilled(false); setBorderPainted(false);} Solution: For invisible buttons, Go to the Gui builder - Design tab, Click the button, and clear out
the text property - make it blank, or else the black text will appear over the background image.
then Right-click the button, and select Customize Code. It looks like this is the only way to change
it. This Code Customizer will pop up. For the button you selected, setVisible to true, and add other
lines of code below it, making it clickable, but invisible. { .setvisible(true); .setOpaque(false);
setContentAreaFilled(false); setBorderPainted(false);}
8.4 Results
Figure 17: Credits GUI Progress
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
GUI Credits 16
9.0 Lessons Learned
With two versions of the application under development, progress on interfacing has been limited to the logical interface of the JAVA version and the layout interface of the Android version. The majority of code for the functions listed has only recently been completed and accompanied with a working test description. UML figure updates can be accomplished by extracting the class structure from the IDE package explorer.The graphic elements of the interface have seen significant progress. However they are more geared toward Android functionality. Leaving additional tasking for the development of the logical interface without the GUI took precedence to ensure a basic interface structure was completely laid defining the overall purpose of the application. Concerning operability, graphics were loaded and buttons working in relation to graphics that move from page (activity) to page. Were not sure how it will work on different devices but it looks good on the emulator I'm using (Nexus 5).We are not sure if the exercise graphic is going to work. Rather, the page will likely be a drop down list of exercises that the user chooses from. It seems that Genymotion do have a virtual android environment but it's not on the free version of the program. You can however use the emulator instead of AS emulation and I can say that it's faster. We also looked at how the GUI would coincide with Netbeans. Android Studio and Netbeans'
interface are in fact different. The resolution within Netbeans is different. The graphics frames
needed to be adjusted to around 537 x 957 (width x height) for the graphic to fit. We found that
dealing with XML / 3XML and two different IDE environments that treat frame dimensions
differently turned out to be too time consuming.
Overall, the application got behind schedule and some functionalities were cut off from proposed
requirements. Although the graphics is the application's design strength, the application as a whole
still lacked the functionality that was expected in the final phase of the development process.
Future improvements could include a better work ethic within the group members and a better
time management within the development phase of the application.
Figure 18: Change Recommendations for Documentation:
Design Plan TASK: ADDRESSED(A) NOT ADDRESSED (NA)
A NA
section 1.2. Proceed with development of JAVA application description. X
section 3.0 Proceed with development of JAVA application. X
section 3.1. Provide UML activity diagram for JAVA swing application.
X
section 4.2 Determine software database related functions needed for storing profile and progress reporting data.
X
section 4.4 & 5.0 Discuss implementation of GUI navigation via main method X
section 5.2 Ensure all team members are sharing the same developer IDE environment (Netbeans). Discuss the use of IDE for preliminary testing of the applications logical structure and functions.
X
Test Plan A NA
More work needs to be put into the general description of the applications purpose, functions, and features.
X
Shift introductory references to glossary. X
Specify specific applications of all developer tools in the testing process.
X
section 2.4 Need supporting text for use and purpose of I/O tables with the testing procedures.
X
section 3.1 Reserve feature descriptions for supporting text alongside use case tables.
X
section 3.2 Assemble all discussion of testing technics (approach, black box, white box) in this section.
X
section 4.0 Find a better solution for cross referencing the similarities among test case activities to reduce page flipping.
X
Annex A Include supporting text for use of tables (IAW section 2.4) X
(Figure 10 Cont….)
Initial Analysis TASK: ADDRESSED(A) NOT ADDRESSED (NA)
A NA
section 1.2. Proceed with development of JAVA application description.
X
Our closest effort thus far has been to identify I/O and GUI screens without a concise general description close to finalization of functionality.
X
This should summarize current details of the I/O and the annotated description of the design plan GUI.
X
section 1.3 Provide details for team members on how the documented references will contribute to each stage of development.
X
section 2.1 2.1 Product Perspective - Proceed with development of JAVA application description.
X
section 2.4 2.4 Operating Environment needs emphasis on JAVA Swing. X
Section 2.5 (Constraints) Clarify sprint goals with priority for base functionality. (Consolidated Timeline)
X
Create project backlog. (Use results analysis tables included in this document).
X
section 2.6 Ensure developer test plan details are not included as user documentation.
X
section 3.2 3XML will not be used. X
section 4.0 Use Cases require more supporting text. X
section 5.0 Development plan schedule needed. Milestones currently documented may need to be expanded or repeated.
X
Need software based configuration management. X
top related