Delivery in day(s): 5
Unit 9 System Analysis and Design Assignment
Level 4 Computing & System Development
Unit Number and Title
Unit 9 System Analysis and Design
1.1 Discuss the various approaches/models to system development life cycle (SDLC), evaluate the usefulness and limitation of each approach.
What is SDLC?
System Development Life Cycle (SDLC) is a process which an application or software product goes through during its life span.
Phases of SDLC can be divided into 5 phases:
Requirement Analysis – This is the initial step in project development. All the requirements as discussed from end users are gathered and system / software requirement specification document is formed.
Design – In this phase actual structure of project is designed. The hardware and software requirements are chalked out and a software / system design specification document is formed.
Implementation or Coding – This is the major and longest step in project development. The actual coding starts in this phase, as per the requirements and design phase.
Testing - After the coding gets completed, software is tested for any discrepancies. This phase goes through numerous steps like black box (functional + non-functional) testing and white box testing etc.
Maintenance – This is the last and final phase which can extend depending upon the project requirement
There are various approaches / models to system development life cycle (SDLC).I`m going to explain the following models:
Waterfall, V-Shaped, Prototyping, RAD, spiral and incremental model
- Waterfall Model – This is linear sequential life cycle model in which each phase must be completed before the next phase begins. The phases in waterfall model are: Requirement Analysis and design, implementation, testing, deployment and maintenance.
Figure: Stages of Waterfall Model
Advantage – As output of previous phase acts as input of next phase, therefore each phase is completed before the next phase begins, so there is no overlapping of phases. Simple to implement, no time consuming. It works well for smaller projects where requirements are very well understood.
Disadvantage – One of major drawback with this approach is that once we are in testing phase it is difficult to go back in previous phase and change some requirement which was not well understood. Hence, this approach is full of risk and we have to wait for working software till the end of life cycle. Not suitable for the projects where requirements are at a moderate to high risk of changing and as well, not good model for complex and object-oriented projects.
- V-Model – This is called verification and validation model and follows sequential steps as waterfall model but here testing phases are planned parallel to corresponding phases of development.
Business Requirement Specification -> Acceptance Testing
System requirement specification -> System Testing
High Level Design -> System Integration Testing
Low Level Design -> Component Testing
Coding -> Unit Testing
Figure: Stages of V-Mdel
Advantages – Preliminary testing activities like test planning and test designing happens before coding, thus lot of time and cost are saved as chances of error become less. It avoids the downward flow of the issues and it works for small projects where requirements are easily understood
Disadvantage– As software is developed in coding phase so if any modifications are there then requirement and design specs need to be updated.The model is very rigid and not flexible and does not handle iterations or phases. It works only for small or medium projects.
- Spiral Model – This model follows four phases, marketing planning, risk analysis, engineering and evaluation. Software has to pass through these phases repeatedly in spirals or iterations. Requirements are assessed, risk is assessed, then it is implemented and customer evaluates the output.
Figure: Spiral Model
Advantage – This approach is appropriate for mission critical and risk based projects.
Disadvantage – Very expensive and cannot be applied to small projects.
- Incremental Model – Project is developed form of builds, output of each build is called release and is developed in incremental rapid cycles. Each release is thoroughly tested for its quality.
Advantage – Customer satisfaction is high as he gets to see the product functionality with each release.
Disadvantage – We cannot assess the effort required to build the project in beginning.
1.2 You are then required to choose one model that you find suitable for the new BCC library system and justify your answers using industry examples.
I found Incremental model to be best suitable for managing public library of British Computer Center.
According to this approach, the project is built in rapid incremental cycles. There are many functions and checks in a library like:
- A person must be 18+ years of age to become a library member
- 40 pounds is the annual membership fee (It is to be checked who have paid and who fulfills the age criterion)
- Issue membership card which shows personal details and borrowing history
- Checking the availability of books
- Checking whether the book is reserved text book
- A book can be issued for only three weeks and has to be returned then after.
- More than 3 books cannot be issued at a time.
- Reference books / reserved text books cannot be issued.
- A person is not allowed to borrow books if he had already borrowed 3 or more books.
- If book is not returned on specified date then a fine of 1 pound per day is charged.
- Duplicate membership card is issued in case it is lost.
- Record of membership fees and money collected from fines is kept.
- Records of suppliers who supply books to the library are also to be maintained.
Now we can divide this entire library management into small sections or modules or target to be achieved, following the agile model approach. At a time one functionality can be covered up with each build, like incorporating the data of suppliers, incorporating the check that not more than 3 books can be issued at a time etc. With each release user gets to see am overall improved system with new functionality. User can visualize the progress of the system at every interval.
1.3 You must justify the validity of the model you have chosen for the development of BCC system. You are also required to evaluate the results of applying this approach and how the model meets the criteria of BCC system requirement.
The incremental model meets the requirements of British computer center – Library management system adequately.
- At end of each cycle or build, a shippable product is released, no matter how basic it is.
- User can analyze the progress of project at time of each release, so this model is valid and fulfils the requirements of BCC.
- By application of agile model to our project we can keep track of time and cost required in development of each module.
- Changes that are required to be done at later stages of development can also be integrated.
- By having a conversation with library staff and people who come to read, we can include more enhanced features and functionality into the system to be developed.
2.1 Discuss the importance, purpose and structure of feasibility study during the initial stages of BCC system development.
Feasibility study is the analysis of the project on three criteria:
- Is it technically feasible?
This means that is the project that we are going to handle can be developed by the proposed technology or not.
- Is it cost effective?
This means, is the proposed solution within our budget or cannot be developed within prescribed budget.
- Is it profitable?
Is the project that we are going to make reap us benefits or it is not of any use.
Advantages and importance –
- A feasibility study analysis helps us to determine the future potential of the project, will it be profitable or not.
- Time and cost requirements of the project to be undertaken can be estimated via feasibility study.
- Will the people - developers, testers involved in the project be able to make it?
In our project of British Computer Center – Library management system, we need to determine the input variables like cost, time and efforts required to automate the system.
All the transactions were being recorded in files, now they will have to be entered into the software so that the entire system can be managed easily. It will save lot of time of borrowers and library staff as time required to search a book will be reduced, issuing of books, return of books, checking the constraints like whether the person has already borrowed books before or is he attempting to borrow more than three books will be checked.
- Is it technically feasible?
British Computer Centre – Library Management System can be built within the prescribed budget It is a small but very effective project which will handle multiple tasks simultaneously and reduce human effort, time and cost.
- Is it cost effective?
Yes, British Computer Centre – Library Management System is a cost effective and reasonable project. A meaningful project has been created in small budget.
- Is it profitable?
Yes, this project will automate the entire library system and will save lot of time, cost and effort of librarian.
2.2 In your discussion of feasibility study, you must show that effective judgments have been made and a valid conclusion and justification for the development of the new system has been reached.
There was a need to automate the public library of British Computer Center as members of BCC are increasing day by day and every transaction has been done manually. It was very difficult to check the availability of books, keeping track of the borrowers, maintaining record of fine etc, therefore by making a computerized system all these issues can be sorted instantaneously.
All the necessities of this system are well thought and as per the suggestions of library staff. The hardware and software requirements of the system have been jotted down, and efforts have been made to make this project cost effective.
2.3 In your discussion, you must assess the impact of the different financial, economical, and technical feasibility criteria on BCC library system investigation.
In this project, our major pre-requisite was to automate the BCC library system to handle the tasks conveniently and cost effectively. Feasibility study helped a lot in finding out the financial and technical requirements of the system.
- A good feasibility study for BCC library would help in finding company’s financial status, its strength and weaknesses, its market standing.
- It also facilitates in analyzing what action plan needs to be taken to achieve system requirements prescribed objective and what things, tools would be required to achieve that objective.
- It assists in converting these plans into measurable goals. In our project of BCC library system, based upon the criterion we have decided to automate the system.
- Now books can be searched and issued via computerized system.
- System will generate an alert that a person cannot keep a book with him/her for more than 3 weeks.
- Reserved books cannot be issued.
- Record of suppliers has to be kept.
- Record of borrowers has to be kept
By implementing feasibility analysis, we have been able to build effective system within short time span and within limited budget.
3.1 Using the information from the case study, carry out an in-depth investigation using a fact finding techniques such as interview, questionnaire etc to capture the business requirements and specification for developing the automated BCC library system.
You have to build a questionnaire about asking staff from the library regarding the old system and what was the common error which they met. Basically the questionnaire should help me to build the project
Here I am defining a template to capture business requirements and specification for developing the automated BCC library system, containing points which are needed to be covered in feasibility study-
- Problems of user
- Project goals
- Scope of system
- Users, clients and stakeholders of system
Business requirements, user requirements, functional requirements, usability requirements, performance requirements (Availability, responsiveness, reliability, capacity, scalability, disaster recovery), security requirements (user security, data security), legal compliance requirements (privacy and funding) etc.
Q1 –Do you think the existing system can be automated?
Answer –Yes, the existing system must be automated to track the day to day transactions easily.
Q2 –What can be the prospective modules within the system?
Answer – Login, sign up, pay fine, issue books, search books, reserved text books.
Q3 – Can a person get more than 3 books issued at a time?
Answer – No a person cannot issue more than three books at time. He has to return one of the books to get new book issued.
Q4 –Can a person get reserved text books issued?
Answer – No a person cannot get reserved text books issued.
Q5 – When does a person has to pay the fine?
Answer –If a person, keeps the book for more than 3 weeks then he has to pay fine.
Q6-Can there be multiple copies of same book?
Answer – Yes, there can be multiple copies of same book in library.
3.2 In gathering and analyzing the information for identifying the requirement of the BCC library system, you must demonstrate that complex problems with more than one variable from user and system functionality prospective have been explored.
During requirement analysis and feasibility study and after the interview with employees from the library I found following scenarios:
- There can be multiple copies of one book which can be borrowed by multiple people.
- Multiple copies of one book can be both reserved books as well as non reserved books, so record has to be made accordingly.
- A person may want to get a book re-issued after keeping it for three weeks.
- After suppliers supply the books, they have to be added into the system as reserved and non reserved books.
- Records of new members have to be kept and records of older members have to be updated into the system.
3.3 Based on the outcome of your investigation and analysis carried out above, use appropriate system analysis and design tools and methods such as UML etc. to provide a graphical illustration of the new system and user interactions and functions.
In the above use case diagram, there are two actors – Borrower and librarian.
The borrowers gets registered into the system, signs in, enters personal details, check book availability, gets book issued, returns book.
The librarian issues the book, accepts fine and maintains account of membership fee and fine.
3.4 In your graphical illustration of the system interaction, you must ensure to use a range of UML diagrams such as Use Case, Class, Object and activity diagrams to present your finding of the system interactions and that accurate technical language has been applied.
Figure – Activity Diagram for BCC library system
4.1 Provide a short report to evaluate how the new library system meets the BCC business requirements outlined in the case study.
The main requirement of British Computer Center was to automate its library system as new members were joining day by day and it was difficult to manage all activities like keeping track of new members, searching books, issuing books, managing account for membership fee and fines, managing suppliers etc, manually.
After automating all processes of library system, people who want to become members of the system can follow these steps:
- Get registered with the system.
- Login with their login credentials.
- Search for books.
- Select and apply for getting it issued.
- Librarian at other end will check whether the person already has books.
- If person has more than 3 books then more books cannot be issued to him unless he returns one of them.
- If the person has borrowed books for more than 3 weeks then a fine will be levied on him. Person has to pay the fine and then get new book issued.
- If all criterion is clear then book will be issued to him, his details will be saved into the system.
These entire criterions are getting fulfilled with new library system and the BCC business requirements are met.
In traditional library system, every transaction has to be recorded in files and maintaining those file was a big issue. After automating it, we can keep away with the files and every transaction can be recorded in computers, thus it saves lot of time in searching and also saves lot of energy of the librarian as well as the person who wants book.
4.2 In your evaluation you must apply critical assessment of your approach in solving the business problem for BCC and lessons learnt to make recommendation for future improvement.
The main functions of a public library are searching books, issue and return of books and paying fines, adding new members and updating existing members. All these functions were functional in old library management system. In our British Computer Centre, we have tried to automate all these functions so that we can save upon effort, cost and time.
At present the automated library system is satisfying the basic functionality of a public library. We can enhance the scope of this arrangement in future by giving complete control to the user and slaying the need of a librarian. A registered user will login into the system, search for the book and check for its availability, if sufficient copies are available + he is clear from any fine for non submission on time or he has borrowed less than 3 books at a time, then system will allow him to get the book issued. The person can take the book from the library shelf and scan the bar code at time of exit from library. No one can carry the books from library without getting them issued. Reserved text books cannot be issued, they can just be read in library. This is an idea for enhancing the scope of this system in future.
4.3 Take responsibility for managing and organizing activities
Provide a plan of work to cover task 1, 2, 3 & 4 of your assignment. You are required to demonstrate project management skills through the provision of a well planned and logical structure of activities with timeline of planned and actual completion of each activity.
We have to design a Library Management System for BCC / British Computer Centre. Within the prescribed budget and allocated time we have to divide our set of activities to be completed. Currently all the activities are manual but the goal of BCC is to automate its library.
We know how data flows between various entities within the system. In task 3 above I sketched the activity and use case diagram of the system, based on that we can plan the action taken to achieve the goal.
We can divide the system into following modules:
- Search module
- Available books
- Reserved text books
- Issue of books / checkout
- Collection of fine
- Sign up / Add member
Based on these module and integration within these, an automated system can be built which will micromanage these activities and help users in conveniently performing their activities.
Waterfall model [Online]. [Accessed on 20 December 2014]. Available on world wide web: <http://istqbexamcertification.com/what-is-waterfall-model-advantages-disadvantages-and-when-to-use-it/>
V Model[Online]. [Accessed on 20 December 2014]. Available on world wide web: <http://istqbexamcertification.com/what-is-v-model-advantages-disadvantages-and-when-to-use-it/>
RAD model [Online]. [Accessed on 20 December 2014]. Available on world wide web: <http://istqbexamcertification.com/what-is-rad-model-advantages-disadvantages-and-when-to-use-it/>
Incremental model [Online]. [Accessed on 20 December 2014]. Available on world wide web:<http://istqbexamcertification.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/>
Feasibility study [Online]. [Accessed on 20 December 2014]. Available on world wide web: <http://www.businessdictionary.com/definition/feasibility-study.html>
Feasibility study [Online]. [Accessed on 20 December 2014]. Available on world wide web: <http://www.referenceforbusiness.com/small/Eq-Inc/Feasibility-Study.html>