1. Trang chủ
  2. » Tất cả

ASM1-SDLC-NguyenVanHieu (3) (1)

38 215 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 648,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE 1.1 Software lifecycle models P1 1.1.1 Waterfall model The Waterfall Model was the first Process Model to be introduced.. Design W

Trang 1

INFORMATION TECHNOLOGY FINAL REPORT OF ASSIGNMENT 1

UNIT: SOFTWARE DEVELOPMENT LIFECYCLES

STUDENT : Nguyen Van Hieu CLASS : BDAF-2005-1 STUDENT ID : BDAF190023 SUPERVISOR : NGUYEN HOANG ANH VU

DANANG, March 2021

Trang 2

Qualification BTEC Levels 4 and 5 Higher Nationals in Computing

Unit number and title Unit 9: Software Development Lifecycles

Assignment due Assignment

Trang 3

Learning Outcomes and Assessment Criteria

LO1 Describe different software development lifecycles

D1 Assess the merits of

apply-ing the Waterfall lifecycle model to a large software de- velopment project

P1 Describe two iterative

and two sequential

soft-ware lifecycle models

P2 Explain how risk is

managed in the Spiral

lifecycle model

M1 Describe, with an

exam-ple, why a particular lifecycle model is selected for a devel- opment environment

LO2 Explain the importance of a feasibility study

D2 Assess the impact of

differ-ent feasibility criteria on a software investigation

P3 Explain the purpose of

a feasibility report

P4 Describe how technical

solutions can be

com-pared

M2 Discuss the components

of a feasibility report

Trang 4

Summative feedback:

Assignment title Assignment 2: Undertake a Software Development

Lifecy-cle

Trang 5

Learning Outcomes and Assessment Criteria

LO3Undertake a software development lifecycle

D 3 Critically evaluate

how the use of the function design paradigm

in the software development lifecycle can improve software quality.

M4Discuss two approaches to improving software quality.

LO4 Discuss the suitability of software behavioural

design techniques

D4 Present justifications

of how data driven software can improve the reliability and

effectiveness of software.

P7 Explain how user and

software requirements

have been addressed.

M5 Suggest two software

behavioural specification methods and illustrate their use with an example

M6Differentiate between

a finite state machine (FSM) and an extended- FSM, providing an application for both.

Trang 6

Summative feedback:

Trang 7

PREFACE/ ACKNOWLEDGEMENT

I sincerely thank NGUYEN HOANG ANH VU who wholeheartedly guided me

through the course of learning and imparting knowledge about the subject so that I

could apply and complete this exercise

However, in the process of doing the lesson, due to limited professional

knowledge, I still lack knowledge, evaluation, and presentation about the work I hope

to receive the attention and suggestions of the teachers and teachers of the subject to

make my work more complete and complete

Trang 8

Nguyen Van Hieu

Trang 9

Contents

SOFTWARE INTRODUCTION 9

CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE 10

1.1 Software lifecycle models (P1) 10

1.1.1 Waterfall model 10

1.1.2 Interative model 13

1.1.3 The spiral model 17

1.1.4 V model 20

1.2 The risk in spiral lifecycle model (P2) 25

1.3 Feasibility report (P3) 28

1.4 DESCRIBING HOW TECHNICAL SOLUTIONS CAN BE COMPARED (P4) 30 1.4.1 How to apply the three feasibility criteria in the project 30

1.4.2 The feasibility of the project 33

1.4.3 Alternative technical solutions 34

CONCLUSION 36

REFERENCES 37

Trang 10

SOFTWARE INTRODUCTION

Commodity management is a must in any business The management of goods takes a lot of time, causing a lot of costs With the development of information technol-ogy, businesses are gradually applying technology to management to improve the ef-ficiency of their jobs The requirement for inventory management software is inventory management, so you can know how much inventory is in stock In addition, in the daily activities of the business often arise transactions with customers, suppliers so the soft-ware needs to have inventory entry features out of stock And make reports on the situation of import and export, the amount of unsold goods to send to management in order to give timely and right solutions to build a growing business

Trang 11

CHAPTER 1: PLANNING A SOFTWARE DEVELOPMENT LIFECYCLE 1.1 Software lifecycle models (P1)

1.1.1 Waterfall model

The Waterfall Model was the 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

The 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 This means that any phase in the development process begins only

if the previous phase is complete In this waterfall model, the phases do not overlap

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 this Waterfall model, typi-cally, the outcome of one phase acts as the input for the next phase sequentially The following illustration is a representation of the different phases of the Waterfall Model

Trang 12

The sequential phases in Waterfall model are −

Requirement Gathering and analysis − All possible requirements of the tem to be developed are captured in this phase and documented in a require-ment specification document

sys-• System Design − The requirement specifications from first phase are studied

in this phase and the system design is prepared This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture

Implementation − With inputs from the system design, the system is first veloped in small programs called units, which are integrated in the next phase Each unit is developed and tested for its functionality, which is referred to as Unit Testing

de-• Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of each unit Post integration the entire system is tested for any faults and failures

Deployment of system − Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market

Maintenance − There are some issues which come up in the client ment To fix those issues, patches are released Also to enhance the product some better versions are released Maintenance is done to deliver these changes in the customer environment

environ-All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off,

so the name "Waterfall Model" In this model, phases do not overlap

Application

Every software developed is different and requires a suitable SDLC approach

to be followed based on the internal and external factors Some situations where the use of Waterfall model is most appropriate are −

• Requirements are very well documented, clear and fixed

Trang 13

• Product definition is stable

• Technology is understood and is not dynamic

• There are no ambiguous requirements

• Ample resources with required expertise are available to support the product

• The project is short

Some of the major advantages of the Waterfall Model are as follows −

• Simple and easy to understand and use

• Easy to manage due to the rigidity of the model Each phase has specific erables and a review process

deliv-• Phases are processed and completed one at a time

• Works well for smaller projects where requirements are very well understood

• Clearly defined stages

• Well understood milestones

• Easy to arrange tasks

• Process and results are well documented

Disadvantages

The disadvantage of waterfall development is that it does not allow much tion or revision Once an application is in the testing stage, it is very difficult to go back and change something that was not well-documented or thought upon in the concept stage

reflec-The major disadvantages of the Waterfall Model are as follows −

Trang 14

• No working software is produced until late during the life cycle

• High amounts of 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 So, risk and uncertainty is high with this process model

• It is difficult to measure progress within stages

• Cannot accommodate changing requirements

• Adjusting scope during the life cycle can end a project

• Integration is done as a "big-bang at the very end, which doesn't allow fying any technological or business bottleneck or challenges early

identi-1.1.2 Interative model

Software Development Life Cycle (SDLC) is extremely vast and full of various

development and testing activities, methodologies, techniques, tools, and more It

in-volves intense planning and management, calculation and preparation It is only after combining all these efforts of the software engineers that a software or application is

successfully developed Iterative Model is too a part of Software Development Life

Cycle

It is a particular implementation of a software development life cycle that cuses on an initial, simplified implementation, which then progressively gains more complexity and a broader feature set until the final system is complete In short, itera-tive development is a way of breaking down the software development of a large ap-plication into smaller pieces

fo-An iterative life cycle model does not start with a full specification of

require-ments In this model, the development begins by specifying and implementing just part

of the software, which is then reviewed in order to identify further requirements over, in iterative model, the iterative process starts with a simple implementation of a small set of the software requirements, which iteratively enhances the evolving ver-sions until the complete system is implemented and ready to be deployed Each re-lease of Iterative Model is developed in a specific and fixed time period, which is called iteration

Trang 15

More-Furthermore, this iteration focuses on a certain set of requirements Each cycle ends with a usable system i.e., a particular iteration results in an executable release Iterative Model allows accessing previous phases, in which the changes are made ac-

cordingly The final output of the product is revived at the end of the Software

Devel-opment Life Cycle (SDLC) Typically iterative develDevel-opment is used in conjunction with

incremental development, in which a longer software development cycle is split into smaller segments that are built upon each other Hence, iterative model is used in following scenarios:

• When the requirements of the complete system are clearly defined and stood

under-• The major requirements are defined, while some functionalities and requested enhancements evolve with the process of the development process

• A new technology is being used and is being learnt by the development team, while they are working on the project

• If there are some high risk features and goals, which might change in the ture

fu-• When the resources with needed skill sets are not available and are planned

to be used on contract basis for specific iterations

Process of Iterative Model

The process of Iterative Model is cyclic, unlike the more traditional models that focus on a rigorous step-by-step process of development In this process, once the initial planning is complete, a handful of phases are repeated again and again, with the completion of each cycle incrementally improving and iterating on the software Other phases of the iterative model are described below:

Trang 16

• Planning Phase: This is the first stage of the iterative model, where proper

planning is done by the team, which helps them in mapping out the tions documents, establish software or hardware requirements and generally prepare for the upcoming stages of the cycle

specifica-• Analysis and Design Phase: Once the planning is complete for the cycle, an

analysis is performed to point out the appropriate business logic, database models and to know any other requirements of this particular stage Moreover, the design stage also occurs in this phase of iterative model, where the tech-nical requirements are established that will be utilized in order to meet the need of analysis stage

• Implementation Phase: This is the third and the most important phase of the

iterative model Here, the actual implementation and coding process is cuted All planning, specification, and design documents up to this point are coded and implemented into this initial iteration of the project

exe-• Testing Phase: After the current build iteration is coded and implemented,

testing is initiated in the cycle to identify and locate any potential bugs or sues that may have been in the software

Trang 17

is-• Evaluation Phase: The final phase of the Iterative life cycle is the evaluation

phase, where the entire team along with the client, examine the status of the project and validate whether it is as per the suggested requirements

Advantages of Iterative Model:

It is extremely necessary to know the advantages of the Iterative model, before implementing it in the Software Development Life Cycle (SDLC) The biggest ad-vantage of this model is that, it is implemented during the earlier stages of software development process, which allows developers and testers to find functional or design related flaws as early as possible, which further allows them to take corrective measures in a limited budget Other benefits or advantages of this model are:

• Some working functionality can be developed and early in the software opment life cycle (SDLC)

devel-• It is easily adaptable to the ever changing needs of the project as well as the client

• It is best suited for agile organisations

• It is more cost effective to change the scope or requirements in Iterative

model

• Parallel development can be planned

• Testing and debugging during smaller iteration is easy

• Risks are identified and resolved during iteration; and each iteration is an ily managed

eas-• In iterative model less time is spent on documenting and more time is given for designing

• One can get reliable user feedback, when presenting sketches and blueprints

of the product to users for their feedback

Trang 18

Disadvantages of Iterative Model:

Even though, iterative model is extremely beneficial, there are few drawbacks and disadvantages attached to it, such as, each phase of an iteration is rigid with no overlaps Also, system architecture or design issues may arise because not all require-ments are gathered in the beginning of the entire life cycle Other disadvantages of iterative model are:

• More resources may be required

• Although cost of change is lesser, but it is not very suitable for changing quirements

re-• More management attention is required

• It is not suitable for smaller projects

• Highly skilled resources are required for skill analysis

• Project progress is highly dependent upon the risk analysis phase

• Defining increments may require definition of the complete system

1.1.3 The spiral model

Spiral Model is a risk-driven software development process model It is a bination of waterfall model and iterative model Spiral Model helps to adopt software development elements of multiple process models for the software project based on unique risk patterns ensuring efficient development process

com-Each phase of spiral model in software engineering begins with a design goal and ends with the client reviewing the progress The spiral model in software engineer-ing was first mentioned by Barry Boehm in his 1986 paper

The development process in Spiral model in SDLC, starts with a small set of requirement and goes through each development phase for those set of requirements The software engineering team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase The below figure very well explain Spiral Model:

Trang 19

Spiral Model Phases

Spiral

Model

Phases

Activities performed during phase

Planning • It includes estimating the cost, schedule and resources for

the iteration It also involves understanding the system quirements for continuous communication between the system analyst and the customer

re-Risk Analysis • Identification of potential risk is done while risk mitigation

strategy is planned and finalized

Engineering • It includes testing, coding and deploying software at the

customer site

Evaluation • Evaluation of software by the customer Also, includes

identifying and monitoring risks such as schedule slippage and cost overrun

Ngày đăng: 02/04/2021, 20:34

TỪ KHÓA LIÊN QUAN

w