btec level 5 hnd diploma in computing unit 09 software development life cycle 2

76 0 0
Tài liệu đã được kiểm tra trùng lặp
btec level 5 hnd diploma in computing unit 09 software development life cycle 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

IntroductionSoftware development life cycle SDLC is the process of determining how an information system can support business needs, design thesystem, build and deliver the system to the

Trang 1

ASSIGNMENT 01 FRONT SHEET

Trang 2

PHUNG HUU MINH KHANH GDD2100331

Trang 3

Summative Feedback: Resubmission Feedback:

Internal Verifier’s Comments:

Trang 4

PHUNG HUU MINH KHANH GDD2100332

Trang 5

Table of Contents

List of Figures 5

List of Tables 5

I Introduction 6

II Describe two iterative and two sequential software lifecycle models (P1) 6

1 Definition of Software Development Life Cycle (SDLC) 6

2 How the SDLC Works? 18

3 What are the phases of SDLC? 19

4 Advantages of the SDLC? 22

5 What is the suitable model for the project, and explain why? 22

6 Discuss the merits of applying the waterfall model to a large software development project 23

III Explain how risk is managed in the Spiral lifecycle model (P2) 23

1 Definition of Risk Management process 23

2 Why is risk assessment important? 24

3 What is the goal of risk assessment? 24

4 Five Steps of the Risk Management Process 25

5 Risk Handling in Spiral Model 28

6 Apply to Tune Source project with problems to be faced and remedies 28

IV Explain the purpose of a feasibility report (P3) 29

3.1 Technical Feasibility Study 29

3.2 Economic Feasibility Study 30

Trang 6

PHUNG HUU MINH KHANH GDD2100333

Trang 7

V Describe how technical solutions can be compared (P4) 32

1.Introduction: 32

2.Feasibility criteria 32

3.Alternative matrix for the Tune Source project 34

Trang 8

PHUNG HUU MINH KHANH GDD2100334

Trang 9

List of Figures

Figure 1: Waterfall Model 7

Figure 2: Spiral Model 9

Figure 3: V-Model 12

Figure 4: Prototyping Model 14

Figure 5: Agile Model 16

Figure 6: How the SDLC Works? 18

Figure 7: Risk Management process 23

Figure 8: Identify the rick 25

Figure 9: Analyze the risk 26

Figure 10: Monitor the rick 27

Figure 11: Technical Feasibility Study 30

Figure 12: Economic Feasibility Study 30

Figure 13: Operational Feasibility 31

Figure 14: Legal Feasibility 31

List of TablesTable 1: Different Phases of Waterfall Model in Software Engineering 8

Trang 10

PHUNG HUU MINH KHANH GDD2100335

Trang 11

I Introduction

Software development life cycle (SDLC) is the process of determining how an information system can support business needs, design thesystem, build and deliver the system to the users It is a framework that has a set of tasks to be performed at each stage in the softwaredevelopment process It is a process of giving a complete idea of the development, design and maintenance of a software project byproviding that all the functionality along with the requirements, goals and final goals of the software project users are all addressedtogether With SDLC, the quality of the software project and the overall software development process is enhanced If you've taken acoding class or have programmed yourself, this sounds simple enough However, in the real world, it's not so easy Therefore, I willintroduce clearly the importance of SDLC.

II Describe two iterative and two sequential software lifecycle models (P1)

1 Definition of Software Development Life Cycle (SDLC).

The Software Development Life Cycle (SDLC) is a process that produces software with the highest quality and lowest cost in the

shortest time possible SDLC provides a well-structured flow of phases that help an organization to quickly produce high-qualitysoftware which is well-tested and ready for production use

The SDLC involves six phases as explained in the introduction Popular SDLC models include the waterfall model, spiral model, andAgile model.

1.1 Waterfall Model

to be finished earlier than the subsequent segment can start and not using an overlap among the phases Each segment isdesigned for appearing particular pastime all through the SDLC segment It turned into added in 1970 with the aid of using WinstonRoyce.

Trang 12

PHUNG HUU MINH KHANH GDD2100336

Trang 13

Figure 1: Waterfall Model.

Different Phases of Waterfall Model in Software Engineering

developed are collected from the customer.

Or database like Oracle, MySQL, etc.

Or other high-level technical details of the project.

specifications given by the customer.

the code according to the customer's requirements.

Trang 14

PHUNG HUU MINH KHANH GDD2100337

Trang 15

Table 1: Different Phases of Waterfall Model in Software Engineering.

When to use SDLC Waterfall Model:

Requirements are not changing frequently.Application is not complicated and big.Project is short.

Requirement is clear.Environment is stable.

Technology and tools used are not dynamic and is stable.Resources are available and trained.

Advantages of Waterfall Model:

Before the next phase of development, each phase must be completed.Suited for smaller projects where requirements are well defined.

They should perform quality assurance test (Verification and Validation) before completing each stage.Elaborate documentation is done at every phase of the software’s development cycle.

Project is completely dependent on project team with minimum client intervention.Any changes in software are made during the process of the development.

