ASSESSMENT GUIDE ICT712 Enterprise Systems Development Semester 2, 2024 Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 Assessment tasks Assessment Assessment Item ID Tutorial Exercises Part A When due Weighting ULO# CLO# for MITS 2 x 10% = 20% 1, 2 1, 2 Session 6 20% 1, 2 1, 2 Part A – Session 7 Part A – 20% Part B – Session 11 Part B – 30% Part C – Session 12 Part C – 10% Part A Session 4 1 Part B (Individual) Learning Outcome Mapping Part B Session 9 Mid-Semester Test 2 (Individual) Enterprise Application Development (Group) Part A – Design 3* Part B – Implementation Part C – Presentation / Demonstration 1, 2, 1, 2, 3, 3, 4, 5 4, 5 Note: * denotes ‘Hurdle Assessment’ Item that students must achieve at least 40% in this item to pass the unit. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 2 Referencing guides You must reference all the sources of information you have used in your assessments. Please use the IEEE referencing style when referencing in your assessments in this unit. Refer to the library’s referencing guides for more information. • https://elearning.vit.edu.au/pluginfile.php/473840/block_html/content/VIT%20Li brary%20Refer encing%20-%20IEEE%20-%2007042020.pdf Academic misconduct VIT enforces that the integrity of its students’ academic studies follows an acceptable level of excellence. VIT will adhere to its VIT Policies, Procedures and Forms where it explains the importance of staff and student honesty in relation to academic work. It outlines the kinds of behaviours that are "academic misconduct", including plagiarism. Late submissions In cases where there are no accepted mitigating circumstances as determined through VIT Policies, Procedures and Forms, late submission of assessments will lead automatically to the imposition of a penalty. Penalties will be applied as soon as the deadline is reached. Short extensions and special consideration Special Consideration is a request for: • Extensions of the due date for an assessment, other than an examination (e.g., assignment extension). • Special Consideration (Special Consideration in relation to a Completed assessment, including an end-of-unit Examination). Students wishing to request Special Consideration in relation to an assessment the due date of which has not yet passed must engage in written emails to the teaching team to Request for Special Consideration as early as possible and prior to start time of the assessment due date, along with any accompanying documents, such as medical certificates. For more information, visit VIT Policies, Procedures and Forms. Inclusive and equitable assessment Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 3 Reasonable adjustment in assessment methods will be made to accommodate students with a documented disability or impairment. Contact the unit teaching team for more information. Contract Cheating Contract cheating usually involves purchasing an assignment or piece of research from another party. This may be facilitated by a fellow student or friend or purchased on a website. The unauthorized use of generative Artificial Intelligence (AI) is also considered cheating. Other forms of contract cheating include paying another person to sit an exam in the student's place. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 4 Contract cheating warning: • By paying someone else to complete your academic work, you don’t learn as much as you could have if you did the work yourself. • You are not prepared for the demands of your future employment. • You could be found guilty of academic misconduct. • Many of for pay contract cheating companies recycle assignments despite guarantees of “original, plagiarism-free work” so similarity is easily detected by TurnitIn. • Penalties for academic misconduct include suspension and exclusion. • Students in some disciplines are required to disclose any findings of guilt for academic misconduct before being accepted into certain professions (e.g., law). • You might disclose your personal and financial information in an unsafe way, leaving yourself open to many risks including possible identity theft. • You also leave yourself open to blackmail - if you pay someone else to do an assignment for you, they know you have engaged in fraudulent behaviour and can always blackmail you. Grades We determine your grades to the following Grading Scheme: Grade Percentage A 80% – 100% B 70% – 79% C 60% – 69% D 50% – 59% F 0% – 49% Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 Assessment tasks Assessment Assessment Item ID Tutorial Exercises Part A When due Part A Session 4 1 Part B (Individual) Part B Session 9 Learning Outcome Mapping Weighting ULO# CLO# for MITS 2 x 10% = 20% 1, 2 1, 2 Part A Question 1 [50 marks] Consider a login system that contains the new user registration with following details. a) First Name b) Last name c) Email d) Password e) Date of birth f) City g) Hint question The system allows the user to log in the system with the registration details (only email and password). Explain MVC architecture with respect to a Login system with the proposed J2EE components. ] Write your answer here: Question 2 [70 marks] Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 6 In this question, you’ll modify the servlet that’s used by the email application. 1) Open the ch06_ex1_email project using NetBeans, which is available to download from LMS, and review its files. This should include an EmailListServlet class. Note that the EmailListServlet class validates the data entered by the user and that this class does not contain a doGet method. Run the application. Then, enter some valid values on the first web page and click on the Join Now button to run the EmailListServlet class. This should use the HTTP POST method to request the /emailList URL, and the browser should not show any parameters in its URL. Take a screenshot of this run and paste it in the box below. Paste your screenshot here: 2) Click on the Return button. This should use the HTTP POST method to request the /emailList URL, it should display the first page of the application, and the browser should not show any parameters in its URL. Take a screenshot of this run and paste it in the box below. Paste your screenshot here: 3) Click the Join Now button without entering any values. This should display the same page again, but with a validation message that indicates that all three values are required. Take a screenshot of this run and paste it in the box below. Paste your screenshot here: 4) Append two parameters to the /emailList URL that’s displayed by your browser like this: 5.1 /emailList?action=add&email=jsmith@gmail.com This uses the HTTP GET method. Since the EmailListServlet doesn’t have a doGet method, this should display an error page that indicates that the HTTP GET method isn’t supported by the URL. Take a screenshot of this run and paste it in the box below. Paste your screenshot here: Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 7 5) Open the code for the servlet and add a doGet method that calls the doPost method of the servlet. Then, run the application again and enter the /emailList URL with the same parameters. It should display the first page of the web application with a validation message. This tests whether your development environment automatically reloads servlets after they have been changed. If the change you made to the servlet isn’t working, you may need to manually reload the servlet class. One way to do that is to stop and restart Tomcat. Take a screenshot of this run and paste it in the box below. Paste your screenshot here: 6) Open the code for the servlet and add a statement that prints a debugging message to the Tomcat console. This message should show the value of the action parameter that’s passed to the servlet. Run the application and click the Join Now button to display the message in the console. If you’re using NetBeans 8.2 or higher, it should display a tab for the Tomcat console within the Output window. If it doesn’t, you can usually display this tab by using the Services tab to restart the Tomcat server. Take a screenshot of your statement in the code as well a screenshot of this run and paste them in the box below. Paste your screenshots here: 7) Repeat the previous two steps but use a log file this time. Take a screenshot of the content of your log file and paste it in the box below. Paste your screenshot here: What to submit: Write your answers in the specified boxes within this Word document and submit it by the due date via LMS. No PDF will be accepted. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 8 Marking Rubrics for ICT712 Tutorial A (Total: 120 marks) Criteria Question 1 Understand ing of MVC Architectur e Question 1 Explanation of Model Component Question 1 Explanation of View Component Question 1 Explanation of Controller Component Excellent (10 marks) Proficient (8 Basic (6 marks) marks) Inadequat Limited (4 e (2 marks) marks) Absent (0 marks) Profound understandin g, clearly articulated in the context of a login system with J2EE components. Basic Solid explanatio understandi n, lacks ng, relevant depth and to a login relevance system with to a login J2EE system components with J2EE . componen ts. Superficia l or incorrect explanati on, lacks relevance. Fails to explain MVC architectu re or its relevance. No submissi on or response . Comprehensi ve explanation of the Model component’s role and implementat ion in J2EE. Detailed explanation with minor omissions. Basic explanatio n, lacks detail and relevance. Vague or inaccurat e descriptio n. Fails to explain the Model componen t or its relevance. No submissi on or response . Clear explanation with minor omissions. Basic explanatio n, lacks depth and relevance. Vague or inaccurat e descriptio n. Fails to explain the View componen t or its relevance. No submissi on or response . Vague or inaccurat e descriptio n. Fails to explain the Controller componen t or its relevance. No submissi on or response . Comprehensi ve explanation of the View component’s purpose and implementat ion in J2EE. Comprehensi ve explanation of the Controller component’s role and implementat ion in J2EE. Clear explanation with minor omissions. Basic explanatio n, lacks depth and relevance. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 9 Question 1 Integration of J2EE Component s Question 2 Task 1: Run the Application Question 2 Task 2: Return Button Question 2 Task 3: Validation Message Question 2 Task 4: HTTP GET Method Error Question 2 Task 5: Add doGet Method Effectively demonstrate s integration of J2EE components into the MVC architecture. Vague or inaccurat e descriptio n. Fails to explain integratio n of J2EE componen ts. No submissi on or response . Runs the application with minor issues. Runs the applicatio n but misuses HTTP POST method. Runs the applicatio n with errors. Attempts to run the applicatio n but faces significant problems. Not attempte d. Successfully uses Return button, understands HTTP POST method and page navigation. Uses Return button with minor issues. Uses Return button with significant issues. Attempts to use Return button but faces problems. Does not Not attempt to attempte use Return d. button. Successfully observes validation message on missing input values. Observes validation message with minor issues. Observes validation message with errors. Attempts but faces problems. Does not attempt validation. Not attempte d. Successfully observes error message for unsupported HTTP GET method. Observes error message with minor issues. Observes error message with errors. Attempts but faces problems. Does not attempt HTTP GET method. Not attempte d. Successfully adds doGet method, demonstrate s servlet Adds doGet method with minor issues. Adds doGet method Attempts but faces problems. Does not attempt doGet method. Not attempte d. Successfully runs the application, enters valid data, uses HTTP POST method correctly. Demonstrat es understandi ng with minor omissions. Basic explanatio n, lacks depth and relevance. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 10 reloading understandin g. with errors. Successfully Question 2 adds debugging Task 6: Print message, Debugging displays in Message Tomcat console. Adds debugging message with minor issues. Adds debugging message with errors. Attempts but faces problems. Does not attempt debugging message. Not attempte d. Successfully adds log message, observes it in Tomcat log file. Adds log message with minor issues. Adds log message with errors. Attempts but faces problems. Does not attempt log message. Not attempte d. Question 2 Task 7: Use Log File Total marks: _______ out of 120 marks. Scaled to 10 marks: _______ Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 11 Part B This assessment focuses on coding tasks using Javae Servlet, JSP and Hibernate J2EE for database interactions using NetBeans 8.2 or higher. The database server for assessment must be MySQL server. Coding Task: Implement a Product Management System Create a product management system that allows admins to add, view, update, and delete products. The system should use Hibernate 4.3.1 (or higher) framework for database interactions. TASKS: 1) Create a database table and an entity class named Product with attributes id (as the primary key), brand, description and price. Add the necessary Hibernate annotations. You will also need to justify the data type for each listed attribute. 2) Create another table and an entity class named User with attributes email (as the primary key), full_name, role (admin or client) and password. Add the necessary Hibernate annotations. You will also need to justify the data type for each listed attribute. 3) Configure Hibernate in your project using hibernate.cfg.xml. 4) Develop a homepage that incorporates an Admin login module and provides an overview of your product management system. Feel free to include any background photos to enhance the design. 5) Create a servlet to handle HTTP requests for managing products: a. Implement a form to add new products. b. Display a list of existing products. c. Implement the ability to edit product details. d. Implement the ability to delete products. 6) Create a JSP (JavaServer Pages) page to interact with the servlet and display product information. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 12 What to submit: 1) Put your NetBeans project folder, database file and the report below in one zipped file and submit it by the due date via LMS. 2) A report in MS Word (not PDF) should include the following information: a. TOC 1. Introduction 2. Database Tables and Entity Classes 3. Hibernate Configuration 4. Servlet Implementation 5. JSP Integration 6. Functionality (CRUD operations) 7. Error Handling and Validation 8. Code Quality and Comments 9. Screenshots 10. Use Case 1: Adding a Product 11. Use Case 2: Viewing Products 12. Use Case 3: Updating a Product 13. Use Case 4: Deleting a Product 14. Conclusion b. Introduction This report provides an assessment of the Java JSP and Hibernate J2EE project developed in tutorial B. c. Database Tables and Entity Classes Discuss the implementation of the Product, Users entity classes and highlight any key code snippets and Hibernate annotations. d. Hibernate Configuration Explain the configuration details in hibernate.cfg.xml. e. Servlet Implementation Provide a summary of the servlet implementation, including key code snippets, and discuss the handling of HTTP requests. f. JSP Integration Explain how the JSP pages interact with the servlet and provide code snippets. Discuss user interface design and layout. g. Functionality (CRUD operations) Detail how CRUD operations (Create, Read, Update, Delete) are implemented. Highlight code snippets that showcase functionality. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 13 h. Error Handling and Validation Explain how error handling and validation are implemented to handle user errors effectively. i. Code Quality and Comments Discuss the quality of the code, organization, and use of comments. Emphasize best practices. j. Screenshots Use Case 1: Admin Login - Insert screenshot here Use Case 2: Adding a Product - Insert screenshot here Use Case 3: Viewing Products - Insert screenshot here Use Case 4: Updating a Product - Insert screenshot here Use Case 5: Deleting a Product - Insert screenshot here k. Conclusion Summarise the overall assessment, mention any challenges faced, what was learned, and improvements if more time were available. l. List of References List all used references in tutorial B if any. Don’t forget to cite them in your report. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 14 Marking Rubric for ICT712 Tutorial B (Total: 100 marks) Needs Improvement (20-39) Not Attempted (0) Significant issues with the tables. The tables are incorrect or incomplete. Not attempte d. Minor issues with the entity class or Hibernate annotations. Significant issues with the entity class or Hibernate annotations. The entity class is incorrect or incomplete. Not attempte d. 3. Hibernate Configuration (10 marks) The Hibernate configuration in hibernate.cfg.x ml is correctly set up and functional. Minor issues with the Hibernate configuration . Significant issues with the Hibernate configuration . The Hibernate configuratio n is incorrect or missing. Not attempte d. The servlet handles HTTP requests effectively with minor issues or optimisation s needed. The servlet has significant issues or lacks some functionalitie s. The servlet is incorrect or severely incomplete. Not attempte d. 4. Servlet Implementatio n (20 marks) The servlet is wellimplemented to handle HTTP requests for managing products. All CRUD operations work flawlessly. The JSP page effectively interacts with the servlet and presents a userfriendly interface for managing products. The JSP is functional but may have some issues with userfriendliness or layout. The JSP integration is problematic, and user interaction could be improved. The JSP Not does not attempte effectively d. interact with the servlet or lacks essential functionality . Criteria Excellent (80-100) Good (60-79) Fair (40-59) 1. Database tables (10 marks) The tables are correctly implemented. Minor issues with the tables. 2. Entity Class (10 marks) The entity class is correctly implemented with all attributes and Hibernate annotations. 5. JSP Integration (15 marks) Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 6. Functionalit y (CRUD Operations) (20 marks) All CRUD operations (Create, Read, Update, Delete) work correctly and efficiently. CRUD operations work, but there may be minor issues or inefficiencies . Some CRUD operations have significant issues or do not work as expected. Most CRUD operations are incorrect or nonfunctional. Not attempte d. 7. Error Handling and Validation (5 marks) Proper error handling and validation are in place to prevent and handle user errors effectively. Error handling and validation are implemented but may have minor issues or missed edge cases. Error handling and validation have significant issues or are incomplete. Error handling and validation are lacking or incorrect. Not attempte d. Code is clean, well-organized, and efficiently written. Sufficient comments are provided to explain code logic. Code is generally clean and organized, but comments may be lacking or need improvemen t. Code quality could be significantly improved, and comments are sparse. Code is Not messy and attempte unorganized d. , and comments are missing or unhelpful. A wellstructured and insightful conclusion summarizing the assessment, challenges, and proposed improvements. A clear conclusion summarizing the assessment with some insights. A basic conclusion summarizing the assessment but lacking depth. A brief or superficial conclusion with little insight. 8. Code Quality and Comments (5 marks) 9. Conclusion (5 marks) Not attempte d. Total marks: _______ out of 100 marks. Scaled to 10 marks: _______ Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 16 Assessment tasks Learning Outcome Mapping Mid-Semester Test 2 Session 6 20% 1, 2 1, 2 (Individual) To be specifically done in class during Session 6. The test paper will be provided only to those who are physically present on campus. If you cannot be present, you will be deemed to receive a zero mark for this assessment. UNIT CODE: ICT712/MITS5502 TEST DATE: 30/08/2024 TIME: 11:30 AM (Mel time) UNIT NAME: ENTERPRISE SYSTEM DEVELOPMENT This test is set for a Total of 60 Marks. It is worth 20% of the unit. This test consists of 9 Questions. READING TIME: 15 Minutes WRITING TIME: 2 hrs Allowable materials: 1. ONE Double-sided handwritten A4 sheet Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 17 Sample Test 1) Explain the concept of a Servlet filter and its use in a Java EE web application. [5 marks] 2) Discuss the importance of using JavaBeans in JSP for developing enterprise applications. [5 marks] 3) Write a Java Servlet that handles a POST request to delete a customer from the Customers table. The form submitting the data includes a field for customerID. Use JDBC for database access. [10 marks] 4) Write a JSP code snippet that retrieves and displays the current date and time. [4 marks] 5) Write a Java Servlet that handles a GET request to list all orders from the Orders table, and display the order details in a HTML table. [10 marks] The actual test paper will have 9 questions! Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 18 Assessment tasks Assessment Assessment Item ID Learning Outcome Mapping When due Weighting Part A – Session 7 Part A – 20% Part B – Session 11 Part B – 30% Part C – Session 12 Part C – 10% ULO# CLO# for MITS Enterprise Application Development (Group) Part A – Design 3* Part B – Implementation Part C – Presentation / Demonstration 1, 2, 1, 2, 3, 3, 4, 5 4, 5 Note: * denotes ‘Hurdle Assessment’ Item that students must achieve at least 40% in this item to pass the unit. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 19 1. Project Learning Outcomes The purpose of assessment is to assess students on the following Learning Outcomes: LO1: Investigate and analyse the concepts, theories and processes in enterprise systems. LO2: Review, apply and evaluate web tier and application components by identifying the most appropriate structural pattern. LO3: Implement data access/persistence mechanisms including enterprise-grade transactions in a relational database. LO4: Research and adopt appropriate development strategies and tools to implement enterprise solutions. LO5: Create robust, reliable and secure applications to meet complex enterprise business needs. 2. Project Description This is a group assessment. In this assessment, you are required to develop a J2EE project with MVC architecture using NetBeans environment and MySQL database component. The aim of the project is to enhance your skills by applying the theoretical knowledge to develop enterprise application using J2EE. You are requested to use J2EE specifications and techniques including session management, custom tags, Enterprise Java Beans, Hibernate framework in the given project. The project consists of three parts: Part A, Part B, and Part C. The objective of the project is to create a small-scale enterprise application system of your choice. The application should have fundamental functionalities similar to those found at https://www.myer.com.au/. You are required to implement all the features and functionalities outlined in the subsections below. Additionally, you are encouraged to explore and incorporate further features to achieve higher marks. The provided information is comprehensive enough for you to complete the project, but you will need to determine any unspecified details independently. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 20 3. Part A – Proposal, Design and SRS The due date for this part is Sunday Session 7 11:59 PM. In this part, you are required to submit a project proposal along with the details of the group members involved in it. The group members should not exceed the count of four. The project proposal should contain a B2C (Business to Consumer) online store company/organisation name with details of the goods to be sold by it. The student must provide clear indication of the organisation and the online goods they propose to work on in the proposal. The student needs to design the following in their submission along with the proposal: 3.1 Software Requirements Specification (SRS) Documentation An SRS is a description of a software system to be developed. It lays out functional and non-functional requirements and may include a set of use cases that describe user interactions that the software must provide. Follow the guidelines below carefully to develop one. Introduction: Begin with an overview of the document, including the purpose, scope, and context of the software project. Identify the document's intended audience and stakeholders. System Overview: Provide a high-level description of the software system. Explain its goals, objectives, and the problem it aims to solve. Functional Requirements: Detail the system's functionality in a clear, concise manner. Use use-cases, user stories, or flowcharts to describe how the system should respond to different inputs or user interactions. Specify the expected behaviour, input parameters, and output results for each function. Non-Functional Requirements: Include non-functional requirements such as performance, scalability, security, usability, and reliability. Define specific metrics, benchmarks, and constraints related to each non-functional requirement. System Architecture: Describe the system's architecture, including its components, modules, and their interactions. Provide system diagrams or flowcharts to illustrate the architecture. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 21 User Interfaces: See User Interface Design (UI) Data Requirements: Specify the data structures, databases, and data sources used by the system. Define data storage, access, and retrieval requirements. See Database design section for more information. External Interfaces: Describe any external systems, services, or APIs that the software must interact with. Include protocols, data formats, and communication methods. System Constraints: List any limitations, constraints, or dependencies that impact the system's design or implementation. Use Cases and Scenarios: See Use case diagram. Business Rules: Document any business rules or logic that affect the system's behaviour or decisions. Security Requirements: Outline security measures, authentication, and authorisation mechanisms to protect the system and its data. Testing and Validation: Describe the testing approach, including test cases, scenarios, and acceptance criteria. Specify performance, stress, and load testing requirements. Maintenance and Support: Define maintenance and support expectations, including software updates, bug fixes, and troubleshooting procedures. Appendix: Include additional information, such as glossaries, references, or supplementary diagrams. Review and Approval: Provide space for stakeholders to review, comment, and approve the SRS document. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 22 References: List any external references, standards, or documentation that influenced the SRS. All references should be in IEEE style. 3.2 Database Design The database design will depend on the choice of your project website. Here are the general outlines to design one. Understand the Requirements: Before you start designing a database, it's essential to have a clear understanding of the requirements. This includes what kind of data needs to be stored, how it will be used, and what functionality the system should support. Identify Entities: The main entities or objects in your system. These are the core elements for which you will store data. Entities could include admin, customers, products, orders, employees, etc. Define Attributes: For each entity, define the specific attributes or properties that need to be recorded. These attributes represent the details or characteristics of each entity. For example, a "Customer" entity might have attributes like Email, Password, Name, Address, and Phone Number. Determine Relationships: Determine how these entities are related to each other. Identify the nature of the relationships, such as one-to-one, one-to-many, or many-to-many. This step helps you understand how data is interconnected. Create an Entity-Relationship (ER) Diagram: Develop an ER diagram to visualise the entities, attributes, and their relationships. Use standard symbols to represent entities (rectangles), attributes (ovals), and lines connecting them to show relationships. Label the lines with the relationship type (1:1, 1:N, N:N). Choose Primary Keys (PK): For each entity, select or define a PK. The primary key is a unique identifier for each record within an entity. Common choices include an ID field, social security number, or any unique attribute. Establish Foreign Keys (FK): When one entity is related to another, create FK in the related entity. These are attributes that reference the PK of another entity, ensuring referential integrity. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 23 Normalise the Database: In complex systems, consider normalising the database to eliminate data redundancy. Normalise the data into separate tables to minimise duplicate information and improve efficiency. Document Business Rules and Constraints: Document any business rules, constraints, or validation rules that apply to the data. This might include rules for data validation, default values, or unique constraints. Include this part in your SRS as well. Test and Optimise: Test the database thoroughly to ensure it functions as expected. Optimise its performance by creating indexes, using appropriate data types, and refining queries. Documentation and Maintenance: Maintain detailed documentation of the database schema, relationships, and business rules. Regularly update and maintain the database as your application evolves Include this part in your SRS as well. Backup and Recovery: Implement a robust backup and recovery strategy to safeguard against data loss. Regularly back up your database and test the recovery process. 3.3 Class Diagram A class diagram is a type of UML (Unified Modelling Language) diagram that represents the structure and relationships of classes in a software system. It's used in software engineering to visualise and document the high-level design of a system. Here are the general outlines to create one. Class: The primary element of a class diagram is the class itself, which represents a blueprint for an object. Each class is depicted as a rectangle with three compartments: the top compartment contains the class name, the middle compartment lists the class attributes, and the bottom compartment lists the class methods. Attributes: Attributes represent the properties or data members of a class. These are usually shown in the middle compartment of the class rectangle. Attributes are accompanied by their visibility (public, private, protected) and data types. Methods: Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 24 Methods represent the behaviours or operations that can be performed on an object of a class. Methods are listed in the bottom compartment of the class rectangle. They include their visibility (public, private, protected), return type, and parameters. Association: Association lines represent relationships between classes. They show how classes are connected or related in the system. Multiplicity (e.g., 1, 0...1, *) can be used to indicate the number of instances involved in the association. Aggregation and Composition: These are special forms of association representing "whole part" relationships. Aggregation is a weaker form of association, where the part can exist independently, while in composition, the part is dependent on the whole and cannot exist separately. Inheritance (Generalisation): A solid line with a hollow arrowhead represents inheritance (or generalisation). It shows that one class (the subclass or derived class) inherits attributes and methods from another class (the superclass or base class). Dependency: A dashed line with an arrowhead represents a dependency between classes. It indicates that one class relies on another class for some functionality but doesn't have a direct relationship. Association Class: An association class is used to add attributes and methods to an association. It's represented as a class placed in the middle of an association line. Abstract Class: An abstract class is denoted by italicised class names and is used when you want to define a common structure without creating instances of it. Interface: An interface is represented as a class with the name in italics and a label that says "<<interface>>." It defines a contract that classes implementing the interface must adhere to. Multiplicity: Multiplicity is used to specify how many instances of one class are associated with another class. It is often depicted near the end of an association line in the form of "0..1," "1," "0..*", etc. 3.4 Use Case Diagram Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 25 A use case diagram is a type of UML (Unified Modeling Language) diagram that provides a visual representation of the interactions and relationships between actors and use cases within a system. It's commonly used in software development to describe the functionality and requirements of a system. Here are the key elements and concepts of a use case diagram that you’ll need to follow: Use Case: A use case represents a specific piece of functionality or a distinct interaction between an actor and the system. Use cases are represented as ovals within the diagram and are named to describe the action they represent, e.g., "Place Order." Actor: An actor is an external entity or role that interacts with the system. Actors are typically represented as stick figures on the diagram. Actors can be human users, other systems, or even hardware devices. Association: A solid line connecting an actor to a use case represents an association between the actor and the use case. It signifies that the actor interacts with the system through that use case. For example, a "Customer" actor may be associated with the "Place Order" use case. System Boundary: A boundary box or rectangle encloses the use cases and actors within the system. It represents the scope of the system under consideration. Everything inside the boundary is part of the system, while actors outside the boundary interact with the system. Include Relationship: An include relationship is a dotted arrow that shows that one use case includes another. It indicates that one use case can trigger another use case as part of its behaviour. For example, "Make Payment" may include "Verify Payment." Extend Relationship: An extend relationship is another dotted arrow that indicates optional behaviour that can extend the behaviour of a base use case. It is used to model variations in a use case's behaviour. Generalisation: A generalisation relationship between use cases indicates that one use case inherits the behaviour of another. It's often used when multiple use cases have similar behaviour, and one is considered a more general or abstract case. Multiplicity: Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 26 Sometimes, use case ovals include multiplicity notation to indicate how many instances of a use case are involved in the interaction, for example, "1..*," "0..1," etc. <<extend>> and <<include>> Labels: When using extend and include relationships, you may add <<extend>> and <<include>> labels to clarify the type of relationship and when it's invoked. System Boundary: A system boundary, represented as a rectangle, encloses the actors and use cases within the system. It defines the boundaries of the system under consideration. 3.5 User Interface Design (UI) The registered customer may want to search for a product based on the category, or name of the product. A search functionality that displays a detailed description with an image(s) of the product needs to be provided. Based on the search, the customer may want to buy the goods online. They can buy product(s) of different category and add them in the shopping cart. Further, functionality may be added to the shopping cart: adding products, listing products and empty cart. A checkout page must display the selected product by the customer to purchase. The purchased product quantity needs to be updated in the database accordingly. You may want to follow the general guidelines below to design UI for a website. Define the Project Scope and Goals: Start by understanding the project's objectives, target audience, and the problem you're solving through UI design. Clarify the project's scope and goals. Research and User Analysis: Conduct research to understand your target users. Analyse user needs, preferences, and behaviours. This information will guide your design decisions. Create User Personas: Develop user personas that represent different user types. These personas help you empathise with your users and design for their specific needs. Plan Navigation: Create a clear and intuitive navigation structure, including primary menus and submenus if needed. Labelling and Naming: Use consistent and user-friendly labels for sections and pages, ensuring clarity and ease of understanding. Information Architecture: Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 27 Plan the structure of your interface. Design an information architecture that organises content and functionality logically and intuitively. Wireframing and Prototyping: Create wireframes and prototypes to visualise the layout and structure of your UI. This step allows you to explore different design options and get early feedback. Visual Design: Design the visual elements of the UI, including colours, typography, imagery, and overall aesthetics. Ensure that your design aligns with your brand's identity and resonates with your target audience. Interaction Design (IxD): Design the interactive elements of the UI, such as buttons, forms, navigation menus, and animations. Focus on providing a seamless and engaging user experience. Usability Testing: Test your UI with real users to gather feedback and identify any usability issues. This step helps you refine your design based on user input. Implementation and Development Support: Collaborate with developers to ensure the UI design is implemented correctly. Provide design assets, style guides, and support during the development process. Continuous Evaluation and Iteration: After the UI is live, monitor user feedback, analytics, and performance. Continuously iterate and improve the UI based on real-world usage and changing user needs. 3.6 Shopping Cart Your website project should include a shopping cart module, allowing customers to add items. Customers should be able to view their shopping cart at any time, even when it is empty. Additionally, customers should be able to edit or delete items from their shopping cart. Follow the guidelines below carefully to develop your shopping cart module. Define Your Requirements: Start by defining the requirements of your shopping cart. What kind of products will it sell? What payment methods will you support? Do you need user accounts or guest checkouts? Understanding your requirements is crucial. Design the User Interface: Create a user-friendly and responsive user interface for your shopping cart. Ensure that users can easily add, view, and remove items from their cart. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 28 Implement Product Listings: Display products with details like name, price, description, and images. Users should be able to select products and add them to their cart. You can do this part later when you start to implement your project. Shopping Cart Functionality: Implement the core shopping cart functionality. Users should be able to add, remove, and update the quantity of items in their cart. Show the total price and the number of items in the cart. Checkout Process: Create a smooth checkout process. Gather shipping and billing information, and provide payment options. Payment Integration: Integrate with a payment gateway to handle payment processing securely. Popular payment gateways include PayPal and bank credit cards. However, you can create a dummy payment gateway as it is for education purposes. User Authentication: If you offer user accounts, implement user registration and login. This allows users to track their orders, save their shipping information, and more. Testing and Quality Assurance: Thoroughly test your shopping cart application. Check for bugs, security vulnerabilities, and usability issues. Ensure that the user experience is smooth. Responsive Design: Ensure that your shopping cart is responsive and works well on various devices, including desktop, tablet, and mobile. Documentation and Support: Provide documentation for users and developers. Offer customer support to address any issues or inquiries. Include this part in your SRS as well. 3.7 Site map Design a site map representing the JSP/Servlet/html/CSS to be used in the system with a flow diagram. Follow the guidelines below to develop one. Define Objectives: Start by clearly defining the purpose and objectives of your website. Understand what you want to achieve with it. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 29 Identify Key Sections: List the main sections or categories of content your website will feature, such as home, about, services, blog, contact, etc. Establish Hierarchy: Organise the sections and pages in a logical hierarchy, with the most important or highlevel content at the top. Plan Navigation: Create a clear and intuitive navigation structure, including primary menus and submenus if needed. Labelling and Naming: Use consistent and user-friendly labels for sections and pages, ensuring clarity and ease of understanding. Review and Iterate: Regularly review your site map to ensure it aligns with your objectives and make iterations as necessary. Document and Share: Maintain documentation of the site map and share it with your team members to ensure alignment and understanding. 3.8 What to Submit for Part A The template of the project proposal can be found in LMS. Only one group member (team leader) needs to upload the group project proposal. Please ensure the same student submits rest of the linked submissions in Session 11 and Session 12 respectively. In your project proposal, you will need to state that: a. The main IDE to implement this project is NetBeans 8.2 or higher. b. The programming language is Java. c. The database server is MySQL. Note, if the project is implemented without using the above three mentioned points, then it will not be marked. Submit your project proposal along with 3.1 to 3.7 in one MS Word document. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 30 3.9 Marking Rubric for Part A Criteria Poor (0-5 points) Basic (6-10 points) Proficient (11-15 points) Excellent (16-20 points) Evidence of a structured design Little or none Basic elements Well-structured Comprehensive Key tables and relationships Missing Some missing Appropriate and clear Advanced and optimised Accuracy of class representation Inaccurate Some inaccuracies Accurate Highly accurate Inclusion of classes and relationships Incomplete Basic representation Well-constructed Comprehensive Unattractive Basic design Well-designed Exceptional design Non-functional Limited functionality Good functionality Advanced features Non-functional Limited functionality Good functionality Advanced features Overall user experience Confusing Poor usability Good usability Excellent usability Clarity and organisation of site map Lack of clarity Basic organisation Well-structured Highly organised SRS Very limited or missing Basic overview with gaps Mostly clear, but some key details missing Comprehensive, clear overview Accuracy of navigation paths Inaccurate Some inaccuracies Clear navigation paths Intuitive navigation Additional user convenience features None Limited Good Excellent References Highly inconsistent IEEE citation style Moderately inconsistent IEEE citation style Mostly consistent IEEE citation style Consistent IEEE citation style Design of UI Functionality and usability Shopping cart Total marks: _______ out of 260 marks. Scaled to 20 marks: _______ Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 31 4. Part B – Implementation The due date for this part is Sunday Session 11 11:59 PM. Students need to implement the following functionalities: 4.1 Database Development You are required to: a) Create the physical database design based on the conceptual model. b) Map entities and relationships to actual database tables and columns. c) Decide on storage and indexing options based MySQL database server. d) Populate the database with sample data to test the schema and ensure it functions as expected. This can help identify any issues with data types or constraints. e) Maintain documentation of the database design, including the schema, constraints, indexes, and relationships. f) Review the database schema for accuracy and completeness. Validate it against your initial requirements and verify that it aligns with the application's needs. 4.2 User Authentication, Login and Logout The component authenticates the user before the access to the online store. The interface needs to be professional with appropriate logo, header and footers. The system needs to have more than one type of user e.g., administrator and customers (it may include more). It allows a new user to register into the system. A new user registration interface with input fields may include email, full name, password, re-typed password and contact number (optional). Required client and server-side scripts for field validation needs to be provided. A login interface is must for the registered user to login to the system with the email address/username and a password. The inputted email address and password needs to be checked against the database. Otherwise, login failure message will be displayed. The system needs to have a logout button that redirects to the login page and clears the resource in use. As the user logs in, it displays the index page. This page can be used to add, update or delete products. The system needs to have customised interface for each user with their functionalities. 4.3 Product Maintenance A series of pages needs to be created that allows a user to add, update or delete a product that is available for a particular category in the system. The administrator/vendors can enter new product categories and add list of products with their details within a category. The category and product details may include name, description, image, cost, quantity and any special features about the product. The information of the goods for the online store is stored in MySQL database. An interface to update/delete the products should be provided. The stock of the product based on the purchase/sale needs to be updated automatically. 4.4 Code Related Guidelines Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 32 a) Your J2EE application should include the following: i. ii. iii. iv. v. The code should have a consistent, professional and well-organised appearance. Carefully chosen, meaningful identifier names Code is well organised: clear, simple, & DRY (Don't repeat Yourself) Thoughtful comments, where needed, expressed in concise, precise English. Code should compile without errors. b) The developed system takes input and handles the error in friendly manner. c) Connects to given database operating the basic CRUD operations following the proposed data model in Session 11. d) Your project must adhere to MVC architecture with implementation guidelines including modularity, reusability, extensibility, maintainability and adaptability. e) You can find all the required software installations freely on LMS. 4.5 What to Submit for Part B a) Follow the links in LMS to upload your report on or before the deadline. b) The J2EE application along with the database queries developed must be submitted in a zip folder on the LMS in the available link. The zip folder should include: i. A document that consists of introduction, requirements, database model with the attributes, screen shots and output with references. ii. The NetBeans project folder with all the source codes (JSP, html, .java), configuration files, document containing database model and the database (.sql) file. iii. A readme.txt file, which includes your information and how to run your project. c) A revised version of your SRS documentation. d) Incidence of plagiarism will be penalised. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 33 4.6 Marking Rubric for Part B Criteria Proper use of template for Login functionality (admin and normal user) Implement ed CRUD functionalit y to manage products Database connectivit y with GUI – Hibernate Framework Implement ed and executable code for all modules Irrelevant/No submission (0 point) Irrelevant/No submission. Attempted (1 point) Attempted but barely meets the specificatio n. Irrelevant/No submission. Attempted but barely meets the specificatio n. Irrelevant/No submission. Attempted but barely meets the specificatio n. Attempted but barely meets the specificatio n. Irrelevant/No submission. Good (4 points) Excellent (5 points) Good in applying login template to differentiat e normal and admin users. Good in DB CRUD. Excellent in applying login template to differentiat e normal and admin users. Excellent in DB CRUD. Average in using GUI with JPA. Good in using GUI with JPA. Excellent in using GUI with JPA. Average in implementi ng and executable code for all modules. Good in implementi ng and executable code for all modules. Excellent in implementi ng and executable code for all modules. Poor (2 points) Poor in applying login template to differentiat e normal and admin users. Poor DB CRUD. Average (3 points) Average in applying login template to differentiat e normal and admin users. Average in DB CRUD. Poor in using GUI with JPA. Poor in implementi ng and executable code for all modules. Total marks: _______ out of 20 marks. Scaled to 30 marks: _______ Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 34 5. Part C– Oral Presentation and Demonstration 5.2 Oral Presentation and Demonstration The oral presentation and demonstration will take place during Session 12 at the regular lecture time. We expect all students to participate in their presentations, and each team member will be assessed individually based on their performance. For your presentation, you should use a PowerPoint (PPT) with the following structure (about 20-25 slides, 15 minutes for oral presentation, 5 minutes for demonstration and 5 minutes for questions): i. ii. iii. iv. v. vi. The first slide should display the names of all team members. Include the speaker's name on the relevant slides. Provide a project overview. Present a project timeline (Gantt Chart). Explain functional and non-functional requirements. Showcase the project design, including UI and class diagrams with relationship names. vii. Display an ER-diagram with appropriate relationship symbols. viii. Discuss the testing of the project. ix. Conclude your presentation. Following the presentation, you will need to conduct a live demonstration of your project, including CRUD (Create, Read, Update, Delete) operations. Ensure you have a backup of your project on a different computer to prevent any disruptions due to computer malfunctions. 5.3 What to Submit for Part C You will need to submit the PPT for the oral presentation, source codes, database file and a Readme file to explain how one would run the project. Put all in a zip file and submit via LMS by the due date. Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 35 5.4 Marking Rubric for Part C Project Title: Marker/Assessor: (5 = Excellent/Professional; 4 = Proficient; 3 = Developing; 2 = Marginal; 1 = Weak; 0 = Novice) Student 1 Student 2 Student 3 Student 4 Comments Student ID Name Demonstration (20 points) Project Overview: Adopt a systematic and professional approach to the production of quality systems. (max 5 points) Technical Design and Implementation: Use problem solving techniques to effectively solve issues that may emerge and to identify and manage risks within the project. (max 5 points) Final product demonstration: Reflect critically on the social, ethical and professional obligations in designing, maintaining or advising. (max 5 points) Project management: Applied project management principles to develop Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 36 and deliver a project that meets the specified requirements. (max 5 points) Presentation (10 points) Communication and Teamwork: Communicate effectively and work productively individually and as part of a team. (max 5 points) Q & A and Overall Contribution. (max 5 points) Total marks: _______ out of 30 marks. Scaled to 10 marks: _______ Victorian Institute of Technology www.vit.edu.au CRICOS Provider No. 02044E, RTO No: 20829 37
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )