Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Development Life Cycle Models: Waterfall and Incremental Approaches, Study Guides, Projects, Research of Computer Science

System Analysis and Design Final Assignment

Typology: Study Guides, Projects, Research

2017/2018

Uploaded on 11/26/2018

Mayooran
Mayooran 🇱🇰

4.3

(3)

1 document

1 / 42

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Table of contents
Task 1 – Requirements analysis and selection of a SDLC model
1. Undertake a systems investigation to meet a business need.
Make use of a variety of data collection methods that suits the organization. The overall
purpose of your investigation would be to reveal limitations with the existing system and
gather requirements to be addressed in the proposed system.
Provide evidence on the selective use of data collection tools & methods (LO 3.1)
2. Evaluate different systems lifecycle models.
Evaluate different system development life cycle models and suggest the most suitable
SDLC model that can be applied for the given case study provided the results of your
systems investigation. (LO 1.1)
Your selection of the most suitable SDLC model must be justified by effectively by
highlighting the benefits of using the selected model thus discriminating why other
models do not best fit the given case study. (M 1.1)
3. Discuss the importance of following a procedural / staged lifecycle in a systems
investigation.
Provide understanding of the different life cycle stages that comprise different models.
(LO 1.2)
Task 2 – Developing a feasibility report
2.1 Assess the impact of different feasibility criteria on a systems investigation.
Emphasize the importance of conducting a feasibility study and address the context
covered by different feasibility criteria and its impact. (LO 2.2)
2.2 Discuss the components of a feasibility report.
Critically evaluate the solution that you propose to Smart Arcade based on different
feasibility criteria and develop a feasibility report. (LO 2.1) (M 3.1)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Partial preview of the text

Download Software Development Life Cycle Models: Waterfall and Incremental Approaches and more Study Guides, Projects, Research Computer Science in PDF only on Docsity!

Table of contents

Task 1 – Requirements analysis and selection of a SDLC model

  1. Undertake a systems investigation to meet a business need. Make use of a variety of data collection methods that suits the organization. The overall purpose of your investigation would be to reveal limitations with the existing system and gather requirements to be addressed in the proposed system. Provide evidence on the selective use of data collection tools & methods (LO 3.1)
  2. Evaluate different systems lifecycle models. Evaluate different system development life cycle models and suggest the most suitable SDLC model that can be applied for the given case study provided the results of your systems investigation. (LO 1.1) Your selection of the most suitable SDLC model must be justified by effectively by highlighting the benefits of using the selected model thus discriminating why other models do not best fit the given case study. (M 1.1)
  3. Discuss the importance of following a procedural / staged lifecycle in a systems investigation. Provide understanding of the different life cycle stages that comprise different models. (LO 1.2)

Task 2 – Developing a feasibility report 2.1 Assess the impact of different feasibility criteria on a systems investigation. Emphasize the importance of conducting a feasibility study and address the context covered by different feasibility criteria and its impact. (LO 2.2) 2.2 Discuss the components of a feasibility report. Critically evaluate the solution that you propose to Smart Arcade based on different feasibility criteria and develop a feasibility report. (LO 2.1) (M 3.1)

Task 3 – Developing a Systems Requirements Specification (SRS) Develop a SRS that reflects the systems investigation undertaken_._ The SRS developed must include comprehensive details of functional and non-functional requirements for the proposed system. (LO 3.3) (M 2.3)

Task 4 – Use of methodology Provide evidence on the comprehensive use of process modeling and data modeling techniques and tools. (LO 3.2) a. Model the data view of the system by use of an ERD. b. Visualize the proposed system by use of DFD (Context, first & second level DFD).

Task 5 - Quality Management Evaluate how user and systems requirements have been addressed. With reference to the SRS developed, evaluate how user and system requirements have been addressed in the proposed solution. You are also required to propose strategies that must be in place to assure quality in the proposed system. (LO 3.4)

