MODELING THE SOFTWARE “PRODUCT DESIGN” By: Dejan Ahmetovic SWE 3633 Assignment 1 Dr. Frank Tsui 1/22/2015 This program will display the solar system. It will allow users to log in and based on the information entered it will determine what kind of a user it is and display different windows for the user. The two main users are a system administrator and the regular user. System administrator is responsible for entering correct information into the program. Regular user can only view the information provided by the system administrator. PART A Requirements: 1. When the program first starts, it connects to the database. A. If the program has problems connecting to database, it will inform the user. 2. If the connection to the database was successful, log in box pops up and lets the user log in. 3. When the user press Login button, it checks if the user exists in database. a. If the user does not exists in database, they are prompted to create a new user. i. They have an option on saying yes/no. ii. If they choose yes, a new window pops ups and lets them input the new user information. After that it takes them back to the Login window. iii. If they choose no, the warning message will pop up and advising them they need to create a new user to view the solar system. Then the program will terminate. b. If the user exists in the database, it checks what kind of a user it is and it automatically displays appropriate window for that user. 4. If the determined user is Admin, it will display the admin window. a. Amin is allowed to: i. Edit information regarding the planets. ii. Manage the regular user accounts. 5. If the determined user is regular user, it will display regular user window a. Regular user can only view the information. i. View of the planets b. The user will have an option to make the planets rotate. When they put their mouse curser over a planet it displays information about that planet. Information displayed: planet name, mass, temperature, gravitational force, size, speed, and years of existence. 6. After the user has done what they needed to do, they can end the program. 7. If the user wishes to end the program at any given time, they can do so by pressing x button on the window. Part B: -When I started designing the design document, the main problem for me was how much information to include in the control/data flow diagram. Also I was having problems on how deep do I define input, process, and output stages is the diagram. When I wrote out the design document for this software I had to worry if my design is easy to learn, use, code, maintain and is it affordable, dependable, and valuable. One other thing that was giving me some problems was what kind of a design model do I create; static or dynamic model. -When it came down to deciding if my design was good enough I took into the consideration the 2 basic design techniques. I looked at abstraction and modeling. When looking at the abstraction key points, simplification and refinement I saw that my design reflects the simplification aspect of the abstraction. I pointed out the main components in the diagram and their relationship to the other components. I believe that my design is easy to learn, use, code, maintain, and is also affordable, dependable, and valuable. I think that my model is closer to a design specification because I pointed out the main functionalities and their interactions. My design is a high level design because we only see the main functionalities and how they relate to the other components. Also I think my design was good enough because the control/data flow diagram was complete and consistent. It was complete because it displayed main components at the high level design. Throughout my design I kept thins consistent between boxes used for different operations.