Disadvantages of Waterfall Model:

Error can be fixed only during the phase.

It is not desirable for complex project where requirement changes frequently.Testing period comes quite late in the developmental process.

Documentation occupies a lot of time of developers and testers.

Clients valuable feedback cannot be included with ongoing development phase.Small changes or errors that arise in the completed software may cause a lot of problems.

Trang 16

PHUNG HUU MINH KHANH GDD2100338

Trang 17

1.2 Spiral Model

The spiral model is a risk-based software development process model It is a combination of waterfall model and iterative model.The Spiral Model helps to apply the software development elements of multiple process models to a software project based on theefficient development process of unique risk patterns.

Each phase of the spiral in software engineering begins with a design goal and ends with the customer reviewing progress Thespiral model was first mentioned by Barry Boehm in his 1986 report.

Figure 2: Spiral Model.

Trang 18

PHUNG HUU MINH KHANH GDD2100339

Trang 19

Spiral Model PhasesActivities performed during phase

It includes cost estimates, schedules, and resources for the iteration This includes understanding system requirements in ongoing communication between the system analyst and the customer.

finalization of risk mitigation strategies.

identifying and monitoring risks, such as delays and cost overruns.

Table 2: Spiral Model Phases.

When to use Spiral Model?

A Spiral model in software engineering is used when project is large.When releases are required to be frequent, spiral methodology is used.When creation of a prototype is applicable.

When risk and costs evaluation is important Spiral methodology is useful for medium to high-risk projects.When requirements are unclear and complex, Spiral model in SDLC is useful.

When changes may require at any time.

When long term project commitment is not feasible due to changes in economic priorities.

Trang 20

PHUNG HUU MINH KHANH GDD21003310

Trang 21

Additional functionality or changes can be done at a later stage

Cost estimation becomes easy as the prototype building is done in small fragmentsContinuous or repeated development helps in risk management

Development is fast and features are added in a systematic way in Spiral developmentThere is always a space for customer feedback

Disadvantages of Spiral Model

Risk of not meeting the schedule or budget.

Spiral development works best for large projects only also demands risk assessment expertise.For its smooth operation spiral model protocol needs to be followed strictly.

Documentation is more as it has intermediate phases.

Spiral software development is not advisable for smaller project, it might cost them a lot.

1.3 V-Model

The V-Model is an SDLC model in which the execution of processes occurs in a V-shaped sequence It is also known as verification

and verification model Furthermore, it is an extension of the Waterfall model, based on assigning a testing phase to eachcorresponding development phase This means that for every phase in the development cycle, there is a testing phase directlyrelated to it It's a disciplined model where the next stage only starts when the previous one is complete.

Trang 22

PHUNG HUU MINH KHANH GDD21003311

Trang 23

Figure 3: V-Model.

Verification: This is a static analysis technique (verification) that is performed without running any code Is the process of

evaluating the stages of product development to determine whether specified requirements are met Verification: It is a dynamicanalysis technique (functional, non-functional) and tests performed by running the code Validation is the process of evaluatingsoftware after the development phase is complete to determine whether the software meets the customer's expectations andrequirements.

Trang 24

PHUNG HUU MINH KHANH GDD21003312

Trang 25

Requirement Analysis: This phase contains detailed communication with the customer to understand their requirementsand expectations This stage is known as Requirement Gathering.

System Design: This phase contains the system design and the complete hardware and communication setup for developingproduct.

Architectural Design: System design is broken down further into modules taking up different functionalities The datatransfer and communication between the internal modules and with the outside world (other systems) is clearlyunderstood.

Module Design: In this phase the system breaks down into small modules The detailed design of modules is specified, alsoknown as Low-Level Design (LLD).

System Testing: System testing test the complete application with its functionality, inter dependency, and communication Ittests the functional and non-functional requirements of the developed application.

User Acceptance Testing (UAT): UAT is performed in a user environment that resembles the production environment UATverifies that the delivered system meets user’s requirement and system is ready for use in real world.

Advantages of V-Model

This is a highly disciplined model and Phases are completed one at a time V-Model is used for small projects where project requirements are clear

Trang 26

PHUNG HUU MINH KHANH GDD21003313

Trang 27

Simple and easy to understand and use

This model focuses on verification and validation activities early in the life cycle thereby enhancing the probability of building an error-free and good quality product

It enables project management to track progress accurately.

Disadvantages of V-Model

High risk and uncertainty.

It is not a good for complex and object-oriented projects

It is not suitable for projects where requirements are not clear and contains high risk of changing This model does not support iteration of phases It does not easily handle concurrent events.

1.4 Prototyping Model

The Prototyping Model is one of the most popularly used Software Development Life Cycle Models (SDLC models) This model is used when the customers do not know the exact project requirements beforehand In this model, a prototype of the end product isfirst developed, tested and refined as per customer feedback repeatedly till a final acceptable prototype is achieved which forms the basis for developing the final product.

In this process model, the system is partially implemented before or during the analysis phase thereby giving the customers an opportunity to see the product early in the life cycle The process starts by interviewing the customers and developing the incomplete high-level paper model.