Task 1 – Requirements analysis and selection of a SDLC model

  1. Undertake a systems investigation to meet a business need.
  2. Evaluate different systems lifecycle models.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity , budget and time constraints , the best design approach is selected for the product. A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Developers have to follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers etc are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However this stage refers to the testing only stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometime product deployment happens in stages as per the organizations. Business strategy. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing). Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.

SDLC Models There are various software development life cycle models defined and designed which are followed during software development process. These models are also referred as "Software Development Process Models". Each process model follows a Series of steps unique to its type, in order to ensure success in process of software development. Following are the most important and popular SDLC models followed in the industry:

  • Waterfall Model
  • Iterative Model
  • Spiral Model
  • V-Model
  • Big Bang Model The other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models. The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases. Waterfall model is the earliest SDLC approach that was used for software development. The waterfall Model illustrates the software development process in a linear sequential flow; hence it is also referred to as a linear-sequential life cycle model. This means that any phase in the development process begins only if the previous phase is complete. In waterfall model phases do not overlap.

Waterfall Model design

Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the whole process of software development is divided into separate phases. In Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially. Following is a diagrammatic representation of different phases of waterfall model.

Figure 1.2 waterfall model

Reference: -. 2016. [ONLINE] Available at: http://www.tutorialspoint.com/sdlc/images/ sdlc_waterfall_model.jpg. [Accessed 21 March 2016].

These are the stages of waterfall process model:

  • Requirements analysis and definition

implemented. At each iteration, design modifications are made and new functional capabilities are added. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental). Following is the pictorial representation of Iterative and Incremental model:

Figure 1. Incremental Model Reference: -.

  1. [ONLINE] Available at: http://www.tutorialspoint.com/sdlc/images/sdlc_iterative_model.jpg. [Accessed 21 March 2016].

Advantages of incremental process model

  • Generates working software quickly and early during the software life cycle.
  • More flexible-less costly to change scope and requirements.
  • Easier to test and debug during a smaller iteration.
  • Customer can respond to each built.
  • Lowers initial delivery cost.
  • Easier to manage risk because risky pieces are identified and handled during if the iteration

Disadvantages of incremental process model

  • Needs good planning and design
  • Needs a clear and complete definition of the whole system before it can be broken down and built incrementally
  • Total cost is higher than waterfall model.

Spiral Model design

The spiral model has four phases. A software project repeatedly passes through these phases in iterations called Spirals.

  • Identification: This phase starts with gathering the business requirements in the baseline spiral. In the subsequent spirals as the product matures, identification of system requirements, subsystem requirements and unit requirements are all done in this phase. This also includes understanding the system requirements by continuous communication between the customer and the system analyst. At the end of the spiral the product is deployed in the identified market.
  • Design: Design phase starts with the conceptual design in the baseline spiral and involves architectural design, logical design of modules, physical product design and final design in the subsequent spirals.
  • Construct or Build: Construct phase refers to production of the actual software product at every spiral. In the baseline spiral when the product is just thought of and the design is being developed a POC (Proof of Concept) is developed in this phase to get customer feedback. Then in the subsequent spirals with higher clarity on requirements and design details a working model of the software called build is produced with a version number. These builds are sent to customer for feedback.
  • Evaluation and Risk Analysis: Risk Analysis includes identifying, estimating, and monitoring technical feasibility and management risks, such as schedule slippage and cost overrun. After testing the build, at the end of first iteration, the customer evaluates the software and provides feedback. Following is a diagrammatic representation of spiral model listing the activities in each phase:

The below figure illustrates the different phases in V-Model of SDLC.

Figure 1.5 V- Model

Reference: -. 2016. [ONLINE] Available at: http://www.tutorialspoint.com/sdlc/images/ sdlc_v_model.jpg. [Accessed 21 March 2016].

Advantages

  • This is a highly disciplined model and Phases are completed one at a time.
  • Works well for smaller projects where requirements are very well understood.
  • Simple and easy to understand and use.
  • Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a review process.

Disadvantages

  • High risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • Once an application is in the testing stage, it is difficult to go back and change a functionality
  • No working software is produced until late during the life cycle.

What is Agile

