Wednesday, December 11, 2019

Report about the Willowbrook school

Question: Write a report about the Willowbrook School. Answer: Introduction: Willowbrook School is a small private school which has a good reputation and wants to adapt IT in their school to provide various services to staff as well as students. So, system design specification has been provided to the school for the design of various interfaces of the information system. The best methodology for developing the system, Training plan for the system and testing techniques for testing the systems have been discussed in this analysis report. Design Architecture: The information system which has been proposed for a small private school named as Willowbrook School would be based on the Client Server Architecture. In Client Server Architecture, there are two types of independent processors i.e. (Setia, 2012) client and server. A client is a process that sends requests to the server for accessing specific services and server is a process that provides the requested services to the client. Both processes either reside in the same system or in different systems connected by a network connection. Among the various types of client/server architecture, multi-tier client server architecture is recommended best for the information system proposed for the school. Since the information system has to be flexible and reusable, that is why multi-tier client server architecture has been chosen. Multi-tier client server architecture is an expansion of 3-tier architecture in which the layers such as application processing, presentation, and data management functions are separated physically. Advantages of using multi-tier client server architecture: Scalable: The multi-tier architecture provides scalability to the system. For e.g., since the tiers are physically separated from each other, therefore involvement of one tier do not affect the other tier involved. Multi-tier deployment nature of it makes it scalable. Security Control: Security can be enforced to (Codeproject.com, 2013) different every tier in a different way according to the security requirement. 1 or 2 tiers have limited number of tiers therefore there is not much security present in those architectures. In n-tier architecture, requests of users are routed by the client presentation layer to business layer and then to the data layer. The client presentation layer acts as a proxy-like layer for the business layer and then business layer acts as a proxy like layer for the data layer. These proxy-like layers are used to protect the layers below to them. Fault tolerance Ability: Without affecting the other layers of architecture, databases in the data layer are clustered for load balance or failover. Therefore, it has a better fault tolerance ability. Friendly and efficient development: Every layer can be handled by a (Codeproject.com, 2013) team member who is specialized in that particular functional area, so the relevant task can be done more efficiently. Better Reusability: The coupling is loose among the layers; therefore, they can be implemented in many ways. That is why; they can be reused by many other applications. Disadvantages of multi-tier client server architecture: As it involves more computers, networks and processes, therefore there may be a (Codeproject.com, 2013) chance that hardware and network bandwidth does not remain good. That is why, using multi-tier, its performance might become comparatively slow. As mentioned above, it requires more number of hardware, and a better network bandwidth, therefore the cost for network, hardware, deployment and maintenance is very high. Cost/Benefit analysis: There are number of benefits accounted on the basis of cost/benefit analysis done over client server architecture. Since client server architecture has a scalability characteristic, therefore it would be easy to expand or shrink the services which help in saving costs. Client server architecture also controls network load due to which there will be less money required for network repairs. As response time is quick for this type of architecture, so number of benefits can be made. Physical and Network Topology: Figure: Logical Network Topology Hardware Requirements: Hardware Requirements for the information system are as follows: Processor: Intel Core I3 and above or AMD FX 4100 and above, or A6 and above. Hard Drive: 128 Gigabytes or more. Memory: 8GB. Database Access Server such as SQL, Microsoft Access, Oracle etc. Web Server such as IIS, Apache. Application server such as Glassfish, WebSphere etc. Routers such as Cisco 800. Personal Computer or laptop. Access point for Internet service. System Design Specification: System design specification if the specification that consists of all the information that is required to create the system. This specification is provided by the implementation and testing teams. So, basically SDS is a document that contains the information for designing the system and it is an output of requirement specification and input to the implementation of the system. Generally, System Design Specification consists of the following sections: Project Scope. System Design. Component and Process Design. Data Design. User displays and Output Reports. System Files. Prototype Analysis. System Development and Project Management Schedules. Special Notes. Project Extensions. Outline of the various modules/components The proposed system for the developed system architecture has been divided mainly into three modules or components i.e. School administrator, teacher/staff and student. The main key modules for these components are as follows: School Admin: Updating, adding and deleting the details of the students. Updating, adding and deleting the schedules of examinations. Updating, adding and deleting the details of staff/teachers. Managing the fees of studying. Handling payment details. Staff/Teachers: Updating, adding and deleting the details of the students. Updating the marks of the students. Uploading questions papers of examinations for admin. Managing the lecture notes and syllabus for students. Updating or deleting the details of subject. Student: Updating their own details such as contact number, contact address and email id etc. Viewing the results. Viewing and downloading the lecture notes and syllabus. Main Key Module: Login with authorized credentials to access the specified services. Relationship among different modules or components is described as follows: All the modules for system design which have been mentioned above such as school administrator, staff/teachers and student depend on the only single module which is a login module with which various services are provided to various users. Based on the main module i.e. login module, users are classified as: Registered Users: Registered Users are those authenticated users who are registered with specific credentials and are able to access the particular services assigned to them. Registered users for the school information system are school administrator, staff members or teachers and students. If someone wants to create a new account, then the person would have to sign up and approval would be made by school administrator and then specific services are provided to them. Unregistered Users: Unregistered users are those guest users who might visit the website for the first time or they are just the visitors. They are only able to view the basic information about the school provided on the website. Issues with the User interfaces: Issues with the user interfaces are divided into the following two types: For administrator. For user. Description about various modules or components Module Name: Login Module. The aim of this module is to give access to the registered users to enter to the system and use the specified services. Only registered and authorized users are able to access the system and its services. There is a need of internet connection to access the module, so it is necessary that every user should have internet connection. When a user opens this module, he/she gets connected with the server which checks their login credentials and if the credentials are valid, then entry is allowed for the users. If the user who logs in to the module is a registered or authorized user, then that particular user is redirected to the website for which he/she has privileges. If the user is unregistered or new to the site, then that person is redirected to the sign up page for doing registration. All the data related to this module is stored in MYSQL database. Element Name: Updating, adding and deleting the details of the students: The aim of this module is to permit user to manage the details of students such as updating details, adding new student and deleting a student. All the details related to the students are sent to the server so as to receive the response accordingly. Usually when staff logins and opens this module, staff updates the details of students such as name, subject, marks etc. When student logins and opens this module, he/she can edit their details such as contact number, address and email id etc. School administrator may also open this module for updating the details, adding a student if some new admission takes place or deleting a student when student leaves the school. Internet connection is must to perform all the processes. All the details are stored in MYSQL database and addition and deletion of students is done through matching criterion of database. Element name: Updating the marks of the students: The aim of this module is to permit staff or teachers to update the marks of the students so that students may later on view their results when result gets fully prepared by the staff members. Internet connection is must. Marks of students are sent to server and server responds back when student needs to view marks logging with their credentials. All the data is stored on the backend MYSQL. Element name: Uploading questions papers of examinations for admin: The aim of this module is to permit staff or teachers to upload the question papers prepared for examinations and it is to make sure that they are not accessible by students and only accessible by admin for securing it properly and printing them at the time of examination. Internet connection s must to upload the question papers. Only two users i.e. teachers and school administrator can access this module. Element name: Managing the lecture notes and syllabus for students: The aim of this module is to permit the staff or teachers to manage the lecture notes and syllabus by preparing lecture notes and syllabus for students. Student can access to them by login to their credentials. Internet access is must. Data is stored in MYSQL database and returned to the student when request is sent to the server. Element name: Handling payment details: The aim of this module is to manage the payment details i.e. handling the payment details of various staff members or teachers. Internet connection is must to access this module. All the details related to the payment are saved and stored in MYSQL database. Element name: Managing the fees of students: The aim of this module is to manage the fees of students i.e. letting the students who have not submitted the fees so that they could deposit the fees on the time else fine would be charged from them. Internet connection is must to send notification to students regarding the fee submission. Element name: Updating, adding and deleting the schedules of examinations: The aim of this module is to manage the exam schedules i.e. uploading the date sheet, uploading the sitting plan, updating all the details regarding to date sheet. This module is accessed by the school admin to maintain schedules so that students could be able to view it. Internet connection is must to upload all the necessary details. All the data related to this module is stored in MYSQL database. So, all the modules discussed above need internet connection in order to run efficiently. Application Development Methodology: Application Development Methodology proposed for the information system for this school is Agile Software Methodology. Agile Development Methodology is a type of software development methodology (Sharma, Sarkar and Gupta, 2012) which builds the software in incremental manner with the help of short iterations of around 1 to 4 weeks. A process of frequent feedback is adopted by the agile so as to deliver a workable product after 1 to 4-week iteration. The individual or group of persons who are involved in the agile methodology: Scrum Master: A scrum master is a main leader of the team who supports the members of team to follow the practices of agile so as to meet with their commitments. Roles of a scrum master are as follows: Protecting the team from any kind of disturbances. Working with an organization for tracking the processes and progress of the company. Enabling co-operation among all the functions and roles. Performing team meetings, retrospective meetings, planned meetings and daily stand-ups meetings. Owner of Product: An owner of a product is a person who owns the product and wants the product to be developed. Roles of a product owner are as follows: Defining the requirements and prioritizing them. Taking part in an active role in release planning meetings and iteration planning. Representing the voice of a customer. Determining the release date and schedule. Cross functional Team: Cross functional team consists of various team members such as 3 to 4 developers, 1 tester, 1 technical lead, 1 product owner and 1 scrum master. Scrum master and product owner are considered to be in team interface while all other team members are considered to be in the technical interface. Advantages of Agile Development Methodology: Adaptive to changes: In agile development methodology, (Sharma, Sarkar and Gupta, 2012) software is developed in various iterations. Each and every iteration is represented by various phases such as analysis, design, implementation and testing. After every iteration, prototype like mini project is delivered to the customer for taking their feedback. Any changes wanted by the customer are always welcome and developers do their best in implementing their changes. Customer satisfaction: Customer Involvement is actively required throughout the development process. Mini projects in the form of deliverables are sent to the user after each iteration for the use and feedback is taken accordingly. On the basis of the feedback, improvements are made. Improvements are made so that end product is of high quality to ensure the customer satisfaction. Less Documentation: There is not much use of documentation in agile development methodology because documentation is not made on the internal design of the software. It involves brief documentation which consists of features of the products, duration of each iteration, and its date. This documentation helps to save time for development and to deliver the project in less time. Reduced Risk of Development: Because a mini project is delivered in agile approach, and feedback is given by the users which help in improving the project. It also helps in reducing the risks that may occur in later stages. Errors are discovered quickly and so they are fixed quickly. Disadvantages of Agile Development Methodology: Customer Interaction: As lot of customer interaction is present in agile development methodology approach, therefore requirements are provided by customers only. If in some case, customer is not clear about deciding requirements, then there is a possibility that development may go out of track. Lack of Documentation: Although less documentation helps in saving the time for development, but is one of the disadvantage for the developer. As project has to be delivered on given deadline, therefore, there is no much time for preparing documentation. Because of the less documentation, new people who join the organization are not much aware of the project. Time consuming: If customer is not satisfied with the mini projects delivered to them, then that mini part does not remain useful. Lot of time, efforts and resources are wasted to develop that mini project deliverable again. Advantages of Structured Methodology: Ease of understanding. Straightforward and effective. Good Industry Standard. Validation of requirements is done. It follows the particular structure of development. Disadvantages of Structured Methodology: If the system requires changes to be done, then a complete re-work is done because adapting changes in this approach is complex. Time taken to complete development is more and so the cost of development is increased. There is no such involvement of direct management. There is no involvement of nonfunctional requirements in a project based on structured methodology. Advantages of Object Oriented Development Methodology: Object Oriented Development is aimed at appreciating more extended life rather than having little upkeep costs. Object Oriented Framework is considered to be stronger than the conventional frameworks. When another object is created, then it will be acquiring the information related qualities and attributes of the class from which it was brought forward. Therefore, in this way all new objects will acquire qualities from their super classes. That is why; object oriented approach follows high code reusability. Disadvantages of Object Oriented Development Methodology: More lines of codes are included in object oriented approach rather than including procedural projects. Since more directions need to be executed, therefore, these object oriented projects are much slower than the strategy based projects. This approach is not reasonable for a wide range of issues. Testing and Test Data: Testing is a process of detecting the errors in a project so that project becomes error free and of high quality. Various types of testing which are performed for the proposed system are as follows: Unit Testing: Unit Testing is a type of testing which is used to test a single module of the system at the time. It is performed by developers before they handle the project to testing team. Each and every module is tested separately and checked whether the expected result is correct or not. Its aim is to isolate each part of project to make sure that all individual parts are correct in terms of requirements and functionality. Integration Testing: Integration testing is a part of testing which is used to test the combination of modules together to ensure that they are working correctly. It is basically done in two ways: Bottom-up Integration a Top-down Integration. System Testing: System testing is a type of testing which is done to test the system as a whole. Once all the modules get integrated or combined, then whole application is tested rigorously to check whether it meets he specified requirements. Regression Testing: When there is some change made in the software, then it may be possible that any error or bug may occur in the system due to the effect of change. So, regression testing is done to see if there is any bug in the system because of the change in system. Test Data: Data which is tested in the system includes: Login credentials for all users. Student details, staff/teachers details, fee details, payment details and details related to exams. Subject details, syllabus and lecture details. Database credentials. Training Plan: There are four types of intended audience that need the training for the proposed information system: Users: Training type: Introduction. Users are given training about the overview of system, basic functionalities, starting and shutting down systems, troubleshooting guide, downloading and uploading files. Business Owners: Training type: Specialized Need. If there is a need to introduce a change in the business logic, then a proper training should be provided. Technical Support Staff: Training type: Support and Help. They will be taught about the frequently asked questions of users, risks and their solutions, documentation, resolving issues. School Administrator: Training type: Management. Training to them will be given on cost or benefit analysis, scheduling information, providing training to users, reporting structure. Data Conversion: The conversion of data can be both iterative as well as incremental. It depends on the following situations: When the existing system data has to get converted into the file system, then n incremental approach is followed. When the data has to be completely transferred into a new system, then an iterative approach is followed. The information has to be entered in the following manner: First of all, data related to the school has to be entered. So, if there are any branches of school, then the information such as name, city name, branch name, address, contact number has to be entered in an iterative way. Then the various subjects and programs offered by the school are entered and information of staff or teachers and students are entered. It is important to handle the data of students more securely as it contains payment details. During the change process, various documents are recognized and manage to take after the cases such as: Containing missing documents. Containing missing field values. Failure in mechanizing altering schedules. Data requiring manual validation. System change over approach: For the proposed study, school has not enough budgets to handle expensive cost of changeover method. Operation and maintenance of a system at a time is done by the IT team, so it is considered to be the least expensive changeover approach. There might be a chance of occurrence of abnormal errors but they are handled quickly due to its simple implementation and development. Old system is not compatible for school information system, so it is the only best option. Parallel and some other techniques might be expensive to implement for school information system. Conclusion: The Willowbrook school has proposed its information system using the multi-tier architecture. Agile development methodology is recommended for this information system so that number of benefits can be taken advantage of. Various types of testing such as unit testing, integration testing, system testing, regression testing is done on the system to check its functionalities. Therefore, this analysis reports covers all the aspects related to information system of a small private school i.e. willowbrook school. References: Sharma, S., Sarkar, D. and Gupta, D. (2012). Waters, K. (2007). 10 Good Reasons To Do Agile Development | All About Agile. Cs.armstrong.edu. (2013). System Design Specification:. Setia, S. (2000). Client - Server Applications. Codeproject.com. (2013). N-Tier Architecture and Tips - CodeProject. Bourke, C. (2012). Multi-Tier Architectures. Description about various modules or components

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.