Figure 4: Prototyping Model.

Trang 28

PHUNG HUU MINH KHANH GDD21003314

Trang 29

The prototyping model has the following six SDLC phases as follow:

Step 1: Gathering and analysing requirements

Requirement analysis is the first step in prototyping The system's requirements are defined in depth at this phase Throughout the process,users of the system are interviewed to learn what they anticipate from it.

Step 2: Create a quick design

Sometimes known as a fast design, a preliminary design is the second step A basic system design is built at this stage It is, however, not acomplete design It offers the user a quick overview of the system The prototype development is aided by rapid design.

Step 3: Create a Model

The information acquired during rapid design is used to create an actual prototype in this step It is a scaled-down version of the neededsystem.

Step 4: Initial user assessment

The proposed system is submitted to the client for an initial review at this stage It aids in determining the working model's strengths andweaknesses Customer feedback and suggestions are gathered and forwarded to the developer.

Step 5: Make the prototype better

If the user is dissatisfied with the present prototype, you must modify it in response to their feedback and ideas.

This phase will continue until all of the user's criteria have been fulfilled A final system is produced based on the authorised final prototype ifthe user is pleased with the developed prototype.

Trang 30

PHUNG HUU MINH KHANH GDD21003315

Trang 31

After being designed based on the final prototype, the final system is thoroughly tested and put into production Routine maintenance isperformed on the system to prevent large-scale breakdowns and minimise downtime.

1.5 Agile Model

The Agile SDLC model is a combination of iterative and incremental process models that focus on process adaptability andcustomer satisfaction by rapidly delivering software products is active The Agile method breaks the product into small incrementalbuilds These builds are provided in iterations.

The Agile model believes that each project needs to be handled differently and that existing methods need to be tailored to best fitthe project's requirements In Agile, tasks are broken down into time boxes (small time frames) to deliver specific features for arelease An iterative approach is taken and a working build of the software is delivered after each iteration.

Each build is incremental in terms of features; The final build contains all the features requested by the customer.

Figure 5: Agile Model.

These are now collectively referred to as Agile Methodologies, after the Agile Manifesto was published in 2001.

Following are the Agile Manifesto principles −

Trang 32

PHUNG HUU MINH KHANH GDD21003316

Trang 33

Individuals and interactions − In Agile development, self-organization and motivation are important, as are interactions like location and pair programming.

co-Working software − Demo working software is considered the best means of communication with the customers tounderstand their requirements, instead of just depending on documentation.

Customer collaboration − As the requirements cannot be gathered completely in the beginning of the project due to variousfactors, continuous customer interaction is very important to get proper product requirements.

Responding to change − Agile Development is focused on quick responses to change and continuous development.

Advantages of Agile Model

Is a very realistic approach to software development.Promotes teamwork and cross training.

Functionality can be developed rapidly and demonstrated.Resource requirements are minimum.

Suitable for fixed or changing requirementsDelivers early partial working solutions.

Good model for environments that change steadily.Minimal rules, documentation easily employed.

Enables concurrent development and delivery within an overall planned context.Easy to manage.

Disadvantages of Agile Model

Not suitable for handling complex dependencies.More risk of sustainability, maintainability and extensibility.

An overall plan, an agile leader and agile PM practice is a must without which it will not work.

Strict delivery management dictates the scope, functionality to be delivered, and adjustments to meet the deadlines.Depends heavily on customer interaction, so if customer is not clear, team can be driven in the wrong direction.There is a very high individual dependency, since there is minimum documentation generated.

Trang 34

PHUNG HUU MINH KHANH GDD21003317

Trang 35

Transfer of technology to new team members may be quite challenging due to lack of documentation.

2 How the SDLC Works?

SDLC reduces software development costs while increasing the quality and speed of the development process SDLCs achieve these seemingly irreconcilable goals by adhering to one strategy This avoids possible risks in software development projects The strategy starts with assessing the deficiencies of existing systems.

Then determine the requirements for the new system Software is then created through analysis, planning, design, development, testing and deployment SLDC reduces repetitive and subsequent rework by eliminating costly mistakes, such as forgetting to consult end users or customers, for example.

It should also be noted that a lot of attention was put into the testing phase Because SDLC is a cyclical technique, code quality needs to be verified at each stage Many companies place less emphasis on testing, even though a greater focus on testing can save them a lot of rework, time, and money.

Let us look at the various stages of the Software Development Life Cycle now.

Figure 6: How the SDLC Works?

Trang 36

PHUNG HUU MINH KHANH GDD21003318

Trang 37

The SDLC process is broken down into the following SDLC steps:

Phase 1: Requirement collection and analysis.Phase 2: Design.

Phase 3: Coding.Phase 4: Testing.

Phase 5: Installation/Deployment.Phase 6: Maintenance.

Trang 38

PHUNG HUU MINH KHANH GDD21003319

Ngày đăng: 08/05/2024, 14:39

Tài liệu cùng người dùng

Tài liệu liên quan