Agile model believes that every project needs to be handled differently and the existing methods need to be tailored to best suit the project requirements. In agile the tasks are divided to time boxes (small time frames) to deliver specific features for a release. Iterative approach is taken and working software build is delivered after each iteration. Each build is incremental in terms of features; the final build holds all the features required by the customer.

Here is a graphical illustration of the Agile Model:

Figure 1.6 Agile model

Reference: -.2016. [ONLINE] Available at: http://www.tutorialspoint.com/sdlc/images/ sdlc_agile_model.jpg. [Accessed 21 March 2016].

Advantages

  • Customer satisfaction by rapid, continuous delivery of useful software.
  • People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other.
  • Working software is delivered frequently (weeks rather than months).
  • Face-to-face conversation is the best form of communication.
  • Close, daily cooperation between business people and developers.
  • Continuous attention to technical excellence and good design.
  • Regular adaptation to changing circumstances.
  • Even late changes in requirements are welcomed

Disadvantages

  • In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
  • There is lack of emphasis on necessary designing and documentation.

complete test coverage. Since most of the programming components have already been tested, it reduces the risk of any major issues. Following image illustrates the RAD Model:

Figure 1.7 RAD model

Reference: -. 2016. [ONLINE] Available at: http://www.tutorialspoint.com/sdlc/images/ sdlc_rad_model.jpg. [Accessed 21 March 2016].

Advantages

  • Changing requirements can be accommodated.
  • Progress can be measured.
  • Iteration time can be short with use of powerful RAD tools.
  • Productivity with fewer people in short time.
  • Reduced development time.
  • Increases reusability of components
  • Quick initial reviews occur
  • Encourages customer feedback

Disadvantages

  • Dependency on technically strong team members for identifying business requirements.
  • Only system that can be modularized can be built using RAD.
  • Requires highly skilled developers/designers.
  • (^) High dependency on modeling skills.
  • Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.
  • Management complexity is more.
  • Suitable for systems that are component based and scalable.
  • (^) Requires user involvement throughout the life cycle.

Task 2 – Developing a feasibility report 2.1 Assess the impact of different feasibility criteria on a systems investigation. Emphasize the importance of conducting a feasibility study and address the context covered by different feasibility criteria and its impact. (LO 2.2) 2.2 Discuss the components of a feasibility report. Critically evaluate the solution that you propose to Smart Arcade based on different feasibility criteria and develop a feasibility report. (LO 2.1) (M 3.1)

Asses the Impacts of Different Feasibility Criteria on a System

Investigation

Discuss the component of the feasibility report. Consider the following

if the system is developed, will it be used. The operational study includes people- oriented and social issues: internal issues, such as manpower problems, labor objections, manager resistance, organizational conflicts and policies; also external issues, including social acceptability, legal aspects and government regulations. It takes in consideration whether the current work practices and procedures support a new system and social factors of how the organizational changes will affect the working lives of those affected by the system.

Time Feasibility

given his technical expertise, the analyst should determine if the project deadlines are reasonable whether constraints placed on the project schedule can be reasonably met. Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable. If the deadlines are desirable rather than mandatory, the analyst can propose alternative schedules. It is preferable (unless the deadline is absolutely mandatory) to deliver a properly functioning information system two months late than to deliver an error- prone, useless information system on time! Missed schedules are bad, but inadequate systems are worse! We may have the technology, but that doesn't mean we have the skills required to properly apply that technology. True, all information systems professionals can learn new technologies. However, that learning curve will impact the technical feasibility of the project, specifically, it will impact the schedule.

Legal Feasibility

Determines whether the proposed system conflicts with legal requirements e.g. a Data Processing system must comply with the local Data Protection Acts. When an organization has either internal or external legal counsel, such reviews are typically standard. However, a project may face legal issues after completion if this factor is not considered at this stage

Economic Feasibility

The bottom line in many projects is economic feasibility. During the early phases of the project, economic feasibility analysis amounts to little more than judging whether the possible benefits of solving the problem are worthwhile. As soon as specific requirements

