This report outlines the system requirements for a learning application that aims to revolutionize the learning experience and increase efficiency for instructors and students. It covers hardware and software requirements, functional and non-functional requirements, and the agile system development methodology.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Windows User [COMPANY NAME][Company address] [DOCUMENT TITLE]
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Table of Contents Introduction................................................................................................................................................2 Hardware requirements.............................................................................................................................2 Software requirements...............................................................................................................................3 Functional requirements............................................................................................................................4 Non-functional requirements.....................................................................................................................4 Methodology..............................................................................................................................................5 6.5 agile system development cycle...........................................................................................................6 Conclusion...................................................................................................................................................7
Introduction The current business society has had major advancement and growth. Despite the numerous advantages that are associated with this growth, there have been multiple challenges too. This is major in the field of managing data. One of the greatly affected sectors is the education sector. Learning institutions have a high number of students and it is seemingly difficult to handle them while carrying out normal activities. Nevertheless, technological advancement in the field of information technology has brought an upside to this. Some of the advancements have assisted the students and the institutions at large in managing their data. The development of applications has made it easier for students to acquire information as well as assisting instructor and lecturer in administering their services. Various applications have been developed and the improvement to a better learning environment is enormous. Non-the less, despite the advantages brought by the current application, some have their downside. This report is focused on stipulating the system requirement for an application that will revolutionize the learning experience and also increase efficiency to the instructor or tutor. It contains the various requirements and methodologies that have been used to develop the application Hardware requirements For an application to be developed, there are physical tools that will be used. In this section, we will discuss the tools and their corresponding significance in realizing the application. TOOLUSERDESCRIPTION Mobile device Students, lecturer, instructors This is a mobile technological gadget that is used in communication; the mobile device will have to have qualification criteria that will enable it to install and run the application. The mobile device can either be a smartphone or a tab. The device version able to run the application must have been developed between the year 2012 and 2019. In addition to this, the devices must have an internal space not less than one 1 GB to install the application and run it effectively. Wi-fi router Student, instructor, lecturers The application developed is an online application
that has a real-time database. For this to be possible, it needs reliable and strong network access. There are many sources of internet access but the most reliable is through a Wi-Fi router. This will be more efficient since the students and their instructors will be handling real-time data which is more convenient. FirewallWI-FI router The Wi-Fi routers will also need a security measure that will prevent hackers from gaining unauthorized access to people accounts through the WI-FI connection. ServersAplication database Servers are used to store information and make it accessible to the right users in connected to internet access. The server can either be developed specifically for the use of the application. This may seem expensive compared to hiring a server space where the application will run. In addition to being cost- effective, companies that offer server services have an elaborate security system and culture that will ensure the data within the system is secure. Software requirements In addition to the physical tools that are used, there are intangible software tools that need to be used. These tools are used in various phases of a system development cycle, i.e. design, implementation, and even analysis phase[2]. These tools include. ToolUserDescritption UML design tool System designers The UML is a tool that is used to structurally draw the UML diagrams. Using UML diagrams and component diagrams depict the scope of the project by aiding the developer with a review, design, and
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
documentation of the entire system. They offer a clear picture of the relationships between the different modules and the system’s architecture. The following are its advantages in system development: It is a standard ized modelin g language that can be used by different develope r across the world It shows the interacti on between the different compon ents in a business system It can be used with a vast range of other applicati ons It is indepen dent of other program ming language s thus making it easy to learn and also powerful . Developmen t tool System developer s This is an integrated development system (IDE) that is used to write the code for the system. This depends on the platform that will be used to runt the code and the programming language. Other IDE can be used which will
allow the code to be run across different platforms. Angular JS can be used to develop systems that can run both on an Android or an IOS device. Data managemen t tool System deveing manager This is a software tool the enable the system manager to view the progress of the development. It also helps in managing the stakeholders. Functional requirements The functional requirements of a system explain the functions or behaviors that are performed by the system. The following are the functional requirement of the proposed system [3]: ProblemUsing design to solve Lack of proper communication channel to students The system allows the student to access the system and view related academic reports or information Lackc of an efficient channel for lecturers to offer quizzes Allows instructors or lecturer to login and post-academic details such as quizzes and their answers To much time taken in making the students quizzes The system marks the assessment and make result sheet for students Lack of an effective storage for students’ academic details Store academic details for both the lecturers and students Poor data integrityThe authentification protocols make the data credible since one was right based on theier occupation Non-functional requirements The non-functional behaviors of a system include all the constraints in which the functional behaviors are supposed to behave [4]. The following include the non- functional behaviors of the proposed system: Scalabilitythe scale of the project is on based on the lecturers and the student in an educational facility Capacitythe system has an unlimited capacity, the system data processing system allows multi-task thus can accommodate an unlimited number of users; both lecturers and students. Reliabilitythe system is reliable since the user can access the system on their mobile device as long as they are connected to an internet connection. Recoverabilitythe since the system is an
online application, the data is saved in real-time to the server, this ensures that the data can be recovered in the case where the mobile device or application may crush. Maintainabilitythe application has well- defined modules (visible from the UML diagrams) that make it easier to perform system maintenance Securitythe system has an authentication protocol that offers different accesses to the users’ based on their position within the institution. This ensures that the data store in the system is credible and secure. Usabilitythe system is made up of a suitable and easy user interface with clear modules. This makes it easier for the user to effectively use the system. Environmentthe application is limited to mobile devices such as smartphone and tablets. Methodology System development methodology illustrates the phases or stages that take place before the system is fully developed. There are several methodology systems, the agile methodology has been adapted by several developers due to its efficiency in developing effective systems [5]. The proposed system was developed with Agile development because the methodology is equipped with the necessary principles and values that enable a developer to develop their systems easily and within less time. The following are the methods are involved in agile software development methodology: Extreme Programming, Featured Driven Development, Scrum among others. The agile software development process is an alternative from the older development such as waterfall system development cycle. The methodology used in the design of the system adopts qualities such as iteration,open collaboration and adaptability through out the development cycle which in return makes the procedure take a shorter time. The short period is contributed by the fact that the agile methodology allows little planning and small releases of the project. In the long run, this reduces the risk of the projects. The agile methodology releases pieces of the project and based on the feedback make additions to the project. The small episodes are referred to as cadences. 6.3 principles of agile methodology The following are the distinct driving principles for the agile software development methodology, these include [6]:
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
I.A user satisfaction approach that ensures that the customer requirements are met by submitting the service/ product in time and on a stable delivery II.Flexible enough to incorporated new requirement even at the final stages of the system development III.Release of the final product within a short time-span IV.The functioning quality of the software is used to measure the progress V.The system development cycle involves all the stakeholders throughout the entire process VI.Development of a suitable environment to motivate the involve parties in developing the project VII.Ensuring that there is an effective communication channel 6.4 ADVANTAGES AND DISADVANTAGES Advantages It has a less cost of development to both the developer and the client; this is because it uses resources effectively by minimizing the waste of funds. It reduces the time of delivery of the project to the market. Quality- the product has a high quality that will satisfy the customers’ requirement. This is because the user’s feedbacks are considered during the development of the project. Flexibility- it does not require the entire requirements to be stated before development, thus reducing the time consumed in planning project development. Disadvantages Limited time-span for the planning phase- the limited time in the agile development process may contribute to the final product not having the entire requirements met. This will, in turn, affect the productivity of the system. Customer input- since the user is involved in the entire development process, it may result in a repetition of input from the customer thus wasting time. 6.5 agile system development cycle The following are the phases involved in the development cycle: Select the project In this phase, a couple of projects are identified and an iterative process is used to determine the suitable project to be handled [7]. The iterative process involves feasibility studies that determine the most suitable project. Initiation of the project This is the phase that gathers the necessary resources which may range from the respective stakeholder and funds for the project. In addition to this, the project also involves team-building activities and determining the basic requirements for the intended system.
Construction iteration In this phase, the delivery of the system is done where the user gives feedback based on their experiences. The phase also involves the following activities: Model storming Test-drive designs Documentation and testing Release iteration This is the phase where the product is delivered to the market for use. The phase also involves completion of the documentation as well as offering training to the end-user on how to handle the system effectively. Production This is also referred to the maintenance phase; this is because if there are any errors realized they are corrected. If no errors are experienced, enhancements are carried out in this phase Retirement This is the end game phase where the system is deemed out of production and transferred fully to the end-users. This phase also involves the transition from the older system. Based on the used methodology it is evident that agile methodology is more appropriate for this system. In comparison to the traditional method that emphasized more on the processes, tools, and plans, the agile methodology is more bent on the interaction between the stakeholders. The methodology has various advantages such as flexibility that enable restructuring of the system at any particular phase. The agile methodology is proven to be the best methodology for this system because of its well-defined principles that ensure it is strategic in developing the system. Conclusion From the above report, the system requirements have been documented. The functional requirements depict the behaviors expected from the developed system while the non-functional requirements show the constraint of this behaviour. In addition to that, the hardware and software requirements need for the development of the system have also been stated. For a system to be successful there has to be a stipulated methodology that determines the flow of activities. Form the above report, the agile method of system development has been explained. The methodology and system requirement from the report were used to develop the system. The proposed system will have a major impact on the normal functioning of the institutions, this includes unlimited access to the respective portal thus saving time. In addition to that, the student will improve since they can easily access the system, perform quizzes and get their performance chart from a centralized point .
Reference [1].A. Al-Hourani, S. Kandeepan and E. Hossain, "Relay-Assisted Device-to- Device Communication: A Stochastic Analysis of Energy Saving",IEEE Transactions on Mobile Computing, vol. 15, no. 12, pp. 3129-3141, 2016. Available: 10.1109/tmc.2016.2519343. [2].S. Alsaleh and H. Haron, "The Most Important Functional and Non- Functional Requirements of Knowledge Sharing System at Public Academic Institutions: A Case Study",Lecture Notes on Software Engineering, vol. 4, no. 2, pp. 157- 161, 2016. Available: 10.7763/lnse.2016.v4.242. [3].G. Bazydło, M. Adamski, M. Węgrzyn and A. Rosado Munoz, "From UML State Machine Diagram into FPGA Implementation",IFAC Proceedings Volumes, vol. 46, no. 28, pp. 298-303, 2013. Available: 10.3182/20130925-3-cz-3023.00061. [4].M. Hammersley,Methodology. London: SAGE Publications, 2010. [5].S. Mukhopadhyay and R. Gupta, "Reviewing Commonalities between Agile Software Development Methodology and Grounded Theory Methodology",SSRN Electronic Journal, 2019. Available: 10.2139/ssrn.3326376. [6].M. Wadhwa, "A STUDY ON AGILE SOFTWARE DEVELOPMENT LIFE CYCLE MODEL",INTERNATIONAL JOURNAL OF COMPUTER APPLICATION, vol. 7, no. 6, 2017. Available: 10.26808/rs.ca.i7v6.09. [7].P. Adhikari, H. Hooshyar and L. Vanfretti, "Experimental Quantification of Hardware Requirements for FPGA-Based Reconfigurable PMUs",IEEE Access, vol. 7, pp. 57527-57538, 2019. Available: 10.1109/access.2019.2911916.