Advantages and Disadvantages of Client/Server Model
Question:
Write an essay about the “Professional Skills for Systems Analysis”.
Tasks 1:
Design a system architecture for Willowbrook School based on file server or client/ server architecture? Discuss advantages and disadvantages that should be considered when making this decision within the context of Willowbrook School. Speak to the cost-benefit issues of file server and client/ server designs.
Soln: System architecture design
- The system design will be purely based on client/ server model architecture.
- We follow this type of architecture here because school development is a scaling process which will go on & on day by day quite significantly.
- Moreover, by following this architecture, the presentation tier gets separated from the business tier of the three tier architecture model.
- In the client/ server model architecture, a request from the client comes in a queue to the server & the server or the master computer serves the request which has been forwarded to it one by one. So, this type of design & architecture is very much suitable for development of an organization.
Advantages of client/ server model
The client/ server model has lot of advantages when to its disadvantages. Among them, few are listed below-
- Improved Data Sharing
Data is retained by usual business processes and manipulated on a server is available for designated users (clients) over an authorized access. Open access from all client aspects and also transparency in network services are provided by the use of Structured Query Language (SQL).
- Integration of Services
Via the desktop interface every client is given the opportunity to access corporate information & thus eliminating the necessity to log into a terminal mode or another processor. With the help of database and application server desktop tools like spreadsheet, power point presentations etc can be used to deal with corporate data.
- Shared Resources amongst Different Platforms
Client/ server model gives the opportunity to share resources of the server to its clients irrespective of the platforms (i.e., operating system) being used.
- Inter-Operation of Data
For consistent management of corporate data, all development tools used for client/server applications access the back-end database server through SQL, an industry-standard data definition and access language. This type of database product allows user to get a wide view on the corporate data scattered over several platforms.
- Data Processing capability despite the location
Despite of the location or technology of the processors, client/server users can directly log into a system.
- Easy maintenance
It’s an advantage in terms of maintenance since client/server architecture is a distributed model representing dispersed responsibilities among independent computers integrated across a network . It’s easy to replace, repair, upgrade and relocate a server while clients remain unaffected.
- Security
Only authorized clients can access or manipulate data and server-updates are administered effectively as servers have better control access.
Disadvantages of client/ server model
- Overloaded servers
When many clients generates request from the server, overloading of server becomes an issue which may hamper the performance of the entire system.
- Impact of centralized architecture
As we all know that in the client/ server model, each client is dependent on the server to response, so, if a server fails, it will lead the entire system to become idle. So, we can say that client/ server model is not robust to that extent as we can observe in P2P network.
Cost benefit issues of client/ server design
- Client/server systems offers some best experience while using it in a business organization. Whether a business is expanding or shortening, client/ server model can grab it & adapts to its rapid change quite easily by reducing or increasing the number of clients.
- Client/server model gives the companies an option by which their applications can be shifted from highly expensive servers to comparatively less expensive clients and servers can communicate across multiple platforms which make a difference since most companies have an investment across multiple platforms.
- Finally, compared to file server designs, network load is hugely reduced by client/ server systems & thus response time is also improved.
Based on your chosen architecture from task 1, what physical and logical network topology would you recommend for Willowbrook School?
Soln: The physical network topology chosen for task 1 is bus topology. Here, we have planned to connect all the client computers with the main server computer by one single main cable which connects to all other nodes forming the backbone of the network. There lies a computer which is known as server & the chief advantage of this bus topology lies in connecting a client machine at the time of need to the server is quite easy & cost efficient too.
Cost-Benefit Issues of Client/Server Design
The logical topology implemented by us is the widely popular client/ server model. Client-server describes the relationship between two or more machines, one being the server & the other being the clients. The client request to the server & the server process all the requests being forwarded to it by the client machines. Nowadays, client/ server model is hugely popular & most of the business organizations irrespective of their structure use it quite successfully.
Now that you have developed a systems architecture and physical topology for the network, make a list of the hardware that will be required for Willowbrook. Review the background information in previous chapters to develop your list.
Soln: The following hardwares are needed to implement the whole network architecture for Willowbrook-
Bus topology requires a few set of hardware, namely- cables, connectors, terminators e.t.c. They are described below:
Cables: In bus topology generally coaxial cables are used. They may be of several grades depending on the thickness & efficiency of carrying a signal. The main two grade of this type of cables are- thicknet & thinnet. This cables become the backbone of the bus topology as all the clients are connected to the server through it.
T-Connectors: Branch cables are joined using this with the trunk. They are called so because they are T-shaped.
Terminators: Terminators are used to resist the flow of the signal through the cables. The terminators are actually 50 ohm resistors which remain connected to each end of the trunk. The garbage data generated due to collision in the bus topology are neutralized by these resistors as they remain grounded.
British Naval Connectors or BNCs: Branch cables are connected with the PCs using BNCs. The branch cables are connected to the ports of the NIC card of the PCs after being crimped with the BNC connectors.
Write a system design specification document for Willowbrook’s new information system.
Soln: System design specification of Willowbrook’s new information system are-
Title name- Willowbrook’s information system.
System Design- Client/ server architecture.
Physical network topology- Bus topology.
Logical network topology- Client/ server model.
Server & client- One master computer that will act as a server of the whole network system that will be developed & there with be many client machine that will be connected to the main server machine using bus topology.
Hardware needed- Cables, T-connectors, terminators, BNC (British Naval Connectors) & LAN wires are also required for connecting each client machine with the main bus cable. Each machine has to be provided with a NIC (Network Interface Card) within which the LAN cables will be connected by the RJ45 jacks.
System Design Part B
Choose an application development methodology for the Willowbrook system. Discuss the advantages and disadvantages of structured, object oriented, and agile development.
Soln: The application development methodology that we will implement for the willowbrook system is object oriented model.
Here are some of the advantages of the object-oriented approach:
1) Reduced Maintenance: Having a far smaller maintenance cost, longer life of the software is assured by OOP model.
Physical and Logical Network Topology for Willowbrook School
2) Real-World Modeling: The real world is tend to be modeled by this OOP model in a much more complete fashion than the other traditional models.
3) Improved Reliability and Flexibility: The reliability & flexibility of the OOP model is far more than the other traditional models.
4) High Code Reusability: The data & the characteristics are automatically inherited by the new objects when they are created.
Structured design
Structured design methodologies uses an approach to the Software Development Life Cycle which is step by step & it moves logically from the former to the later phase. It also adopts diagramming techniques or formal modeling in the design methodology which will describe a system’s design process & will approach to structured design of the system.
Advantages
- Simple goal, simple to understand and use.
- The tasks are easy due to the clearly defined stages.
- Due to each phase having a specific deliverable & review, management is quite easy.
- When requirements are well understood, it’s the best choice.
- Product quality is the primary option here than cost.
Disadvantages
- The design must be completely specified before programming begins
- Complex projects are not suitable.
- Critical software are not entertained.
- When requirements are likely to change, it is not suitable.
- Expensive post- implementation programming may be needed if the project team misses important requirements.
- As the process cannot start before the completion of previous one, it is quite risky.
Advantages of Agile model:
- Continuous & rapid delivery of software results in immense customer satisfaction.
- Interaction between the customers, developers & testers is the main priority here rather than process & tools.
- Frequent delivery of working softwares (weeks rather than months).
- Business people and developers cooperate daily & closely.
- Continuous attention is given towards technical excellence and good design.
- If there are some late changes in requirements they are welcomed too.
Disadvantages of Agile model:
- It is difficult to assess the effort required at the beginning of the software development life cycle in case of some software deliverables, especially the large ones.
- Not much emphasis is given on necessary designing and documentation.
- If the customer representative is not clear what final outcome that they want, the project can easily get taken off track.
- There are no place for newbie programmers, unless combined with experienced resources as only senior programmers are capable of taking the kind of decisions required during the development process.
What types of testing should be performed? What types of test data should be used?
Soln: There are several kinds of testing software testing available each of which has its individual method to test the full functionality of the program structure. Moreover, testing does verification & validation in a dynamic way & thus provides the executable version of the program.
Unit Testing
Unit testing as the name suggests that it is the most tedious test that is performed on even the smallest unit of the program structure & design module. The constrained scope of unit testing limitsthe test complexity & uncovered errors. Unit testing also gives the opportunity to conduct parallel processing of multiple components & it is a kind of white box testing.
- Login Module:
Sr. No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Can ID field be Null? |
Null ID |
ID cannot be NULL |
Warning msg “ID can’t be NULL” |
Success |
2 |
Can password be Null? |
Null password |
Password Can’t be NULL |
Warning msg “password can’t be Null” |
Success |
3 |
Login button is working or not? |
Button pressed |
Perform login processing |
Call proxy Inbox frame |
Success |
4. |
Is Login Frame displaying properly? |
Invoke Login Frame |
All text fields are displayed and are properly aligned |
Little alignment problem |
Success |
Sr. No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Is Database Connection establishing? |
Connection object is created |
Connection establishes |
No error during connection was found |
Success |
2 |
Is able to retrieve Login ID and password from database |
Login ID+ Pass-Word |
Able to fetch data from Database |
No error found during data fetching |
Success |
3 |
Is able to match Login ID & Password |
Login Id +Pass-word |
Proper matching |
Matching done |
Success |
Sr. No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Client Server Connection |
Connection cmd |
Connection Established |
Connection is established |
Success |
2 |
Server response handled properly or not? |
Login cmd |
Proper Message Displayed to User |
All type of messages are displayed in proper format to user |
Success |
3 |
Communication between client and Server |
Login cmd |
Login cmd is received by server and response is send to client |
Communication is taking place. |
Success |
4 |
What if User Id doesn’t exist |
Login cmd+ UserlD |
Server should report non existence of UserlD |
Error msg: “Login ID doesn’t exist” |
Success |
5 |
What if wrong password is entered? |
Login cmd+ UserID+ Password |
User should be prompt for reentry of password |
Error msg: “Invalid Password” |
Success |
Sr. No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1. |
Is Database Connection establishing? |
Connection object is created |
Connection establishes |
No error during connection was found |
Success |
2 |
Addition of Books. |
Book Name/Author/Stock/Edition |
Addition Completed. |
Addition completed |
Success |
3 |
Addition of Books if already exits |
Book Name/Author/Stock/Edition |
Addition should not complete |
Addition is not completed, because record already exists. |
Success |
Sr. No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1. |
Is Database Connection establishing? |
Connection object is created |
Connection establishes |
No error during connection was found |
Success |
2 |
On search Criteria of Title/Publisher/Edition should come in list box |
Book Name/Author/Stock/Edition |
Result found. |
Result found. |
Success |
Integration testing is very much effective as it conduct several tests to find out the error involved while in the mean time also constructs the program properly. The main objective of this testing is to test each & every components and thus create a program according to the design structure.
Register Module, Login Module and Logout Module is Integrated
Sr No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Is new User created? |
Login ID +personal information |
User should be created and personal information should be stored in Database |
User named ID is created. |
Success |
2 |
Is Database Connection establishing? |
Connection object is created |
Connection establishes |
No error during connection was found |
Success |
3 |
Is able to match Login ID & Password |
Login Id +Pass-word |
Proper matching |
Matching done |
Success |
4 |
Does status of user changes to ‘Logout status’? |
Logout cmd |
Status should change. |
No change in Status |
Success |
Add Record Module, Delete Record Module, Update Record Module, Search Record Module is Integrated
Sr No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Is new Record Added in database? |
BookName/Author Name/Edition etc |
Records should be added and displayed on the view page |
Record is added and displayed on the view page. |
Success |
2 |
Is existing Record deleted from database? |
BookName/Author Name/Edition etc |
Records should be deleted and should not be displayed on the view page |
Record is deleted and not displayed on the view page. |
Success |
3 |
Is existing Record updated into database? |
BookName/Author Name/Edition etc |
Records should be updated and should be displayed on the view page |
Record is updated and displayed on the view page. |
Success |
4 |
On search Criteria names should be correct. |
BookName/Author Name/Edition etc |
Records should be displayed on the view page |
Records found and displayed on the view page. |
Success |
System testing is done to test the full functionality of the system developed & is carried out by a series of different tests. All the tests performed checks various issues but the main purpose of all the tests is the proper functionality of the system being tested.
Sr.No |
Test Case Description |
Input |
Expected Behaviour |
Observed behaviour |
Test Result |
1 |
Can New User Register? |
Personal Info of User |
User should Be registered on DTIS server |
User is Registered only If desired Id does Not collide with Existing Ids |
Success |
2 |
Can User Login? |
Loginld + password |
User should Be login |
User is login only When Login Id & password is valid |
Success |
3 |
Can User Search Records |
BookName/Author Name/Edition etc. |
User should be able to search records |
Result of search will be displayed. |
Success |
4 |
Can User Read information available on the site. |
Click the link |
User should be able to Read information |
Information will be displayed. |
Success |
5 |
Can User Logout |
Click On Logout |
User should be able to Logout |
Logout Message |
Success |
Identify the specific groups of people who need training on the new system. For each group, describe the type of training you would recommend and list the topics you would cover.
Soln: With the introduction of the new information system in willowbrook school for its administrative needs, it is very much essential to train those people or staffs of the organization who handles the administrative department. So, the list of the staffs who fall in this category are listed below-
STAFF |
MODE OF TRAINING |
Accountant |
Has to be trained on the total information system alongwith its methodology, specially on the section in which the information related to fees payed by the student & all the faculty’s salary are stored. |
Associate staffs |
Has to be trained on almost the whole system as they will do the work of searching a student’s details in the time of need such as the list of those students who has’nt paid their fees like this & a whole lot of queries. |
Librarian |
Has to trained to use the part of the system where student library books borrowing information are stored in the database. |
Develop a plan for data conversion and system changeover that specifies which data items must be entered, the order in which the data should be entered, and which data items are the most time critical. Discuss what method should be used for system changeover.
Soln: The change from conventional information system to the new computerized network based information system is a big change in the management and administration of the willowbrook school. So, to make this change successful & effortless, at first all the record of the students as well as all other records in the school which may relate to the faculties & others has to be moved in the database of the server computer so that they can be accessed by all the client machines connected to it through the predefined network model.
The data & information which has to be entered in the database of the new information system are-
- Student information & records.
- Faculty information & specification.
- Students’ fees status.
- Faculty’s salary annexure.
- Library book records.
- Student book borrowing details.
- Backup of the whole database.
The changeover of the huge conventional record book to electronic database is a tedious task & has to be done quite carefully. Though any database can be used to store the information in the server computer but still I would suggest that MYSQL database will be the best in this business. It is widely supported in all the platforms used nowadays & thus it will be neutral to any front end language used to access it from the software itself.
References
- “Distributed Application Architecture” (PDF). Sun Microsystem. Retrieved 2009-06-16.
- Benatallah, B.; Casati, F.; Toumani, F. (2004). “Web service conversation modeling: A cornerstone for e-business automation”. IEEE Internet Computing 8: 46. doi:10.1109/MIC.2004.1260703
- Barros, A. P.; Dumas, M. (2006). “The Rise of Web Service Ecosystems”. IT Professional 8 (5): 31. doi:10.1109/MITP.2006.123
- Nieh, Jason; Novik, Naomi; Yang, S. Jae (Deccmu.edu/~dga/papers/tolia06-ieee.pdf). “A Comparison of Thin-Client Computing Architectures“. Technical Report CUCS-022-00 (PDF) (New York: Network Computing Laboratory, Columbia University).
- Bicsi, B., (2002). Network Design Basics for Cabling Professionals. City: McGraw-Hill Professional
- Sosinsky, Barrie A. (2009). “Network Basics”. Networking Bible. Indianapolis: Wiley Publishing. p. 16. ISBN 978-0-470-43131-3. OCLC 359673774. Retrieved 2016-03-26.
- Bicsi, B., (2002). Network Design Basics for Cabling Professionals. City: McGraw-Hill Professional
- Bradley, Ray. Understanding Computer Science (for Advanced Level): The Study Guide. Cheltenham: Nelson Thornes. p. 244. ISBN 978-0-7487-6147-0. OCLC 47869750. Retrieved 2016-03-26.
Task 6: