Design Architecture
Question:
Discuss about the System Design and Architecture for the Willowbrook.
Willowbrook School is a private school that holds good reputation among the citizens and has decided to adapt IT in its architecture to have better working and integration of the system. It would make it easier for the school to manage various processes along with the children and staff members and their activities. An interface including the data designs and input/output details have been presented to the school which required a suitable system design, development technique and testing requirements for better execution of the same.
Design Architecture
There are broadly two categories of design architectures viz. client/server architecture and file server architecture. The proposed architecture for Willowbrook School is the Multi-tier client/server architecture which is due to the reasons as follows:
- The files related to the children information, subject information, admission procedure, staff details and likewise can be stored and accessed from one single location.
- Network peripheral are also controlled easily and from a central location rather than being distributed in nature.
- It would be easier for the School management to take backups and also to manage and control the network security.
- Sharing of data between several parties such as School management, administrative unit, staff and children would be handy (Teach-ict.com, 2016).
The architecture that has been proposed would be passed on multi-tier system and would have three basic layers as:
- Server layer
- Internet layer
- Client layer
Client/Server Architecture for Willowbrook School (Egnyte.com, 2016)
The flow of information on the basis of this design architecture would take place as described below:
- The client such a student or a staff member would place the request through the client layer with the help of a computer system or a mobile devices connected to the network.
- This request would then be sent over to the server via Internet that is the network layer.
- The server would handle the request that would be places by the client and would respond to the same to be transferred to the client over the network.
- Database servers would also be connected to the central server to handle these requests and provide the response (UtDallas, 2016).
- Cost/Benefit Analysis of the Design Architecture
On the basis of the cost/benefit analysis done over client/server and file server architecture, there are a number of benefits that have come up in favor of the former.
- It would be easier with the client/server architecture to expand or downsize the services as it provides the ability of easy scalability. It would aid in cost-savings as re-structuring of the design would not be required.
- Network load can also be easily handled with this category of design architecture which would result in lesser occurrences of network breakdown and would save cost in repairs.
- Response time is also quick for the client-server architecture which makes it easier to have increased benefits at optimum cost.
Logical Network Topology
Physical Network Topology
The above figures display the logical and physical designs of the network topology which show the interaction that would take place between the client and the server over the network. Database server, business logic and data mapping would be involved in the entire architecture to ensure that the passage of information is accurate and is also as per the request that has been placed.
Hardware Requirements
Following is a list of hardware that would be necessary for the entire system of Willowbrook School considering the design specifications, development and testing necessities.
- Web server
- Application server and interface
- Database Server
- Network equipment such as router, hubs, switches, bridges and gateways
- Network Interface Card
- Access points for the Network
System Design Specification
- Introduction
- Purpose
The purpose of the document is to describe the design specifications related to the Willowbrook School and the components that are involved in the same.
- Scope
The scope of the document is to provide specifications of the design covering the functional and non-functional requirements of the Willowbrook School.
- Intended Audience
The document is written on a technical level in order to address the technical team that would be involved in the design and development of the system.
- System Overview
The entire system is divided in three major components as:
- Student
- Teacher
- School Administration and Management
The common module between the three components would be the Login functionality which would allow each of the entity to enter in the system. School administration and management would have the ability to manage the student details, fee structure, admission procedure, examination details and staff details. Staff member or the teacher would have the ability to manage the student details, exam details and subject details. Student would have the ability to view information such as exam information and would be able to manage his/her details.
- System Context Diagram
- Design Considerations
- Design Assumptions
- The hardware that would be required to develop an end-system would be made available to the team.
- Any changes to the requirements would be made available to the concerned team in-time.
- Architectural Strategies
The design would be based upon the multi-tier client-server architecture that would involve multiple layers as client, network and server. The developmental strategy that would be used would be Agile Development.
- Detailed Design
- Login – Authentication
- Login – Authentication Diagram
- Data Flow Diagram
Logical and Physical Topology
Data Flow Diagram for Admission Procedure
Data Flow Diagram for Marks Management System
- Design Decisions and Trade-offs
Amid inquiry of any understudy or instructor, the system of the proposed framework won’t surge the system with information in one go. Rather, as indicated by the solicitation, information will be sent in bundles and will be put away in reserve memory for particular timeframe.
There are primarily three different application development methodologies that are available.
- Structured Methodology
Structured methodology is an approach that divided the entire process in a number of defined processes and tasks. There are a number of benefits around this approach as:
It improves effectiveness as far as exertion and conveyance. It has the possibility to keep everybody includes from group to pioneer to clients. Keeping straightforwardness with the client results in better consumer loyalty which is the prime point of any venture or any organization. The group chipping away at the undertaking additionally demonstrates better development inferable from the organized technique. Positive results in the reports give the group productive criticism and results, while the crevices and slacking results urge them to perform better so as to accomplish better results in the up and coming stages. It additionally offers incredible standing, better adaptability and chance to grow. Dangers can likewise be evaluated in a vastly improved manner and at the correct time, just if a legitimate structure is taken after. More or less, a very much characterized and effectively took after philosophy in the IT anticipate administration answers all the fundamental inquiries spinning around the venture, for example, all the what(s), why(s), how(s), when(s), by whom and for whom. It likewise brings about a superior achievement rate and productive results.
There are a number of disadvantages associated with this approach:
- If there would be changes involved in the system, then it would be required to do a complete re-work as the incorporation of changes in this particular methodology is difficult.
- The time that is required to complete this method of development would take more time and hence, would result in higher costs.
- There is lesser direct management involved in this particular approach.
- Non-functional requirements do not get due attention in this methodology (Pkirs.utep.edu, 2016).
- Object Oriented Development
This is the development methodology that is based around the objects as entities. There are a number of advantages associated with this one as:
- This approach provides a mechanism to re-use the existing practices by modifying them in the object oriented structure. The maintenance that is necessary is also accurate.
- The association with the real world in this approach is far better than the other methodologies available for application development. The objects that are used while development relate to the real world entities.
- Increased reliability and flexibility are offered by this approach as it helps in the development of the application as per the requirements and can also incorporate the changes without re-structuring the entire system or application.
- Reusability is another feature that is offered by this approach as the code that has been deployed earlier needs lesser modifications to make it adaptable to the new set of specifications (Dba-oracle.com, 2016).
There are also a number of disadvantages that are associated with this system as:
- The thinking and planning that is necessary in this particular approach may not go well with many of the resources. It may take time to understand the underlying features of this methodology which might have an adverse effect on the productivity and efficiency.
- Lines of code that are utilized in this approach are more than the rest of the methodologies
- These are also slower than many of the standard approaches.
- There are a number of issues that may occur in the lifecycle of the project which may get difficult to deal with this type of methodology (Saylor, 2016).
- Agile Development
Agile development is a methodology that is based upon the ad-hoc process rather than going by the step-by-step approach. The advantages of the same are as listed below:
- The revenues or the income that is generated by the projects that follow agile development is much higher than the ones who rely on traditional and existing practices.
- Software quality is something that is demanded by every client and this is something that is always made sure in any of the agile based development. It is because the requirements and feedbacks are incorporated at every single stage rather than defining them at the beginning and the end of the project.
- Client engagement and association is one of the key features of agile development which makes the client involved in each and every single phase of the project.
- Risk management and mitigation is also done with perfection in agile development. There might be occurrences in the project lifecycle which may result in an adverse impact on the project. These can be tackled well with agile as there is always a scope to make and amend the changes in this particular methodology.
- Agile is also very adaptable in nature in the sense that the change requests are handled the best in this methodology as compared to others such as structured or object oriented approach. Daily stand-up and scrum meeting takes place in which the feedback and progress is discussed to make sure that the product being developed is as per the defined specifications and requirements or not. The future scope and plan of action is also discussed in brief (Allaboutagile.com, 2016).
There are also a few drawbacks that are associated with this approach as:
- It is not possible to estimate the correct effort requirements in the beginning of the project when it is based on agile framework as it works on the ad-hoc basis.
- Client contribution is something that plays a vital role in agile projects. Such increased involvement may result in client being unable to focus on other priorities.
- Documentation is something that gets lesser attention in agile. The requirements keep on changing and the development is done on an ad-hoc basis which mostly results in less focus on keeping all of the information documented at one place. This is one of the major drawbacks of agile as there might be no evidence of the changes stated by the client and in case the client refuses to accept them later on, there would be no written agreement or contract for the same.
- Application Development Methodology for Willowbrook School
The methodology that has been recommended for Willowbrook School is Agile Development. This is because of the advantages that come with this particular approach and also the framework that it offers for the development. The end-user contribution is also maximum in this case which would mean that the system would be developed as per the requirements of school administration, teachers and students.
Types of Testing
Test suite would comprise of functionality testing, GUI testing, regression testing, smoke testing, end-to-end testing and configuration testing.
Functionality Testing: Identification of the tests related to the functional features of the application.
Test type: Functional testing |
|
Objective |
Functionality Testing will involve testing the required functionality of the enhancement as per the specifications and verifying that the expected results are correct. |
Responsibility |
QA Team |
Methodology |
Execution of test cases to verify the following : § Creating comprehensive test suite covering functional areas that are most vulnerable and have greatest risk of breaking the system § Executing functional test cases to ensure functionality is working as per the specifications. § If the expected result is correct. |
Participants |
QA Team |
Entry Criteria |
Functional test cases are reviewed and ready for execution Testing environment is established Application is stable enough to be tested |
Task |
Execute test cases Identify defects Report defects |
Exit Criteria |
All planned functional test cases have been executed All reported defects are validated and closed |
Issues/Concerns |
Smoke Testing: Identification of tests related to smoke testing like basic functionality of Willowbrook School system.
Test type: Smoke testing |
|
Objective |
Smoke testing will be performed to ensure that the application is stable enough for system testing. Smoke test would be executed once the build is stable and to check whether we can proceed with further testing. |
Responsibility |
QA Team |
Methodology |
QA team will manually test identified smoke test scenarios. The focus of this will be to verify the basic functionality of the software |
Participants |
QA Team |
Entry Criteria |
Testing environment is established Application is stable enough to be tested |
Task |
Execute test cases Identify and report defects |
Exit Criteria |
All planned test cases have been executed |
Issues/Concerns |
End to End Testing:
Test type: End to End test |
|
Objective |
End-to-end testing involves ensuring that integrated components of Willowbrook School function as expected. End-to-end testing is used to test whether the flow of the system is performing as designed from start to finish. The end to end testing is carried out to identify system dependencies and to ensure that the right information is passed between various system components and systems. |
Responsibility |
QA team |
Methodology |
End to End testing will include all configurations of data elements. The QA team will develop test plans and test case scenarios according to the operational sequence of events. |
Participants |
QA Team |
Entry Criteria |
Testing environment is established Application is stable enough to be tested |
Task |
Execute test cases Identify and report defects |
Exit Criteria |
All planned test cases have been executed and all reported defects are fixed and closed |
Issues/Concerns |
Test Data
The data that would be required for testing would include:
- Login credentials for students and teachers
- Login credentials for Admin
- Database credentials
- Test input data such as student details, staff details, fee structure and exam details.
- Subject details
- Expected output data corresponding to each set of input data.
- Training Needs
Sr. No. |
Training Type |
Intended Audience |
Scope |
1 |
Induction |
Users |
System overview, basic functionalities, menu options, start and shutting down, key terminology, troubleshoot guide. |
2 |
Specialized Need |
Business Owners |
In case a specialized module/change in business logic is introduced, the relevant team will provide training as appropriate |
3 |
Support and Assistance |
Technical support team |
Frequently asked questions, probable risks and solutions, system documentation, user manual, resolving issues. |
4 |
Management |
School Admin |
Cost/benefit analysis, schedule information, user trainings, handling system architecture and reporting structure. |
The transformation of the exercises will be both incremental iterative. While sending out the present framework information into a record framework, then incremental methodology is taken after. Till the information is totally and precisely moved in the new framework, the iterative methodology is taken after.
The information will be entered in the accompanying inclination:
Firstly, data in regards to the school is entered. At that point, if the school has any branch then in an iterative manner, information particular to branch is introduced i.e. name, branch name, city, address. At that point information identified with various projects and subjects are put away. From that point, instructors and staff information are put away. At last, information identified with understudies is put away. The understudy’s information is the most basic information. This is so since it has contact and installment points of interest of understudies which if get spilled can prompt abuse of put away card’s data.
- Mechanized Conversion Methods
During the changes, a progression of special case and “turnaround” archives are surrounded to recognize and handle taking after cases:
- Contain missing documents
- Contain missing field values
- Failed in mechanized altering schedules
- Data requiring manual acceptance of the qualities
- System changeover approach
In the given situation, the school’s financial plan is not sufficiently skilled to handle immense expenses of changeover strategy with the exception of Direct Cutover. It is the slightest costly changeover technique in light of the fact that the IT group needs to work and keep up one framework at once. In this methodology, old framework stops to function when new framework comes into operation. There are high odds of strange blunders however they will entirely simpler to handle due to basic improvement and execution. This is the main choice for school in light of the fact that new framework is not exceptionally perfect with the old framework. Parallel and other changeover techniques are very costly and hard to actualize for a school.
Conclusion
The design architecture that has been recommended for the Willowbrook School is client-server architecture that would be multi-tier in structure. The same would result in a number of benefits including the ones related to the cost benefit structure. The suggested application development methodology is agile development owing to the ad-hoc framework that it provides and also the advantages that it comes with. Testing is a prime activity and thus, a number of different testing activities such as functional, smoke and end-to-end testing would be done on the system.
References
Advantages And Disadvantages Of Object-Oriented Approach (2016) Dba-oracle.com <https://www.dba-oracle.com/t_object_oriented_approach.htm>
Advantages And Disadvantages Of Structured Methods (2016) Pkirs.utep.edu <https://pkirs.utep.edu/cis4365/Tutorials/Database%20Administration/tutorial%208.02400_files/tutorial%208.02400.htm>
Design Specifications (DS) | Ofni Systems (2016) Ofni Systems <https://www.ofnisystems.com/services/validation/design-specification/>
Haunts, Stephen, Advantages And Disadvantages Of Agile Software Development (2014) Stephen Haunts Coding in the Trenches <https://stephenhaunts.com/2014/12/19/advantages-and-disadvantages-of-agile-software-development/>
Saylor.org, (2016) <https://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-AdvantagesDisadvantagesOfOOP-FINAL.pdf>
Software Design Specification (2016) Cs.utah.edu <https://www.cs.utah.edu/~jamesj/ayb2005/docs/SDS_v2.htm>
System Design Specification: (2016) Cs.armstrong.edu <https://www.cs.armstrong.edu/sjodis/COURSES/3321/design-guide.html>
Teach ICT – GCSE ICT – Network Topologies, Network Hardware, Hubs, Switches, Routers, Repeaters, Bridges, Modems, WAP, Network Cards (2016) Teach-ict.com <https://www.teach-ict.com/gcse_new/networks/peer_peer/miniweb/pg3.htm>
The Benefits Of Agile Software Development (2016) VersionOne <https://www.versionone.com/agile-101/agile-software-development-benefits/>
Utdallas.edu, (2016) <https://www.utdallas.edu/~chung/SA/2client.pdf>
What Are The Differences Between A File Server And Client Server – File Server Questions – Ask An Expert – Egnyte.Com (2016) Egnyte.com <https://www.egnyte.com/ask-an-expert/file-server-questions/what-are-the-differences-between-a-file-server-and-client-server.html>
10 Good Reasons To Do Agile Development | All About Agile (2016) Allaboutagile.com <https://www.allaboutagile.com/10-good-reasons-to-do-agile-development/>