Comparing Software Development Models Using CDM
Luciano Rodrigues Guimarães
UNIMEP – Methodist University of Piracicaba
Rodovia do Açúcar, Km 156 – CEP 13.400-911
Piracicaba, SP - Brazil
E-mail: guimaraes_luciano_r@cat.com
Dr. Plínio Roberto Souza Vilela
UNIMEP – Methodist University of Piracicaba
Rodovia do Açúcar, Km 156 – CEP 13.400-911
Piracicaba, SP - Brazil
E-mail: prvilela@unimep.br
ABSTRACT
During the last few decades a number of software development
models have been proposed and discussed within the Software
Engineering community. Examples of such models are Waterfall,
Spiral, V Model, and Prototyping. The introduction of different
models and their subsequent adoption by practitioners motivates
the need to compare them. Comparisons are defined to i) find the
best fit for a particular software development project; ii) improve
the models themselves; iii) facilitate dissemination and education
on development best practices and iv) find relevant information to
define new models. However, existing comparisons are often
largely based on the experience of practitioners and the intuitive
understandings of the authors. Consequently, they tend to be
subjective and inaccurate. The lack of a systematic way of
comparing development models reduces understanding of such
models and their overall acceptance by practitioners. We propose
a systematic way of comparing software development models
based on a formal technique originally proposed to compare
design methodologies. The use of one well-defined formal
technique provides a more consistent and efficient way to compare
software development models and could be used to fine-tune the
software development process of a software development
organization. We present the results of a case study conducted to
compare two well known and largely used development models.
Results of such comparisons could be used by Information
Technology educators to show their students the advantages and
disadvantages of each model and instruct them on how and when
to apply each model or variations of them.
Categories and Subject Descriptors
I.6.5 [Model Development]: Model Development Comparison –
life cycle, documentation, risk analysis.
General Terms:
Design, Standardization.
Keywords
Comparison of Development Models, Software Engineering, IT
Education.
1. INTRODUCTION
The overall cost of computer-based systems is associated to the
hardware where the system will be deployed and to the cost of
software development and maintenance. The cost of hardware has
systematically decreased over the last few decades. Moreover it
represents an initial and well-defined fixed cost. This scenario
indicates that the main restrictive factor for the development of
computer-based systems tends to be the cost of software. Software
represents a great share in the total cost of systems development.
Thus, the production of cost-effective quality software is essential
for the future of computer-based systems.
Software Engineering discipline has the cost-effective planning
and development of software as a goal [11]. Software is abstract
and intangible. It is not composed of materials, governed by
physical laws or constructed within manufacturing processes.
Software processes are complex and, like every intellectual
process, dependent on human judgment.
Software Engineering embraces a group of three fundamental
elements: methods, tools and procedures [7]. Together they allow
the software manager to control the software development process
and provide the practitioner with a base for the construction of
high quality productive software. The sequence of phases or
stages that the software has to go through from its initial
conceptualization to its final deployment and subsequent
maintenance life is called Software Paradigm or Software
Development Model.
The human aspect of software development emphasizes the
importance teaching the appropriate techniques, methods, models
and tools to future practitioners. Software development models are
especially important in this scenario since they provide the
structural framework where all the other activities involved in
developing professional software unleash [2].
During the last few decades several software development
models have been discussed in the context of Software
Engineering. Several comparisons have been performed and
published by different specialists in order to identify weaknesses
and strengths of different models. According to Song, et. al [12],
the existing comparisons are often largely based upon the
experiences of the practitioners and the intuitive understandings of
the authors. Consequently these comparisons tend to be subjective
and inaccurate. The use of a formal and well-defined technique
provides an effective way to compare development models.
Currently an immense diversity of software development
models exists. There is no ideal model, and different organizations
have developed approaches that are entirely different from one
another.
The objective of this work is to identify the main characteristics
of development models and compare them. We propose to adapt
the technique called CDM [12] (Compare Design Methodologies)
to compare models. The adapted technique is called CDMod
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee.
SIGITE’05, October 20–22, 2005, Newark, New Jersey, USA.
Copyright 2005 ACM 1-59593-252-6/05/0010...$5.00.
339
(Compare Development Models). We emphasize model
characteristics and consider similar activities between models,
such as, requirements, analysis, design, coding, implementation
and testing. CDM is a systematic and defined process, using a
classification technique as a comparison tool. It is similarly
applied to software development models, facilitating reasoning,
communication, customization and education.
Differently from most of the previously published comparisons
of software development models, CDMod allow us to identify
characteristics of the models, highlighting qualities and drawbacks
of each one and following a logical sequence for the comparison.
Two models are compared in our case study. We present the
results of such comparison and discuss how CDMod could be
used in fine-tuning the software development process currently
used in an organization.
2. RELATED WORK
Several software development models [7, 5, 11] are available in
the literature; some are more thoroughly discussed, such as, the
Waterfall Model [9] and the Spiral Model [2]. For that reason we
have selected these two models to use in our case study.
• The Waterfall Model – “Classic Life Cycle”, presents
the following sequence of development phases:
requirements, analysis, program design, coding, testing
and operations. It is the oldest model [5] and is still
thoroughly used [7].
• The Spiral Model appeared as a model that had a greater
flexibility to the developer. It encompasses
requirements gathering, design planning,
implementation and deployment in an interactive and
incremental fashion. It also incorporates a risk analysis
phase.
2.1 Waterfall Life Cycle
The Classic Life Cycle or Waterfall, also known as the “topdown”
approach, was proposed by Royce [9]. Up until the mid
80's it was the only model with a level of general acceptance. It
was derived from models used in traditional engineering activities
with the objective of establishing an order in the development of
large software products. Compared with other software
development models, it is more rigid and less manageable.
The Waterfall Model is one of the most important models ever
published. It is a reference to others, and serves as the basis for
many modern projects. Its original version was improved over
time and is still frequently used today [5].
A great part of the success of the Waterfall Model is due to the
baseline management, which identifies a fixed group of
documents produced as a result of each phase of the life cycle [5].
The produced documentation includes more than text files, it has
graphical representations of the software and even simulations. In
this model the phases are executed systematically in a sequential
order as shown in Figure 1 and it usually has the following phases:
Analysis, Design, Construction, Evaluation and Maintenance.
Figure 1: Original Waterfall Model
The Waterfall Model is an engineering model designed to be
applied in software development. The main idea that drives it is
that the different development stages follow a sequence: the
output of the first stage is an input to the second, the output of
second stage is an input to the third and so on. The activities to be
done are contained in tasks, executed sequentially, so that a task
will only begin when the previous one has finished.
2.2 Spiral Model
The Spiral Model was originally proposed by Boehm [2]. A
simplistic way to analyze it is considering it as a Waterfall Model
in which each phase or each cycle is preceded by a risk analysis
and its execution is incremental.
The goal of the Spiral Model is to incorporate qualities of other
models and solve some of their problems [2]. This model includes
prototyping, evolutionary and cyclical development, and the main
activities of the Waterfall Model.
The major innovation is to guide the development process with
strong basis in risk analysis and development planning. Risks are
adverse circumstances that can appear during the software
development, impeding the process or reducing the quality of the
product. Examples of risks are: people that abandon the
development team, tools that cannot be used, flaws in equipments
used in the development or those they will be used in the final
product, etc. The i
Comparing Software Development Models Using CDM
Luciano Rodrigues Guimarães
UNIMEP – Methodist University of Piracicaba
Rodovia do Açúcar, Km 156 – CEP 13.400-911
Piracicaba, SP - Brazil
E-mail: guimaraes_luciano_r@cat.com
Dr. Plínio Roberto Souza Vilela
UNIMEP – Methodist University of Piracicaba
Rodovia do Açúcar, Km 156 – CEP 13.400-911
Piracicaba, SP - Brazil
E-mail: prvilela@unimep.br
ABSTRACT
During the last few decades a number of software development
models have been proposed and discussed within the Software
Engineering community. Examples of such models are Waterfall,
Spiral, V Model, and Prototyping. The introduction of different
models and their subsequent adoption by practitioners motivates
the need to compare them. Comparisons are defined to i) find the
best fit for a particular software development project; ii) improve
the models themselves; iii) facilitate dissemination and education
on development best practices and iv) find relevant information to
define new models. However, existing comparisons are often
largely based on the experience of practitioners and the intuitive
understandings of the authors. Consequently, they tend to be
subjective and inaccurate. The lack of a systematic way of
comparing development models reduces understanding of such
models and their overall acceptance by practitioners. We propose
a systematic way of comparing software development models
based on a formal technique originally proposed to compare
design methodologies. The use of one well-defined formal
technique provides a more consistent and efficient way to compare
software development models and could be used to fine-tune the
software development process of a software development
organization. We present the results of a case study conducted to
compare two well known and largely used development models.
Results of such comparisons could be used by Information
Technology educators to show their students the advantages and
disadvantages of each model and instruct them on how and when
to apply each model or variations of them.
Categories and Subject Descriptors
I.6.5 [Model Development]: Model Development Comparison –
life cycle, documentation, risk analysis.
General Terms:
Design, Standardization.
Keywords
Comparison of Development Models, Software Engineering, IT
Education.
1. INTRODUCTION
The overall cost of computer-based systems is associated to the
hardware where the system will be deployed and to the cost of
software development and maintenance. The cost of hardware has
systematically decreased over the last few decades. Moreover it
represents an initial and well-defined fixed cost. This scenario
indicates that the main restrictive factor for the development of
computer-based systems tends to be the cost of software. Software
represents a great share in the total cost of systems development.
Thus, the production of cost-effective quality software is essential
for the future of computer-based systems.
Software Engineering discipline has the cost-effective planning
and development of software as a goal [11]. Software is abstract
and intangible. It is not composed of materials, governed by
physical laws or constructed within manufacturing processes.
Software processes are complex and, like every intellectual
process, dependent on human judgment.
Software Engineering embraces a group of three fundamental
elements: methods, tools and procedures [7]. Together they allow
the software manager to control the software development process
and provide the practitioner with a base for the construction of
high quality productive software. The sequence of phases or
stages that the software has to go through from its initial
conceptualization to its final deployment and subsequent
maintenance life is called Software Paradigm or Software
Development Model.
The human aspect of software development emphasizes the
importance teaching the appropriate techniques, methods, models
and tools to future practitioners. Software development models are
especially important in this scenario since they provide the
structural framework where all the other activities involved in
developing professional software unleash [2].
During the last few decades several software development
models have been discussed in the context of Software
Engineering. Several comparisons have been performed and
published by different specialists in order to identify weaknesses
and strengths of different models. According to Song, et. al [12],
the existing comparisons are often largely based upon the
experiences of the practitioners and the intuitive understandings of
the authors. Consequently these comparisons tend to be subjective
and inaccurate. The use of a formal and well-defined technique
provides an effective way to compare development models.
Currently an immense diversity of software development
models exists. There is no ideal model, and different organizations
have developed approaches that are entirely different from one
another.
The objective of this work is to identify the main characteristics
of development models and compare them. We propose to adapt
the technique called CDM [12] (Compare Design Methodologies)
to compare models. The adapted technique is called CDMod
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee.
SIGITE’05, October 20–22, 2005, Newark, New Jersey, USA.
Copyright 2005 ACM 1-59593-252-6/05/0010...$5.00.
339
(Compare Development Models). We emphasize model
characteristics and consider similar activities between models,
such as, requirements, analysis, design, coding, implementation
and testing. CDM is a systematic and defined process, using a
classification technique as a comparison tool. It is similarly
applied to software development models, facilitating reasoning,
communication, customization and education.
Differently from most of the previously published comparisons
of software development models, CDMod allow us to identify
characteristics of the models, highlighting qualities and drawbacks
of each one and following a logical sequence for the comparison.
Two models are compared in our case study. We present the
results of such comparison and discuss how CDMod could be
used in fine-tuning the software development process currently
used in an organization.
2. RELATED WORK
Several software development models [7, 5, 11] are available in
the literature; some are more thoroughly discussed, such as, the
Waterfall Model [9] and the Spiral Model [2]. For that reason we
have selected these two models to use in our case study.
• The Waterfall Model – “Classic Life Cycle”, presents
the following sequence of development phases:
requirements, analysis, program design, coding, testing
and operations. It is the oldest model [5] and is still
thoroughly used [7].
• The Spiral Model appeared as a model that had a greater
flexibility to the developer. It encompasses
requirements gathering, design planning,
implementation and deployment in an interactive and
incremental fashion. It also incorporates a risk analysis
phase.
2.1 Waterfall Life Cycle
The Classic Life Cycle or Waterfall, also known as the “topdown”
approach, was proposed by Royce [9]. Up until the mid
80's it was the only model with a level of general acceptance. It
was derived from models used in traditional engineering activities
with the objective of establishing an order in the development of
large software products. Compared with other software
development models, it is more rigid and less manageable.
The Waterfall Model is one of the most important models ever
published. It is a reference to others, and serves as the basis for
many modern projects. Its original version was improved over
time and is still frequently used today [5].
A great part of the success of the Waterfall Model is due to the
baseline management, which identifies a fixed group of
documents produced as a result of each phase of the life cycle [5].
The produced documentation includes more than text files, it has
graphical representations of the software and even simulations. In
this model the phases are executed systematically in a sequential
order as shown in Figure 1 and it usually has the following phases:
Analysis, Design, Construction, Evaluation and Maintenance.
Figure 1: Original Waterfall Model
The Waterfall Model is an engineering model designed to be
applied in software development. The main idea that drives it is
that the different development stages follow a sequence: the
output of the first stage is an input to the second, the output of
second stage is an input to the third and so on. The activities to be
done are contained in tasks, executed sequentially, so that a task
will only begin when the previous one has finished.
2.2 Spiral Model
The Spiral Model was originally proposed by Boehm [2]. A
simplistic way to analyze it is considering it as a Waterfall Model
in which each phase or each cycle is preceded by a risk analysis
and its execution is incremental.
The goal of the Spiral Model is to incorporate qualities of other
models and solve some of their problems [2]. This model includes
prototyping, evolutionary and cyclical development, and the main
activities of the Waterfall Model.
The major innovation is to guide the development process with
strong basis in risk analysis and development planning. Risks are
adverse circumstances that can appear during the software
development, impeding the process or reducing the quality of the
product. Examples of risks are: people that abandon the
development team, tools that cannot be used, flaws in equipments
used in the development or those they will be used in the final
product, etc. The i
การแปล กรุณารอสักครู่..
![](//thimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)
การเปรียบเทียบแบบจำลองการพัฒนาซอฟต์แวร์โดยใช้ CDM
ลูเซีย Rodrigues กีมาไรช์
unimep –ระเบียบมหาวิทยาลัยปิราคิคาบ้า
rodovia ทำรถçú ก.ม. 156 –เซป 13.400-911
ปิราคิคาบ้า , SP - บราซิล
E-mail : guimaraes_luciano_r @ แมว . com
ดร. มาร์ติน นีโอ โรแบร์โต้ ซูซ่าที่จะ vilela
unimep –ระเบียบมหาวิทยาลัยปิราคิคาบ้า
rodovia ทำรถ เป็นçú ก.ม. 156 –เซปปิราคิคาบ้า 13.400-911
.
-
prvilela@unimep.br - บราซิลนามธรรม
ในระหว่างทศวรรษที่ผ่านมาจำนวนของโมเดลการพัฒนาซอฟต์แวร์ได้รับการเสนอและปรึกษา
วิศวกรรมซอฟต์แวร์ภายในชุมชน ตัวอย่าง เช่น รุ่นเกลียวน้ำตก
V รุ่นและต้นแบบ . การแนะนำของรุ่นที่แตกต่างกันและการยอมรับของผู้ปฏิบัติงาน
ตามมาให้ต้องเปรียบเทียบ การเปรียบเทียบจะไว้ผม ) หา
พอดีกับที่ดีที่สุดสำหรับโครงการพัฒนาซอฟต์แวร์เฉพาะ ; 2 ) ปรับปรุง
รุ่นตัวเอง ; 3 ) ความสะดวกในการเผยแพร่ และการศึกษา
ต่อการปฏิบัติการพัฒนาที่ดีที่สุดและ 4 ) ค้นหาข้อมูลที่เกี่ยวข้องกับ
กำหนดรูปแบบใหม่ อย่างไรก็ตาม การเปรียบเทียบที่มีอยู่มักจะ
ส่วนใหญ่ขึ้นอยู่กับประสบการณ์ของผู้ปฏิบัติงาน และเข้าใจง่าย
ของผู้ประพันธ์ จึง , พวกเขามีแนวโน้มที่จะ
อัตนัย และไม่ถูกต้อง ขาดวิธีการเปรียบเทียบรูปแบบการพัฒนาความเข้าใจ
ลดรุ่นดังกล่าวและการยอมรับโดยรวมของพวกเขา โดยกลุ่มผู้ประกอบการ เราเสนอ
วิธีการเปรียบเทียบการพัฒนาซอฟต์แวร์แบบเป็นทางการ
ขึ้นอยู่กับเทคนิคเสนอเดิมเพื่อเปรียบเทียบ
วิธีการออกแบบ การใช้
เป็นทางการหนึ่งรูปเทคนิคมีวิธีการที่สอดคล้องกันมากขึ้นและมีประสิทธิภาพเพื่อเปรียบเทียบ
โมเดลการพัฒนาซอฟต์แวร์และสามารถใช้เพื่อปรับแต่ง
กระบวนการพัฒนาซอฟต์แวร์ขององค์กรการพัฒนา
ซอฟต์แวร์ เรานำเสนอผลของกรณีศึกษา
เปรียบเทียบสองที่รู้จักกันดีและส่วนใหญ่ใช้รูปแบบการพัฒนา .
ผลเปรียบเทียบดังกล่าวสามารถใช้ข้อมูล
โดยเทคโนโลยีด้านการแสดงนักเรียน ข้อดี และข้อเสียของแต่ละรูปแบบและ
สั่งให้พวกเขาเกี่ยวกับวิธีการและเมื่อใช้แต่ละรุ่นหรือรูปแบบต่าง ๆ ของพวกเขา และประเภทวิชาใน i.6.5
[ รูปแบบ ] : การพัฒนารูปแบบการพัฒนาเปรียบเทียบ–
วงจรชีวิตเอกสารการวิเคราะห์ความเสี่ยง ทั่วไป :
เรื่องการออกแบบ มาตรฐาน
ของคำหลัก การเปรียบเทียบรูปแบบการพัฒนาวิศวกรรมซอฟต์แวร์การศึกษา ,
.
1 บทนำ
ต้นทุนโดยรวมของระบบคอมพิวเตอร์ที่เกี่ยวข้องกับ
ฮาร์ดแวร์ที่ระบบจะต้องใช้งานและค่าใช้จ่ายของการพัฒนาซอฟต์แวร์และการบำรุงรักษา ต้นทุนของฮาร์ดแวร์ได้
รับลดลงกว่าสองสามทศวรรษที่ผ่านมา ยิ่งไปกว่านั้นมัน
เป็นเริ่มต้นและต้นทุนคงที่ต่อ .
สถานการณ์นี้พบว่า ปัจจัยหลักที่เข้มงวดสำหรับการพัฒนา
ระบบคอมพิวเตอร์มีแนวโน้มที่จะเป็นค่าใช้จ่ายซอฟต์แวร์ ซอฟต์แวร์
หมายถึงการแบ่งปันที่ยิ่งใหญ่ในต้นทุนรวมของการพัฒนาระบบ
ดังนั้นการผลิตซอฟต์แวร์ที่มีคุณภาพที่มีประสิทธิภาพเป็นสิ่งจำเป็นสำหรับอนาคตของระบบคอมพิวเตอร์
.
วินัยวิศวกรรมซอฟต์แวร์มี
วางแผนประหยัดต้นทุนและการพัฒนาซอฟต์แวร์ที่เป็นเป้าหมาย [ 11 ] ซอฟต์แวร์ที่เป็นนามธรรม
และไม่มีตัวตน . มันไม่ประกอบด้วยวัสดุ , ควบคุมโดยกฎหมายหรือสร้าง
ทางกายภาพภายในกระบวนการผลิต กระบวนการ
ซอฟต์แวร์ที่ซับซ้อนและกระบวนการทางปัญญา ทุกคน
ขึ้นอยู่กับการตัดสินใจของมนุษย์ วิศวกรรมซอฟต์แวร์รวบรวมกลุ่มสามองค์ประกอบพื้นฐาน
: วิธีการ เครื่องมือ และวิธีการ [ 7 ]ร่วมกันพวกเขาให้
ผู้จัดการซอฟต์แวร์เพื่อควบคุมกระบวนการพัฒนาซอฟต์แวร์
และให้ผู้ประกอบการ มีฐาน สำหรับการก่อสร้าง
คุณภาพสูงซอฟต์แวร์ที่มีประสิทธิภาพ ลำดับของขั้นตอนหรือ
ขั้นตอนซอฟต์แวร์ที่ต้องผ่านจากการเริ่มต้นของตำแหน่งสุดท้าย
รักษาชีวิตและต่อมาเรียกว่ากระบวนทัศน์ซอฟต์แวร์หรือซอฟต์แวร์
รูปแบบการพัฒนา ด้านมนุษย์ของการพัฒนาซอฟต์แวร์
สอนเน้นความสำคัญที่เหมาะสมเทคนิค วิธีการ รูปแบบ
และเครื่องมือประกอบในอนาคต โมเดลการพัฒนาซอฟต์แวร์ที่สำคัญในสถานการณ์นี้โดยเฉพาะ
เนื่องจากพวกเขาให้โครงสร้างกรอบที่ทุกกิจกรรมอื่น ๆที่เกี่ยวข้องในการพัฒนาซอฟต์แวร์มืออาชีพปล่อย
[ 2 ]ในช่วงไม่กี่ทศวรรษที่ผ่านมาหลายรุ่นได้รับการพัฒนา
ซอฟต์แวร์กล่าวถึงในบริบทของวิศวกรรมซอฟต์แวร์
การเปรียบเทียบจำนวนมากได้รับการตีพิมพ์โดยผู้เชี่ยวชาญ
แตกต่างกันเพื่อระบุจุดอ่อนและจุดแข็งของ
คนละรุ่นกัน จากเพลง , et al [ 12 ] ,
เปรียบเทียบที่มีอยู่มักจะไปตาม
ประสบการณ์ของผู้ปฏิบัติงาน และความเข้าใจง่ายของ
ผู้เขียน ดังนั้นการเปรียบเทียบเหล่านี้มักจะเป็นอัตนัย
และที่ไม่ถูกต้อง การใช้อย่างเป็นทางการและกำหนดเทคนิค
ให้วิธีที่มีประสิทธิภาพเพื่อเปรียบเทียบรูปแบบการพัฒนาในปัจจุบันมีความหลากหลายอันยิ่งใหญ่ของรุ่น
การพัฒนาซอฟต์แวร์ที่มีอยู่ ไม่เหมาะแบบ , และองค์กรที่แตกต่างกัน
ได้มีการพัฒนาวิธีการที่แตกต่างกันอย่างสิ้นเชิงจากอีก
.
วัตถุประสงค์ของงานนี้คือการระบุคุณลักษณะหลัก
รูปแบบการพัฒนาและเปรียบเทียบพวกเขา เราเสนอที่จะปรับตัว
เทคนิคที่เรียกว่า CDM [ 12 ] ( เปรียบเทียบวิธีการออกแบบ )
เปรียบเทียบรุ่น ปรับปรุงเทคนิคที่เรียกว่า cdmod
อนุญาตให้สำเนาดิจิตอลหรือฮาร์ดดิสก์ทั้งหมดหรือบางส่วนของงานนี้
ใช้ส่วนตัวหรือในชั้นเรียนจะได้รับโดยไม่เสียค่าธรรมเนียมให้เสมือน
ไม่ได้หรือจำหน่ายกำไรหรือประโยชน์เชิงพาณิชย์ และสำเนา
หมีแจ้งให้ทราบนี้และการอ้างอิงเต็มในหน้าแรก เพื่อคัดลอกหรือเผยแพร่หรือ
เพื่อโพสต์บนเซิร์ฟเวอร์หรือเพื่อแจกจ่ายไปยังรายการที่ต้องการก่อน
เฉพาะอนุญาตและ / หรือค่า
sigite สินค้า เมื่อวันที่ 20 – 22 , 2005 , Newark , New Jersey , USA
ลิขสิทธิ์ 2005 ACM 1-59593-252-6 / 05 / 0010 $ 5.00 . . . . . . . .
( ผมเปรียบเทียบกับรุ่นพัฒนา ) เราเน้นรูปแบบและลักษณะการพิจารณากิจกรรมที่คล้ายกัน
ระหว่างรุ่น เช่น ความต้องการ การวิเคราะห์ การออกแบบ การเขียนโปรแกรม การปฏิบัติ
และการทดสอบ โครงการ CDM คือกระบวนการที่เป็นระบบและกำหนดใช้
เทคนิคการจำแนกเป็นเครื่องมือในการเปรียบเทียบ มันเหมือนกับ
ใช้โมเดลการพัฒนาซอฟต์แวร์ที่เอื้อต่อการให้เหตุผล การสื่อสาร การปรับแต่งและการศึกษา
, .
แตกต่างจากส่วนใหญ่ของการตีพิมพ์ก่อนหน้านี้เปรียบเทียบ
ของโมเดลการพัฒนาซอฟต์แวร์ cdmod ให้เราระบุ
ลักษณะของรุ่น เน้นคุณภาพและข้อเสีย
ของแต่ละคน และตามลำดับตรรกะสำหรับการเปรียบเทียบ .
2 แบบเปรียบเทียบในการศึกษาของเรา เราเสนอ
ผลของการเปรียบเทียบดังกล่าว และหารือถึงวิธีการที่ใช้ในการปรับจูน
cdmod สามารถพัฒนาซอฟต์แวร์ที่ใช้ในองค์กรในปัจจุบัน
.
2 ที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์
หลายรุ่น [ 7 , 5 , 11 ] ที่มีอยู่ใน
วรรณกรรมบางส่วนเพิ่มเติมอย่างละเอียดที่กล่าวถึง เช่น
แบบ [ 9 ] และน้ำตกแบบเกลียว [ 2 ] เหตุผลที่เรา
มีให้เลือกสองรุ่นเพื่อใช้ในการศึกษาของเรา .
- รูปแบบน้ำตก–คลาสสิก " วงจรชีวิต " ของขวัญ
ลำดับของขั้นตอนการพัฒนาต่อไปนี้ :
ความต้องการการวิเคราะห์การเข้ารหัสออกแบบโปรแกรมการดำเนินงานและการทดสอบ
. มันเป็นที่เก่าแก่ที่สุดรูปแบบ [ 5 ] และยัง
อย่างละเอียดใช้ [ 7 ] .
- เกลียวรูปแบบปรากฏเป็นรูปแบบที่มีมากขึ้น
ความยืดหยุ่นให้กับนักพัฒนา มันครอบคลุม
ความต้องการในการรวบรวมการวางแผนการออกแบบการปรับใช้ในการโต้ตอบและ
แฟชั่นและเพิ่มขึ้น . นอกจากนี้ยังประกอบด้วยการวิเคราะห์ความเสี่ยงระยะ
.
๑
น้ำตกวงจรชีวิตคลาสสิกวงจรชีวิต หรือ น้ำตก หรือที่เรียกว่า " topdown "
วิธีการเสนอโดยรอย [ 9 ] จนถึงกลางเดือน
80 มันเป็นรุ่นเดียวที่มีระดับการยอมรับทั่วไป มัน
ได้มาจากโมเดลที่ใช้ในกิจกรรมประเพณีวิศวกรรม
กับวัตถุประสงค์ในการจัดตั้งเพื่อการพัฒนา
ผลิตภัณฑ์ซอฟต์แวร์ขนาดใหญ่ เมื่อเทียบกับโมเดลการพัฒนาซอฟต์แวร์
อื่นๆก็จะแข็งมากขึ้น และง่ายต่อการจัดการน้อย
น้ำตกแบบหนึ่งในโมเดลที่สำคัญที่สุดเคย
ตีพิมพ์ มันคือการอ้างอิงถึงคนอื่นและทำหน้าที่เป็นพื้นฐานสำหรับ
โครงการที่ทันสมัยมากรุ่นเดิมคือการปรับปรุงมากกว่า
เวลาและยังใช้บ่อยวันนี้ [ 5 ] .
ส่วนดีของความสำเร็จของน้ำตกแบบเนื่องจากการการจัดการพื้นฐาน ซึ่งจะระบุกำหนดกลุ่ม
เอกสารจำนวนมากเป็นผลของแต่ละช่วงของวงจรชีวิต [ 5 ] .
ผลิตเอกสารประกอบ รวมถึงกว่าไฟล์ข้อความ มันมี
ภาพกราฟิกของซอฟต์แวร์และแบบจำลองได้ ใน
รุ่นนี้ขั้นตอนจะดำเนินการอย่างเป็นระบบในลําดับ
ดังแสดงในรูปที่ 1 และ มักจะมีขั้นตอนต่อไปนี้ :
การวิเคราะห์ , ออกแบบ , ก่อสร้าง , การประเมินผลและการบำรุงรักษา .
รูปที่ 1 : น้ำตกน้ำตกเดิม โมเดล เป็นแบบจำลองทางวิศวกรรมออกแบบมาให้
ใช้ในการพัฒนาซอฟต์แวร์แนวคิดหลักที่ไดรฟ์มัน
ที่ขั้นตอนการพัฒนาที่แตกต่างกันไปตามลําดับ :
ออกขั้นตอนแรกคือ เข้า 2 ออก
เวทีที่สองคือใส่ไปสามและ กิจกรรมที่จะ
ทำที่มีอยู่ในงานดำเนินการตามลำดับ ดังนั้นงาน
จะเริ่มต้นเมื่อหนึ่งก่อนหน้านี้แล้ว เกลียวแบบ
.เกลียวรูปแบบเดิมที่เสนอโดยโบม [ 2 ] เป็นวิธีการวิเคราะห์
simplistic มันพิจารณามันเป็นรูปแบบน้ำตก
ซึ่งในแต่ละเฟส หรือ แต่ละรอบจะนำหน้าโดยการวิเคราะห์ความเสี่ยงและการเพิ่มขึ้นของมันคือ
.
เป้าหมายของลายก้นหอยคือรวมคุณสมบัติของรุ่นอื่น ๆและแก้ไขบางส่วนของปัญหาของพวกเขา
[ 2 ] รุ่นนี้รวมถึง
prototyping ,วิวัฒนาการและการพัฒนาตลาดและกิจกรรมหลัก
น้ำตกจำลอง นวัตกรรมที่สำคัญ คือ เพื่อเป็นแนวทางในการพัฒนา ด้วยพื้นฐานที่แข็งแกร่งใน
การวิเคราะห์ความเสี่ยงและพัฒนาวางแผน ความเสี่ยง
สถานการณ์ไม่พึงประสงค์ที่สามารถปรากฏในการพัฒนาซอฟต์แวร์
, ขัดขวางกระบวนการหรือการลดคุณภาพของ
ผลิตภัณฑ์ ตัวอย่างของความเสี่ยงคือคนที่ละทิ้ง
ทีมพัฒนาเครื่องมือที่ไม่สามารถใช้ข้อบกพร่องในอุปกรณ์
ใช้ในการพัฒนาหรือที่พวกเขาจะถูกใช้ในผลิตภัณฑ์สุดท้าย
, ฯลฯ ฉัน
การแปล กรุณารอสักครู่..
![](//thimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)