and solutions have been identified, the analyst can weigh the costs and benefits of each alternative. This is called a cost-benefit analysis.

Cost /benefit analysis

Feasibility studies typically involve cost/benefit analysis. In the process of feasibility study, the cost and benefits are estimated with greater accuracy. If cost and benefit can be quantified, they are tangible; if not, they are called intangible

Social feasibility

its part would determine the proposed project will be satisfactory for the people or not. This assumption would in general examine the probability that the project would have to be accepted by the group of people that are directly affected by the proposed system.

Technical impact

the growth of information and the dependency on it have paved the way for the Information society and subsequently the knowledge society. Information has always been prime factor for the development of society and is often regarded as a vital national resource. Information services try to meet this objective. Information has become important part of our lives and should be available when needed. Information services are generated using new tools and techniques to facilitate the right users to the right information (Khodeh and Dhar, 2002). The implementation of information technology in the libraries has demanded new forms of library services to get more user satisfaction. Digital library service has evolved after the implementation of IT in the library and information centers. Information technology has had a significant impact and has successfully changed the characteristics of information services being generated in libraries. The past two decades have seen great changes in library due to information technology. The technological advancement have made significant impact on the growth of knowledge and unlocking of human potential. In library, the impact is clearly visible on information resources, services, and people (Manjunatha, 2007).

Operational Impact

Organizations that are lean in their competitive race are those that excel in their operations in

managerial structure within the organization. The ways in which a system investigation is carried out are

Observation:

The analyst will observe users actually using the system. They will probably follow a complete process from start to finish and note down every interaction that happens

Interview

the analyst will interview selected staffs who use the current system in order to get a detailed overview of how things work. They will want to know what the main problems are and whether users have any suggestions on how to improve the way things work.

Document Analysis

most organizations have business documents and written processes/ procedures relating to the current IT system. These documents detail how the system works and the processes which users should follow. The analyst will examine these documents in detail.

Questionnaire

Questionnaires enable the analyst to obtain the views of a large number of staff/ users. Questionnaires are also easier to analyze than face-to-face interviews but the trade-off is that they don't give as much detail.

Reasons for new system

Current manual operated library system results in inefficient and inaccurate daily operations. It is inefficient as all the process have to be processed by human effort which the librarian have to be fill in a lot of information into a book record in order to complete a single and simple transaction like borrowing and returning of books. Inaccurate as it is an instance of inefficiency as human errors may be committed easily, especially during peak hours of the library usage. Moreover, it is inaccurate when data are kept by many departments; data inconsistency and redundancy are common problems. Therefore, a reliable and efficient system should be imposed in the library to make The Himalayan library more compatible to the future needs

Recommendation

A client-server system is recommended. The system will consist of two types of computers and one software system that embedded all tools and functions that The Himalayan library may needed to perform its daily works. There will be one server that provides all the necessary utilities of the operations within the system. The server will provide a centralized control to all the terminals in the system. The other computers are the client of the system,

which must access to files and data contain in the server to execute the operations. This set up enables the library to control all the data flow and maintain a high security computer system.

Operation of the system

the operation of the library system is divided into three major parts.

Operation of the Web borrowing system

the borrowing system is used the web technology to build up. The user can access the web within the library (through intranet) or outside the library (through internet).The web borrowing system is divided into two parts.

User information

this part will contain user account information. User can check his borrowing status, renewal the book and reservation of the book.

Library Catalogue.

This part will contain the book status. User can check the books he wants are lend out or not. Also, it can check the detail of the book.

Operation of Terminal system

There will be 100 terminal computers in the library and all of them are connected to the server. The terminals can check the information in the library. The terminal system is divided into two parts.

Library detail.

The details of the library: User can get more information of the library. It will have the map of the library and the book location in the library. User can see the whole library map and the search the book location in the library.

Book detail.

It will use the web borrowing system to check the book status in the library.

Operation of Database Server system

the database server acts a very important role in the library. It stores all the book and user data in it. So the database server system will be divided into two parts in order to maintain the server stable.

Update the database.

It has user friendly software to the librarian to add the new book, modify existing book.