Home.txt - PavithraV/WonderWoman GitHub Wiki
#High Level Design
Contents
-
Introduction 1.1. Scope 1.2. Definitions 1.3. Overview
-
General Description 2.1. Product Perspective 2.2. Tools used 2.3. General Constraints 2.4. Assumptions
-
Design Details 3.1. Main Design Features 3.2. Application Architecture 3.3. Technology Architecture 3.3.1. Web Application Architecture 3.3.2. Presentation Layer 3.3.3. Data Access Layer 3.3.4. Tools Used 3.4. Standards 3.5. Database design 3.6. User Interface 3.7. Help 3.8. Performance 3.9. Security 3.10. Portability 3.11. Reusability 3.12. Major Classes
-
Introduction 1.1. Scope The HLD documentation presents the structure of the system, such as the database architecture, application architecture (layers), application flow (Navigation), and technology architecture. The HLD uses non-technical to mildly-technical terms which should be understandable to the administrators of the system. 1.2. Definitions • SQL Server – A database management system. • JDBC – An application programming interface, which defines how a client may access a database. • JSP – The language that will be used for displaying user content and administrative functionality. • Tomcat – a free, open-source implementation of Java Servlet and JavaServer Pages technologies. • PHP- is a server-side scripting language designed for web development but also used as a general-purpose programming language. • Apache - An open source Web server. • ER – Entity Relation Diagram
1.3. Overview The HLD will: • present all of the design aspects and define them in detail • describe the user interface being implemented • describe the hardware and software interfaces • describe the performance requirements • include design features and the architecture of the project • list and describe the non-functional attributes like: • security • reliability • maintainability • portability • reusability • application compatibility • resource utilization • serviceability 2. General Description 2.1. Product Perspective Expert account: The system allows the user to create their accounts in the system and provide features of updating and viewing profiles. Search: Search is simply local search based on key words. View: Allows user to view the specialist and to chat with them. Help section: Frequently asked section contain answer for questions. 2.2. Tools used
- Astah, an UML design program, is used to generate all of the diagrams used in analysis and design phases of the project.
- The project will have a relational database backend that is SQL based
- Interfacing with the database to display information on the user’s web browser will be done using JSP. It can connect to the database and parse it into viewable HTML code.
- Tomcat compiles JSP pages into servlets to be displayed through Apache..
- Apache - An open source web server that will display requested pages.
- Automated interfacing with the database behind the scenes will JDBC.
- PHP- a server side scripting language used as the web development programming language.
2.3. General Constraints The …must be user friendly and as automated as possible. Administrators is required to do add basic categories besides the initial setup, and users should not be required to know any of the workings. The experts can login and edit their profile based on their specialization. Without logging in, the user will not have the ability to view the content. After logging in, that user then has the ability to contact the experts.
2.4. Assumptions This project is based on the idea of a Women Empowerment, and the goal is to make this idea a reality by making the users contact each other. It is also assumed that all aspects of this project have the ability to work together in the way the designer is expecting. Another assumption is that the current intended documentation will suffice to make this project count towards the Requirements. There is also an assumption that none of the work or hardware will be stolen or sabotaged. 3. Design Details 3.1. Main Design Features The main design features include five major parts: the architecture, the user interface design, external interface, the database, process relation, and automation. In order to make these designs easier to understand, the design has been illustrated in attached diagrams (ER, Use Case). 3.2. Application Architecture
3.3. Technology Architecture 3.3.1. Web Application Architecture The front end of the program is a web application. Functionality will vary based user privileges if a user is logged in. Normal users are required to log in, and can view the expert’s details and can contact them. Experts are also required to log in and can reply to those message from normal users and could also edit their profile. Administrators will have access administrative abilities.
3.3.2. Data Access Layer The database will be accessible to all users and administrators. A login will determine what parts of the database can be accessed and changed. 3.3.3. Tools Used • Astah, an UML design program, is used to generate all of the diagrams used in analysis and design phases of the project. • The project will have a relational database backend that is SQL based • Interfacing with the database to display information on the user’s web browser will be done using JSP. It can connect to the database and parse it into viewable HTML code. • Tomcat compiles JSP pages into servlets to be displayed through Apache. • Apache, An open source web server that will display requested pages. • Automated interfacing with the database behind the scenes will JDBC.
3.4. Standards Database – relational Inputs – entered through text field and stored in database. Security – username and password are required for access to the system Quality – by keeping the interface simple and direct, quality should be kept at a maximum.
3.5. Database design
3.6. User Interface
The user interface is a very simple plain layout with little to no graphics. It will display information very clearly for the user and will primarily output information to the user through HTML pages. Administrative screens are use mainly for input through text fields in HTML pages.
3.7. Help Help will come in the form of all the documentation created prior to coding, which explain the intended uses and detailed instructions will be written on how to create and implement the system with the intentions of publishing as an Open Source solution. 3.8. Performance Performance is going to be very important for this project. For everything to run smoothly for this project and will have to be able to update data on the database. This is likely to be the most processor intensive aspect of the project The database server will need to keep up with all database requests and transactions. 3.9. Security Because security is the prime focus of this project. A username and password will be required to log into an administrative interface and database. While registration a code is generated to the given mail Id. For Verification of the experts voter ID is required.
3.10. Portability This system should have the ability that, once it is together, the entire system should be able to be physically moved to any location. Code and program portability should be possible. For everything to work properly, all components should be compiled from source.
3.11. Reusability The code written and the components used should have the ability to be reused with no problems and detailed instructions are written on how to create this project, everything will be completely reusable to anyone. 3.12. Major Classes There are a total of three major classes: Administrators, System Settings and Users. The relationships between these major classes are: A user can view expert’s details An administrator can modify system settings An administrator can modify a user
Use Case Diagram