Suppose you are employed as a Senior Java Solution Adviser in a big software development company. A client is seeking to develop a new software that could be implemented in various computer hardware / software platforms and different database environments. And your company has assigned you to prepare a detailed report explaining the features of Java programming language. Answer task 1.1 and task 1.2.
LO1. Understand the principles of programming in Java
Hint :Java characteristic - Java Virtual Machine (JVM); Java platform; classed-based; object-oriented; compilers; class libraries; applications; applets; object models; enforced error handling; concurrency; threads, multi-platform, reasons for choice of language, data structure, data types, environment, programming structure, syntax.
- Java has many features including Object Oriented, Platform Independent, Robust, Interpreted, and Multi-threaded. Discuss the principles, characteristics and features of programming in Java? [P1.1]
- Explain the role of Java Virtual Machine (JVM) and critically evaluate environmental flexibility of programming in Java? [P1.2, M1]
London ABC College has asked you to develop a Student Information Management System (SIMS). The system shall hold the details of every student, tutor, admin staff and course details. It shall enable the school staff to enrol students to the courses and manage students’ personal details, fee payments, attendance and achievements.
The requirements are:
- The system should be able to maintain student, tutor, admin and course registration, updating and deleting.
- Users shall have access to the system using user-friendly menu system. The UI implementation will be a graphical user interface using frames, panels, buttons, labels, text fields, forms… etc.
- Data shall be persisted in text files in the form of simple tab or comma-delimited file. Or DBMS - Access or SQL Server
- Programming Environment: NetBeans with latest JDK available at the time.
LO2. Be able to design Java solutions
Hint: Requirement Specification (Scenario B) – input, processing, output, user interface, hardware, software, program design tool e.g. structure diagrams, data flow diagrams, entity relationship models, flow charts, pseudo code, class diagrams etc. technical documentation flowcharts, pseudo code, structured English, action charts, data dictionary etc.
- Design a Java programming solution to the SIMS scenario B using UML diagrams.. Your model should include use case diagrams, class diagrams with attributes and operations of each class and the relationship between classes. Define clearly each class, main methods and properties. You should also provide sequence diagrams as part of the model. [P2.1, D1]
- Identify the components and file structures or database required to implement the SIMS application. Explain clearly how data will be communicated and manipulated for the above scenario B. [P2.2, M2]
LO3. Be able to implement Java solutions
Hint: Classes: features eg identification attributes, methods, control of scope of attributes and methods, inheritance, aggregation, association, polymorphism; Programming: use of conventional language commands; use of library classes; pre-defined eg class libraries, downloaded, imported; Complexity: multiple classes; inheritance; reuse of objects; application of polymorphism
In this section you should apply the appropriate fundamental programming concepts (such as variables, constants, arrays, strings, methods, constructs, inheritance, encapsulation etc.) and make use of appropriate Java API classes (such as Scanner, String etc.). In addition, your program should incorporate appropriate error handling. Comments are also to be inserted to improve program clarity. To this end you have to:
- Implement the SIMS, based on your design in task 2. [P3.1]
- Create and implement all required classes using appropriate relationship such as inheritance. Use methods and attributes in different classes using instances/objects. [P3.2, 3.3, D2]
- You are required to identify opportunities for error handling and reporting for the proposed design using proper techniques. [P3.3]
- Netbeans is a rich IDE, demonstrate how you are using it in an effective way to develop your solution. [P3.5]
LO4. Be able to test and document Java solutions
Hint: Mechanisms:valid declarations, debugging code, checking naming conventions etc, feedback e.g. survey, questionnaire, interview, supporting document test plan; test results; programmer guidance; user guidance, review
In this section, you need to provide overall documentation for the system analysis, design and implementation as follows:
- Critically review and test the overall performance of your system. [P4.1]
- Using proper techniques such as testing table, you are required to analyse actual test results against expected results to identify discrepancies. [P4.2]
- Evaluate your system with actual users. Demonstrate their feedback on your solution and make recommendations for improvements [P4.3, M3].
- Create clear user and technical documentation for the solution. Include relevant screenshots and instructions. You are also required to document all the technical steps used to develop and deploy your solution to support and maintain your system. [P4.4, P4.5, D3]