Aacs3154 web-based systems development project


Independent Learning and Research

The system may involve the use of some web technologies and techniques that you had not learned (or not covered in detailed) in previous semesters. You are thus required to conduct INDEPENDENT LEARNING AND RESEARCH on these technologies. Some of the recommended technologies that you should consider to learn and implement are:

- AJAX (jQuery, etc)
- Client-side UI enhancement (jQuery UI, HTML5 Drag-and-Drop, etc)
- Data reporting (Google Chart Tools, Microsoft Client-Side Reporting Tool, etc)
- Location maps (Google Maps, HTML5 Geolocation, etc)
- Media streaming (YouTube, HTML5 Audio and Video, etc)
- Real-time chat and communication (ASP.NET SignalR, etc)
- Electronic payment (PayPal, etc)
- SMS and email notification
- Webcam integration

- QR-code encoding and decoding
- Machine-based login blocking
- Image processing and manipulation
- Other


Specifications and Requirements
Web-Based Information System

In this project, you are required to propose a SPECIFIC PROJECT TITLE, which is subjected to the approval of your supervisor, and carry out the appropriate procedures to plan, analyze, design and implement the relevant web-based information system. The MANDATORY REQUIREMENTS of the system are:

- Core Business Processes
Identify the relevant business processes (or modules) specific to your proposed project title. For example, if you propose a simple reservation system, it should include modules for the allocation of tickets, seats, rooms, time-slots, etc. Examples of other possible sub-processes are confirmation of reservations, cancellation of reservations, calculation of reservation validity period, payment of reservation fees, generation of reservation references (e.g. receipts or notes), issuing reminders, etc.

Difference project titles (or systems) involve different business processes (or modules). You should carry out the necessary study, analysis and research to identify the business processes (or modules) that best suit to your proposed project title. This also includes experiencing and learning how some of the real-life web-based systems work.

- Database and ORM Framework
Design and implement your database by following the principles of database design. Tables must be normalized (denormalization may be accepted for appropriate cases), relationships between tables must be indicated, fields and their data types must be appropriate, etc. Maintain only those data that are needed by your system. For example, it is useless to keep track of customer mailing address if you are not doing product delivery and not sending postal mail to your customers.

The use of LINQ-to-SQL to map your tables to entity classes is MANDATORY. Except for unavoidable cases, you should always program against entity classes while doing data operations, rather than making direct SQL queries.

- Security and User Accounts
Basic authentication and authorization should be implemented to grant different access privileges to AT LEAST THREE (3) different user roles (e.g. CUSTOMER, STAFF, MANAGER, etc). You should identify the different user roles your system should handle. User accounts maintenance should also be included. In addition, passwords stored in the database must be HASHED.

- Data Maintenance Modules

Depending on the nature of the selected project title, this can be bus schedules and seats maintenance (for bus ticket reservation), rooms and allocations maintenance(for hotel room reservation), consultation hours and time-slots maintenance (for consultation hour reservation), book maintenance (for book reservation), product maintenance (for online shopping), etc. You are required to identify and implement the appropriate maintenance modules and sub-modules for the system.

- Input Handlings and Validations

Use appropriate controls while handling user inputs (e.g. do not use a textbox for gender). Design your input forms to reduce the required keystroke and mouse-click, as well as to minimize the possible input errors (e.g. setting max-length for textbox).

Input validations should be integrated into all modules that involve data entry. All inputs should be COMPLETELY validated at BOTH client-side and server-side (with meaningful error messages). It is essential to ensure that all data are logically valid and data integrity are always be maintained.

- Query Handlings
The system should allow different roles of users to view their desired data and information (e.g. personal reservation history, daily reservation listing, customer listing, etc). Querying features and data presentation techniques such as FILTERING, SEARCHING, SORTING and PAGING should be incorporated to enable users to easily retrieve the data and information that they want from the system.

- Data Reporting
The system should produce AT LEAST FOUR (4) management reports. There must be at least ONE FOR EACH of the following types of management reports:

o Detail/transaction report (with control break)
o Summary report
o Exception report

The management reports produced must be USEFUL and MEANINGFUL to the users for decision making. For example, a report that lists all the customer details is not useful as compared to a report that lists the customers who made the most orders for the last quarter. So, decide the management reports that you wish to produce carefully.

For implementation, you can produce onscreen and/or printed reports, in tabular and/or chart formats. Do the necessary RESEARCH on Google Chart Tools, Microsoft Client-Side Reporting Tool, etc for programming the necessary features.

- Other appropriate modules, functionalities, features, outputs, etc.PROJECT (PART 1): System Analysis and Design

TASK 1: Functional Requirements

You are required to describe IN DETAIL the functionalities and features of all modules that are to be implemented in the system. Each main module should be logically broken down into relevant sub-modules (or features). Use tables, diagrams, pictures, sketches, etc to clearly illustrate your ideas whenever appropriate. You should state how the modules are distributed among each team member.

TASK 2: Data Flow Diagram

You are required to construct the DFD (using standard notations as recommended by your supervisor) that models the proposed system, which should include:

- Context Diagram
- Diagram 0 DFD
- Diagram 1 DFD: For any TWO (2) MAIN processes in Diagram 0 DFD, as being recommended by your supervisor.

TASK 3: Entity Relationship Diagram

Construct the ERD (using standard notations as recommended by your supervisor) that shows the relevant relationships and cardinalities between each database entity. Data Fields, primary keys and foreign keys should be shown clearly. You are REQUIRED TO RESOLVE any many-to-many relationship in the diagram (i.e. use intermediate tables so that there is no many-to-many relationship in your ERD).

TASK 4: Table Design

Based on the ERD, you are required to design the related database tables with relevant fields. Information such as table name, field name, data type, field size, format, primary key field, foreign key field, null or not null field, etc should be identified clearly. All tables should be presented in 3NF or higher form.

TASK 5: Report Design

You are required to design and produce FOUR (4) well-formatted (with header, title, sub-title, date time, etc) and USEFUL management reports. There must be at least ONE FOR EACH of the following type of management reports:

- Detail/Transaction Report (with control breakpoint)
- Summary Report
- Exception Report

For each report, explain who would use the report and explain how the report would be useful to the users in making business decision.

TASK 6: Database Implementation and System Prototype

- Database Implementation: You should implement the database in SQL Server Express based on your database design. Include some REAL-LIFE SAMPLE DATA for each and every table in your database. Whenever appropriate, implement database views that will simplify data access in your system later. You should also generate the necessary ENTITY CLASSES that map to your database.

- System Prototype: The GUI of the system should be ready by now. All the input and output forms should already be designed and built (you may ignore the functionalities at this point). The prototype should also include the necessary menus, buttons, links, etc so that the general navigation and program flow can be examined. Although the system is not expected to be fully functional at this point of time, it is good if some of the modules have been implemented. This allows the supervisor to give you valuable feedbacks for improvements.

TASK 7: System Testing and Demonstration

The system should be 100% COMPLETED by now. Both of the MANDATORY and ADDITIONAL functionalities should be correctly implemented. All of the suggested improvements and enhancements from your supervisor (as given in the previous session) should be incorporated into your system. Remember to test and debug your system THOROUGHTLY to ensure that no bugs or errors will be detected during the system demonstration session. You should also ensure that the database contains enough sample records for demonstrating each and every features of the system.

As on the system demonstration session, the final system (i.e. ASP.NET project), together with the database implementation and related software resources, should be submitted to your supervisor in the form of CD/DVD. Attach a README file to tell how setup and run your system (e.g. give a list of preset username and password for accessing your system with different user roles).

You may be given a chance for the SECOND system testing and demonstration if your works are below expectation. However, your marks for this component will be CAPPED AT HALF of the allocation marks (provided the necessary improvements have been made). Those who are still underperformed during the SECOND system testing and demonstration will eventually FAIL this component.

Attachment:- Project Specification.rar

Request for Solution File

Ask an Expert for Answer!!
: Aacs3154 web-based systems development project
Reference No:- TGS02254562

Expected delivery within 24 Hours