Iterative and incremental developmentFrom Wikipedia, the free encyclop การแปล - Iterative and incremental developmentFrom Wikipedia, the free encyclop ไทย วิธีการพูด

Iterative and incremental developme

Iterative and incremental development
From Wikipedia, the free encyclopedia
Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for software development. The combination is of long standing [1] and has been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167[2] mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time." and "This process may be described as an 'evolutionary acquisition' or 'incremental build' approach." The relationship between iterations and increments is determined by the overall software development methodology and software development process. The exact number and nature of the particular incremental builds and what is iterated will be specific to each individual development effort.


Iterative development model
Software development process
Core activities
Requirements Specification Architecture Construction Design Testing Debugging Deployment Maintenance
Methodologies
Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM UP XP Agile Lean Dual Vee Model TDD BDD FDD DDD MDD
Supporting disciplines
Configuration management Documentation Software Quality assurance (SQA) Project management User experience
Tools
Compiler Debugger Profiler GUI designer Modeling IDE Build automation
v t e
Iterative and incremental development are essential parts of the Modified waterfall models, Rational Unified Process, Extreme Programming and generally the various agile software development frameworks.

It follows a similar process to the plan-do-check-act cycle of business process improvement.

Contents [hide]
1 Overview
1.1 Phases
1.2 Usage
1.3 Contrast with Waterfall development
1.4 Implementation guidelines
2 See also
3 Notes
4 References
Overview[edit]

A simplified version of a typical iteration cycle in agile project management
The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system. Learning comes from both the development and use of the system, where possible key steps in the process start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added.

The procedure itself consists of the initialization step, the iteration step, and the Project Control List. The initialization step creates a base version of the system. The goal for this initial implementation is to create a product to which the user can react. It should offer a sampling of the key aspects of the problem and provide a solution that is simple enough to understand and implement easily. To guide the iteration process, a project control list is created that contains a record of all tasks that need to be performed. It includes such items as new features to be implemented and areas of redesign of the existing solution. The control list is constantly being revised as a result of the analysis phase.

The iteration involves the redesign and implementation of iteration is to be simple, straightforward, and modular, supporting redesign at that stage or as a task added to the project control list. The level of design detail is not dictated by the iterative approach. In a light-weight iterative project the code may represent the major source of documentation of the system; however, in a critical iterative project a formal Software Design Document may be used. The analysis of an iteration is based upon user feedback, and the program analysis facilities available. It involves analysis of the structure, modularity, usability, reliability, efficiency, & achievement of goals. The project control list is modified in light of the analysis results.


Iterative development.
Phases[edit]
Incremental development slices the system functionality into increments (portions). In each increment, a slice of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition.

Inception identifies project scope, requirements (functional and non-functional) and risks at a high level but in enough detail that work can be estimated.
Elaboration delivers a working architecture that mitigates the top risks and fulfills the non-functional requirements.
Construction incrementally fills-in the architecture with production-ready code produced from analysis, design, implementation, and testing of the functional requirements.
Transition delivers the system into the production operating environment.
Each of the phases may be divided into 1 or more iterations, which are usually time-boxed rather than feature-boxed. Architects and analysts work one iteration ahead of developers and testers to keep their work-product backlog full.

Usage[edit]
Many examples of early usage are provided in Craig Larman and Victor Basili's article "Iterative and Incremental Development: A Brief History",[3] with one of the earliest being NASA's 1960s Project Mercury.

Another is an "early and striking example of a major IID success is the very heart of NASA’s space shuttle software—the primary avionics software system, which FSD built from 1977 to 1980. The team applied IID in a series of 17 iterations over 31 months, averaging around eight weeks per iteration. Their motivation for avoiding the waterfall life cycle was that the shuttle program’s requirements changed during the software development process".

Some organizations, such as the US Department of Defense, have a preference for iterative methodologies, starting with MIL-STD-498 "clearly encouraging evolutionary acquisition and IID".

The current DoD Instruction 5000.2, released in 2000, states a clear preference for IID: "There are two approaches, evolutionary and single step [waterfall], to full capability. An evolutionary approach is preferred. … [In this] approach, the ultimate capability delivered to the user is divided into two or more blocks, with increasing increments of capability...software development shall follow an iterative spiral development process in which continually expanding software versions are based on learning from earlier development. It can also be done in phases .

Contrast with Waterfall development[edit]
Programming paradigms
Action
Agent-oriented
Aspect-oriented
Automata-based
Concurrent computing
Relativistic programming
Data-driven
Declarative (contrast: Imperative)
Constraint
Dataflow
Flow-based
Cell-oriented (spreadsheets)
Reactive
Functional
Functional logic
Logic
Abductive logic
Answer set
Constraint logic
Functional logic
Inductive logic
End-user programming
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level (contrast: Value-level)
Generic
Imperative (contrast: Declarative)
Procedural
Language-oriented
Natural language programming
Discipline-specific
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Reflective
Attribute-oriented
Homoiconic
Template
Policy-based
Non-structured (contrast: Structured)
Array
Nondeterministic
Parallel computing
Process-oriented
Point-free style
Concatenative
Semantic
Structured (contrast: Non-structured)
Block-structured
Modular (contrast: Monolithic)
Object-oriented (OOP)
By separation of concerns:
Aspect-oriented
Role-oriented
Subject-oriented
Class-based
Prototype-based
Recursive
Value-level (contrast: Function-level)
Probabilistic
Concept
v t e
Waterfall development completes the project-wide work-products of each discipline in one step before moving on to the next discipline in the next step. Business value is delivered all at once, and only at the very end of the project. Backtracking is possible in an iterative approach.

Implementation guidelines[edit]
Guidelines that drive the implementation and analysis include:

Any difficulty in design, coding and testing a modification should signal the need for redesign or re-coding.
Modifications should fit easily into isolated and easy-to-find modules. If they do not, some redesign is possibly needed.
Modifications to tables should be especially easy to make. If any table modification is not quickly and easily done, redesign is indicated.
Modifications should become easier to make as the iterations progress. If they are not, there is a basic problem such as a design flaw or a proliferation of patches.
Patches should normally be allowed to exist for only one or two iterations. Patches may be necessary to avoid redesigning during an implementation phase.
The existing implementation should be analyzed frequently to determine how well it measures up to project goals.
Program analysis facilities should be used whenever available to aid in the analysis of partial implementations.
User reaction should be solicited and analyzed for indications of deficiencies in the current implementation.
See also[edit]
Incremental build model
Rapid application development
Dynamic Systems Development Method
Extreme Programming
Continuous integration
Kaizen
Rational Unified Process
Unified Process
Microsoft Solutions Framework
Interaction Design
OpenUP/Basic
Object-oriented analysis and design
Goal-Driven Software Development Process
Spiral model
Notes[edit]
Jump up ^ Larman, Craig (June 2003). "Iterative and Incremental Development: A Brief History". Computer 36 (6): 47–56. doi:10.1109/MC.2003.1204375. ISSN 0018-9162. "We were doing incremental development as early as 1957, in Los Angeles, under the direction of Bernie Dimsdale [at IBM's ServiceBureau Corporation]. He was a colleague of John von Neumann, s
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
ซ้ำ และเพิ่มพัฒนาจากวิกิพีเดีย สารานุกรมฟรีซ้ำและเพิ่มการพัฒนาเป็นการรวมทั้งการออกแบบซ้ำ หรือวิธีซ้ำ และสร้างส่วนเพิ่มโมเดลการพัฒนาซอฟต์แวร์ รวมเป็นความยาว [1] และมีการแนะนำอย่างกว้างขวางในความพยายามพัฒนาขนาดใหญ่ ตัวอย่าง ในปี 1985 DOD-STD-2167 [2] กล่าวถึง (ในส่วนที่ 4.1.2): "ในระหว่างการพัฒนาซอฟแวร์ เกิดซ้ำมากกว่าหนึ่งของวงจรการพัฒนาซอฟต์แวร์อาจจะยู่ในเดียวกันเวลา" และ "กระบวนการนี้อาจจะ อธิบายว่า 'วิวัฒนาการมา' หรือ 'สร้างส่วนเพิ่ม' วิธีการนั้น" ความสัมพันธ์ระหว่างแผนทีถูกกำหนด โดยวิธีการพัฒนาซอฟต์แวร์โดยรวมและกระบวนการพัฒนาซอฟต์แวร์ จำนวนที่แน่นอนและธรรมชาติสร้างเพิ่มเฉพาะและอะไรเป็นทวิภาควนซ้ำจะเป็นเฉพาะแต่ละพยายามพัฒนาแต่ละรูปแบบการพัฒนาซ้ำกระบวนการพัฒนาซอฟต์แวร์กิจกรรมหลักความต้องการข้อมูลจำเพาะเกี่ยวกับการก่อสร้างออกแบบสถาปัตยกรรมทดสอบบำรุงรักษาการใช้ดีบักวิธีการแบบจำลองต้นแบบน้ำตกเพิ่มซ้ำ V รุ่นเกลียว scrum ได้คลีนรูม RAD DSDM ค่า XP คล่องตัวแบบ Lean สององค์จำลอง TDD BDD FDD DDD MDDสนับสนุนสาขาประสบการณ์ผู้ใช้ตั้งค่าคอนฟิกการจัดการประกันคุณภาพซอฟต์แวร์เอกสารประกอบการจัดการโครงการ (SQA)เครื่องมือคอมไพเลอร์ GUI ตัวสร้างโพรไฟล์ดีบักเกอร์ออกแบบโมเดล IDE สร้างอัตโนมัติv t eซ้ำ และเพิ่มการพัฒนาเป็นส่วนสำคัญของแบบปรับปรุงน้ำตกจำลอง เชือดร่วมกระบวนการ การเขียน โปรแกรมมาก และโดยทั่วไปต่าง ๆ คล่องตัวซอฟต์แวร์พัฒนากรอบเป็นไปตามกระบวนการคล้ายกับวงจรแผนโดกาพระราชบัญญัติของการปรับปรุงกระบวนการธุรกิจเนื้อหา [ซ่อน] ภาพรวม 11.1 ระยะ1.2 การใช้งานความคมชัด 1.3 กับน้ำตกพัฒนา1.4 แนวทางดำเนินงาน2 ดูหมายเหตุ 34 อ้างอิงภาพรวม [แก้ไข]วงจรการเกิดซ้ำโดยทั่วไปในการบริหารโครงการคล่องตัวแบบง่ายความคิดพื้นฐานที่อยู่เบื้องหลังวิธีการนี้คือการ พัฒนาระบบ ผ่านวงจรซ้ำ ๆ (ซ้ำ) และ ในส่วนเล็กที่ช่วยให้นักพัฒนาซอฟต์แวร์เพื่อใช้ประโยชน์จากสิ่งเรียนรู้ในระหว่างการพัฒนาชิ้นส่วนก่อนหน้าหรือระบบรุ่น (เพิ่ม), เวลา เรียนรู้มาจากทั้งการพัฒนาและใช้ระบบ ซึ่งเป็นขั้นตอนสำคัญในกระบวนการการดำเนินการเรื่องของเซตย่อยของความต้องการซอฟต์แวร์ และเพิ่มรุ่นเกิดขึ้นซ้ำ ๆ จนกว่าจะดำเนินการเต็มระบบ ที่เกิดซ้ำแต่ละครั้ง ทำการปรับเปลี่ยนการออกแบบ และเพิ่มความสามารถในการทำงานใหม่ขั้นตอนประกอบด้วยขั้นตอนการเริ่มต้น ขั้นตอนการเกิดซ้ำ และ รายการควบคุมโครงการ ขั้นตอนการเริ่มต้นสร้างระบบรุ่นพื้นฐาน เป้าหมายสำหรับการใช้งานเริ่มต้นนี้คือการ สร้างผลิตภัณฑ์ที่สามารถตอบสนองต่อผู้ใช้ มันควรมีการสุ่มตัวอย่างของแง่มุมที่สำคัญของปัญหา และให้แก้ไขปัญหาที่ง่ายพอที่จะเข้าใจ และใช้ง่าย คู่มือกระบวนการการเกิดซ้ำ โครงการควบคุมจะสร้างรายการที่ประกอบด้วยข้อมูลงานทั้งหมดที่จำเป็นต้องดำเนินการ รวมรายการดังกล่าวเป็นคุณลักษณะใหม่ที่จะปฏิบัติและด้านการออกแบบโซลูชันที่มีอยู่ รายการควบคุมอยู่ตลอดเวลากำลังแก้ไขจากขั้นตอนการวิเคราะห์เกิดซ้ำที่เกี่ยวข้องกับการออกแบบ และงานการเกิดซ้ำจะเป็นง่าย ตรงไปตรงมา และโมดูลาร์ สนับสนุนการออกแบบ ในขั้นตอนนั้น หรือ เป็นงานเพิ่มให้กับรายการการควบคุมโครงการ ระดับของรายละเอียดการออกแบบไม่ได้เขียนตามคำบอก โดยวิธีซ้ำ ในโครงการซ้ำน้ำหนักเบา รหัสอาจหมายถึงแหล่งที่มาหลักของเอกสารของระบบ อย่างไรก็ตาม ในโครงการสำคัญซ้ำ ทางซอฟต์แวร์ออกแบบเอกสารสามารถใช้ การวิเคราะห์การเกิดซ้ำได้ยึดตามคำติชมของผู้ใช้ และการโปรแกรมวิเคราะห์สิ่งอำนวยความสะดวก มันเกี่ยวข้องกับการวิเคราะห์โครงสร้าง modularity ใช้งาน ความน่าเชื่อถือ มีประสิทธิภาพ และความสำเร็จของเป้าหมาย รายการการควบคุมโครงการมีแก้ไขเมื่อผลการวิเคราะห์ซ้ำการพัฒนา[แก้ไข] ระยะพัฒนาเพิ่มชิ้นงานระบบเป็นที (บางส่วน) ในแต่ละเพิ่ม ชิ้นงานถูกจัดส่งผ่านข้ามสาขาวิชาการผลิต จากความต้องการการปรับใช้ การรวมกลุ่มน้อย/ซ้ำเป็นระยะ: มา ทุก ๆ ก่อสร้าง และการเปลี่ยนแปลงเริ่มระบุขอบเขตของโครงการ ความต้องการ (ทำงาน และไม่ทำงาน) และความเสี่ยง ในระดับสูง แต่ ในรายละเอียดเพียงพอที่สามารถประเมินงานทุก ๆ ให้สถาปัตยกรรมการทำงานที่ mitigates ความเสี่ยงสูงสุด และตอบสนองความต้องการไม่ทำงานก่อสร้างแบบเพิ่มหน่วยเติมในสถาปัตยกรรมที่ มีรหัสการผลิตพร้อมผลิตจากการวิเคราะห์ ออกแบบ งาน และการทดสอบความต้องการทำงานเปลี่ยนแปลงให้ระบบเป็นการดำเนินงานสิ่งแวดล้อมแต่ละระยะอาจแบ่งออกเป็น 1 หรือมากกว่าซ้ำ ซึ่งมักจะเป็นเวลากล่องกล่อง แทนกล่อง กล่องคุณลักษณะ สถาปนิกและนักวิเคราะห์งานที่เกิดซ้ำหนึ่งก่อนการพัฒนาและทดสอบเพื่อให้ยอดคงค้างงานผลิตภัณฑ์ของพวกเขาเต็ม[แก้ไข] การใช้งานมีตัวอย่างมากของการใช้งานก่อนใน Craig Larman และวิคเตอร์ Basili บท "ซ้ำและเพิ่มพัฒนา: A ประวัติโดยสังเขป", [3] กับหนึ่งในสุดกำลังของ NASA 1960s โครงการ Mercuryอื่น ๆ "ต้น และโดดเด่นอย่างสำเร็จ IID สำคัญคือ ใจกลางของซอฟแวร์กระสวยอวกาศของนาซ่า — avionics หลักซอฟต์แวร์ระบบ ที่ FSD สร้าง 1977 1980 ทีมงานใช้ IID ลำดับแผน 17 กว่า 31 เดือน หาค่าเฉลี่ยประมาณแปดสัปดาห์ต่อการเกิดซ้ำ แรงจูงใจของพวกเขาสำหรับน้ำตกวงจรที่หลีกเลี่ยงได้ว่า ความต้องการของโปรแกรมส่งการเปลี่ยนแปลงในระหว่างกระบวนการพัฒนาซอฟต์แวร์"บางองค์กร เช่นเรากระทรวงกลาโหม สำหรับวิธีซ้ำ การเริ่มต้น ด้วย MIL-STD-498 "ชัดเจนส่งเสริมวิวัฒนาการมาและ IID" ได้ปัจจุบัน DoD คำ 5000.2 นำออกใช้ในปี 2000 ระบุความชัดเจนสำหรับ IID: "มีได้ 2 วิธี ขั้นตอนเดียว และวิวัฒนาการ [น้ำตก], เต็มความสามารถ วิธีการเชิงวิวัฒนาการจะต้อง … [ใน] วิธีการ ความสามารถที่ดีที่สุดส่งไปยังผู้ใช้แบ่งออกเป็นบล็อกสอง หรือมากกว่า มีการเพิ่มขึ้นของความสามารถ...พัฒนาซอฟต์แวร์จะทำตามกระบวนการพัฒนาหมุนวนซ้ำที่อย่างต่อเนื่องขยายซอฟต์แวร์รุ่นขึ้นอยู่กับเรียนจากการพัฒนาก่อนหน้านั้น นอกจากนี้ยังสามารถทำในระยะความคมชัดกับน้ำตกพัฒนา [แก้ไข]Paradigms โปรแกรมการดำเนินการแปลกแทนเชิงโดยออโตมาตาใช้งานพร้อมกันเขียนโปรแกรม relativisticปรับปรุงข้อมูลDeclarative (ความคมชัด: ความจำ)ข้อจำกัดDataflowตามกระแสเน้นเซลล์ (กระดาษคำนวณ)ปฏิกิริยาใช้งานได้ตรรกะที่ทำงานตรรกะตรรกะ abductiveชุดคำตอบตรรกะข้อจำกัดตรรกะที่ทำงานตรรกะเชิงอุปนัยผู้เขียนโปรแกรมขับเคลื่อนกิจกรรมเด่นเวลาขับนิพจน์แปลกเน้นคุณลักษณะฟังก์ชันระดับ (ความคมชัด: ค่าระดับ)ทั่วไปความจำ (ความคมชัด: Declarative)ขั้นตอนเน้นภาษาการเขียนโปรแกรมภาษาวินัยเฉพาะโดเมนเฉพาะเน้นไวยากรณ์DialectingมิMetaprogrammingอัตโนมัติสะท้อนแสงแอตทริบิวต์เน้นHomoiconicแม่แบบโดยใช้นโยบายไม่มีโครงสร้าง (ความคมชัด: โครงสร้าง)อาร์เรย์ถูกการคำนวณแบบขนานมุ่งเน้นกระบวนการลักษณะจุดฟรีConcatenativeทางตรรกโครงสร้าง (ความคมชัด: ไม่ใช่โครงสร้าง)โครงสร้างแบบบล็อคโมดูลาร์ (ความคมชัด: เสาหิน)เชิงวัตถุ (OOP)โดยแบ่งแยกความกังวล:เชิงเน้นบทบาทเรื่องแปลกตามระดับชั้นไทป์ซ้ำค่าระดับ (ความคมชัด: ฟังก์ชันระดับ)Probabilisticแนวความคิดv t eน้ำตกพัฒนาเสร็จสิ้นงานผลิตภัณฑ์ทั้งโครงการของแต่ละสาขาวิชาการในขั้นตอนเดียวทั้งขัดเกลาถัดไปในขั้นตอนถัดไป ธุรกิจค่าจัดส่งทั้งหมด ในครั้งเดียว และ ที่สุดของโครงการ Backtracking ได้ในวิธีการซ้ำแนวทางการดำเนินงาน [แก้ไข]แนวทางที่ขับรถนำไปใช้และการวิเคราะห์รวมถึง:มีความยากในการออกแบบ รหัส และการทดสอบการปรับเปลี่ยนควรสัญญาณจำเป็นต้องออกแบบหรือการเขียนโค้ดใหม่แก้ไขควรพอดีได้เป็นโมดูลแยก และ หาง่าย ไม่ทำ ออกแบบบางอย่างอาจจะต้องปรับเปลี่ยนตารางควรง่ายโดยเฉพาะอย่างยิ่งที่จะทำ ถ้าปรับเปลี่ยนตารางใด ๆ จะไม่รวดเร็ว และง่ายดายทำ ออกแบบจะระบุแก้ไขควรจะง่ายต่อการทำให้ความคืบหน้าซ้ำ ถ้าไม่มี มีปัญหาพื้นฐานเช่นปัญหาการออกแบบหรือการแพร่หลายของแพทช์โดยปกติควรอนุญาตให้ปรับปรุงเป็นมีเพียงหนึ่ง หรือสองซ้ำ ซอฟต์แวร์อาจจำเป็นต้องหลีกเลี่ยง redesigning ระหว่างขั้นตอนการดำเนินงานควรวิเคราะห์ปฏิบัติอยู่บ่อยครั้งเพื่อกำหนดวิธีการที่ดีมันวัดค่าเพื่อเป้าหมายของโครงการควรใช้โปรแกรมวิเคราะห์สิ่งใดเพื่อช่วยในการวิเคราะห์ของการใช้งานบางส่วนปฏิกิริยาของผู้ใช้ควรจะร้องขอ และวิเคราะห์สำหรับบ่งชี้ข้ามการใช้งานปัจจุบันดู [แก้ไข]สร้างส่วนเพิ่มรุ่นการพัฒนาแอพลิเคชันอย่างรวดเร็ววิธีพัฒนาระบบแบบไดนามิกการเขียนโปรแกรมมากอย่างต่อเนื่องไคเซ็นกระบวนการประกอบการเชือดกระบวนการรวมโซลูชั่น Microsoft กรอบออกแบบโต้ตอบOpenUP/ขั้น พื้นฐานเชิงวัตถุการวิเคราะห์และออกแบบกระบวนการพัฒนาซอฟต์แวร์ขับเคลื่อนเป้าหมายแบบจำลองเกลียวหมายเหตุ [แก้ไข]กระโดดขึ้น ^ Larman เคร็ก (2003 มิถุนายน) "พัฒนาซ้ำ และเพิ่ม: ประวัติโดยย่อ" คอมพิวเตอร์ที่ 36 (6): 47-56 doi:10.1109/MC.2003.1204375 นอก 0018-9162 "เราได้ทำเพิ่มขึ้นพัฒนาก่อนที่ 1957 ลอสแองเจลิส ภายใต้ทิศทางของแอร์ Dimsdale [ที่ บริษัทของ IBM ServiceBureau] เขาถูกเพื่อนร่วมงานของจอห์นฟอน Neumann, s
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
Iterative and incremental development
From Wikipedia, the free encyclopedia
Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for software development. The combination is of long standing [1] and has been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167[2] mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time." and "This process may be described as an 'evolutionary acquisition' or 'incremental build' approach." The relationship between iterations and increments is determined by the overall software development methodology and software development process. The exact number and nature of the particular incremental builds and what is iterated will be specific to each individual development effort.


Iterative development model
Software development process
Core activities
Requirements Specification Architecture Construction Design Testing Debugging Deployment Maintenance
Methodologies
Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM UP XP Agile Lean Dual Vee Model TDD BDD FDD DDD MDD
Supporting disciplines
Configuration management Documentation Software Quality assurance (SQA) Project management User experience
Tools
Compiler Debugger Profiler GUI designer Modeling IDE Build automation
v t e
Iterative and incremental development are essential parts of the Modified waterfall models, Rational Unified Process, Extreme Programming and generally the various agile software development frameworks.

It follows a similar process to the plan-do-check-act cycle of business process improvement.

Contents [hide]
1 Overview
1.1 Phases
1.2 Usage
1.3 Contrast with Waterfall development
1.4 Implementation guidelines
2 See also
3 Notes
4 References
Overview[edit]

A simplified version of a typical iteration cycle in agile project management
The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system. Learning comes from both the development and use of the system, where possible key steps in the process start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added.

The procedure itself consists of the initialization step, the iteration step, and the Project Control List. The initialization step creates a base version of the system. The goal for this initial implementation is to create a product to which the user can react. It should offer a sampling of the key aspects of the problem and provide a solution that is simple enough to understand and implement easily. To guide the iteration process, a project control list is created that contains a record of all tasks that need to be performed. It includes such items as new features to be implemented and areas of redesign of the existing solution. The control list is constantly being revised as a result of the analysis phase.

The iteration involves the redesign and implementation of iteration is to be simple, straightforward, and modular, supporting redesign at that stage or as a task added to the project control list. The level of design detail is not dictated by the iterative approach. In a light-weight iterative project the code may represent the major source of documentation of the system; however, in a critical iterative project a formal Software Design Document may be used. The analysis of an iteration is based upon user feedback, and the program analysis facilities available. It involves analysis of the structure, modularity, usability, reliability, efficiency, & achievement of goals. The project control list is modified in light of the analysis results.


Iterative development.
Phases[edit]
Incremental development slices the system functionality into increments (portions). In each increment, a slice of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition.

Inception identifies project scope, requirements (functional and non-functional) and risks at a high level but in enough detail that work can be estimated.
Elaboration delivers a working architecture that mitigates the top risks and fulfills the non-functional requirements.
Construction incrementally fills-in the architecture with production-ready code produced from analysis, design, implementation, and testing of the functional requirements.
Transition delivers the system into the production operating environment.
Each of the phases may be divided into 1 or more iterations, which are usually time-boxed rather than feature-boxed. Architects and analysts work one iteration ahead of developers and testers to keep their work-product backlog full.

Usage[edit]
Many examples of early usage are provided in Craig Larman and Victor Basili's article "Iterative and Incremental Development: A Brief History",[3] with one of the earliest being NASA's 1960s Project Mercury.

Another is an "early and striking example of a major IID success is the very heart of NASA’s space shuttle software—the primary avionics software system, which FSD built from 1977 to 1980. The team applied IID in a series of 17 iterations over 31 months, averaging around eight weeks per iteration. Their motivation for avoiding the waterfall life cycle was that the shuttle program’s requirements changed during the software development process".

Some organizations, such as the US Department of Defense, have a preference for iterative methodologies, starting with MIL-STD-498 "clearly encouraging evolutionary acquisition and IID".

The current DoD Instruction 5000.2, released in 2000, states a clear preference for IID: "There are two approaches, evolutionary and single step [waterfall], to full capability. An evolutionary approach is preferred. … [In this] approach, the ultimate capability delivered to the user is divided into two or more blocks, with increasing increments of capability...software development shall follow an iterative spiral development process in which continually expanding software versions are based on learning from earlier development. It can also be done in phases .

Contrast with Waterfall development[edit]
Programming paradigms
Action
Agent-oriented
Aspect-oriented
Automata-based
Concurrent computing
Relativistic programming
Data-driven
Declarative (contrast: Imperative)
Constraint
Dataflow
Flow-based
Cell-oriented (spreadsheets)
Reactive
Functional
Functional logic
Logic
Abductive logic
Answer set
Constraint logic
Functional logic
Inductive logic
End-user programming
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level (contrast: Value-level)
Generic
Imperative (contrast: Declarative)
Procedural
Language-oriented
Natural language programming
Discipline-specific
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Reflective
Attribute-oriented
Homoiconic
Template
Policy-based
Non-structured (contrast: Structured)
Array
Nondeterministic
Parallel computing
Process-oriented
Point-free style
Concatenative
Semantic
Structured (contrast: Non-structured)
Block-structured
Modular (contrast: Monolithic)
Object-oriented (OOP)
By separation of concerns:
Aspect-oriented
Role-oriented
Subject-oriented
Class-based
Prototype-based
Recursive
Value-level (contrast: Function-level)
Probabilistic
Concept
v t e
Waterfall development completes the project-wide work-products of each discipline in one step before moving on to the next discipline in the next step. Business value is delivered all at once, and only at the very end of the project. Backtracking is possible in an iterative approach.

Implementation guidelines[edit]
Guidelines that drive the implementation and analysis include:

Any difficulty in design, coding and testing a modification should signal the need for redesign or re-coding.
Modifications should fit easily into isolated and easy-to-find modules. If they do not, some redesign is possibly needed.
Modifications to tables should be especially easy to make. If any table modification is not quickly and easily done, redesign is indicated.
Modifications should become easier to make as the iterations progress. If they are not, there is a basic problem such as a design flaw or a proliferation of patches.
Patches should normally be allowed to exist for only one or two iterations. Patches may be necessary to avoid redesigning during an implementation phase.
The existing implementation should be analyzed frequently to determine how well it measures up to project goals.
Program analysis facilities should be used whenever available to aid in the analysis of partial implementations.
User reaction should be solicited and analyzed for indications of deficiencies in the current implementation.
See also[edit]
Incremental build model
Rapid application development
Dynamic Systems Development Method
Extreme Programming
Continuous integration
Kaizen
Rational Unified Process
Unified Process
Microsoft Solutions Framework
Interaction Design
OpenUP/Basic
Object-oriented analysis and design
Goal-Driven Software Development Process
Spiral model
Notes[edit]
Jump up ^ Larman, Craig (June 2003). "Iterative and Incremental Development: A Brief History". Computer 36 (6): 47–56. doi:10.1109/MC.2003.1204375. ISSN 0018-9162. "We were doing incremental development as early as 1957, in Los Angeles, under the direction of Bernie Dimsdale [at IBM's ServiceBureau Corporation]. He was a colleague of John von Neumann, s
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ผลการพัฒนาและเพิ่มขึ้น จากวิกิพีเดีย สารานุกรมเสรี และเพิ่มการพัฒนา
ซ้ำคือการรวมกันของทั้งสองวิธีการออกแบบและสร้างรูปแบบหรือวิธีการที่เพิ่มขึ้นของการพัฒนาซอฟต์แวร์ การรวมกันของยืนยาว [ 1 ] และได้แพร่หลายแนะนำสำหรับความพยายามในการพัฒนาขนาดใหญ่ ตัวอย่างเช่น , 1985 dod-std-2167 [ 2 ] กล่าวถึง ( ในส่วนของ )" ระหว่างการพัฒนาซอฟต์แวร์ มากกว่าอย่างหนึ่งของการพัฒนาซอฟต์แวร์รอบอาจจะอยู่ในความคืบหน้าในเวลาเดียวกัน " และ " กระบวนการนี้อาจจะอธิบายเป็น ' วิวัฒนาการ ' หรือ ' ' การเพิ่มวิธีการสร้าง " ความสัมพันธ์ระหว่างการทำซ้ำและเพิ่มจะถูกกำหนดโดยรวมวิธีการพัฒนาซอฟแวร์ และกระบวนการพัฒนาซอฟต์แวร์แน่นอนจำนวนและธรรมชาติของเฉพาะเพิ่มสร้างและสิ่งที่เป็นซ้ำจะเป็นเฉพาะแต่ละบุคคล การพัฒนาความพยายาม




ตัวแบบการพัฒนากระบวนการพัฒนาซอฟต์แวร์กิจกรรมหลัก
ข้อกำหนดของสถาปัตยกรรมการออกแบบก่อสร้าง การทดสอบ การดีบักวิธีการบำรุงรักษาการใช้งาน

ตกรุ่นต้นแบบแบบจำลองการเพิ่มของเกลียวแบบ dsdm แรดขึ้น XP เปรียวยันแบบ Dual วี TDD bdd FDD DDD MDD
สนับสนุนวินัย
การกำหนดค่าการจัดการเอกสารซอฟต์แวร์ระบบประกันคุณภาพ ( SQA ) โครงการการจัดการผู้ใช้ประสบการณ์

รวบรวมเครื่องมือดีบักนักวิเคราะห์ออกแบบ GUI แบบ IDE สร้างระบบอัตโนมัติ
v
T Eซ้ำและการพัฒนาที่เพิ่มขึ้นเป็นส่วนสําคัญของการแก้ไขตกรุ่น การรวมกระบวนการ จัดโปรแกรมและโดยทั่วไปต่างๆว่องไวพัฒนาซอฟต์แวร์กรอบ

มันเป็นไปตามกระบวนการที่คล้ายกับแผนการตรวจสอบทำรอบของการปรับปรุงกระบวนการทางธุรกิจ เนื้อหา [ ซ่อน ]




เฟส 1 ภาพรวม 1.1 1.2 1.3 ใช้
ตรงกันข้ามกับน้ำตกพัฒนา
14 แนวทางการดําเนินงาน
2
3
4 ดูหมายเหตุอ้างอิง
ภาพรวม [ แก้ไข ]

รุ่นที่เรียบง่ายของรอบการทำซ้ำโดยทั่วไปในการจัดการโครงการ
แนวคิดพื้นฐานที่อยู่เบื้องหลังวิธีการนี้เพื่อพัฒนาระบบผ่านอีกรอบ ( ซ้ำ ) และในส่วนเล็ก ๆที่เวลา ( เพิ่ม )ช่วยให้นักพัฒนาซอฟต์แวร์เพื่อใช้ประโยชน์จากสิ่งที่ได้เรียนรู้ในการพัฒนาชิ้นส่วนหรือรุ่นก่อนหน้าของระบบ การเรียนรู้มาจากทั้งการพัฒนาและการใช้งานของระบบที่เป็นไปได้ขั้นตอนสำคัญในกระบวนการเริ่มต้นด้วยใช้งานง่ายของส่วนหนึ่งของซอฟต์แวร์และความต้องการพัฒนารุ่นซ้ำเพิ่มจนเต็มระบบ คือใช้ในแต่ละซ้ำ ดัดแปลง ออกแบบ สร้าง และความสามารถในการทำงานใหม่จะถูกเพิ่ม

ขั้นตอนตัวเองประกอบด้วยการเริ่มต้นขั้นตอนการทำซ้ำขั้นตอนและการควบคุมโครงการ รายการ ขั้นตอนในการเริ่มต้นสร้างรุ่นฐานของระบบ เป้าหมายสำหรับการเริ่มต้นนี้คือการสร้างผลิตภัณฑ์ที่ผู้ใช้สามารถตอบสนองมันควรมีตัวอย่างของประเด็นหลักของปัญหา และให้บริการโซลูชั่นที่ง่ายพอที่จะเข้าใจและใช้ง่าย คู่มือขั้นตอนการทำซ้ำ , โครงการควบคุมรายการถูกสร้างขึ้นมีประวัติของงานที่ต้องปฏิบัติ ซึ่งจะรวมถึงรายการเช่นคุณสมบัติใหม่ใช้พื้นที่และออกแบบโซลูชั่นที่มีอยู่รายการการควบคุมอย่างต่อเนื่องแก้ไขผลของการวิเคราะห์เฟส

ซ้ำที่เกี่ยวข้องกับการออกแบบและการดำเนินงานของการเป็นที่ง่ายตรงไปตรงมาและโมดูลที่สนับสนุนการออกแบบในขั้นตอนหรืองานเพิ่มให้กับโครงการควบคุมรายการ ระดับของรายละเอียดการออกแบบไม่ได้เป็น dictated โดยวิธีการซ้ำในน้ำหนักเบาของโครงการรหัสอาจเป็นตัวแทนของแหล่งที่มาของเอกสารของระบบ อย่างไรก็ตาม ในวิกฤตซ้ำโครงการอย่างเป็นทางการซอฟต์แวร์การออกแบบเอกสารอาจจะใช้ การวิเคราะห์ซ้ำตามความคิดเห็นของผู้ใช้และโปรแกรมการวิเคราะห์เครื่องพร้อมใช้งาน มันเกี่ยวข้องกับการวิเคราะห์โครงสร้าง รูปแบบ การใช้งาน ความน่าเชื่อถือ ประสิทธิภาพ&ผลสัมฤทธิ์ของเป้าหมาย โครงการควบคุมรายการดัดแปลงในแง่ของการวิเคราะห์ผล การพัฒนาซ้ำ

.
) [ แก้ไข ]
เพิ่มพัฒนาระบบการทำงานให้เป็นชิ้นน้อย ( บางส่วน ) ในแต่ละการ , ชิ้นของฟังก์ชันจะถูกส่งผ่านข้ามงานวินัย จากความต้องการในการใช้งาน .รวมกระบวนการกลุ่มน้อย / ซ้ำออกเป็นระยะ : ก่อตั้ง , คู่มือ , ก่อสร้าง , และการเปลี่ยนแปลง

ที่มาระบุขอบเขตของโครงการ ความต้องการ ( การทำงานและไม่ทำงาน ) และความเสี่ยงในระดับสูง แต่ในรายละเอียดเพียงพอที่สามารถประมาณ รายละเอียดส่งงานสถาปัตยกรรม
ที่ช่วยลดความเสี่ยงสูงสุดและตอบสนองโนน
หน้าที่ความต้องการการก่อสร้างแบบเพิ่มหน่วยเติมในสถาปัตยกรรมกับการผลิตพร้อมรหัส ผลิตจาก การวิเคราะห์ การออกแบบ ติดตั้ง และทดสอบความต้องการการทำงาน .
เปลี่ยนให้ระบบในการผลิตงานสิ่งแวดล้อม .
แต่ละขั้นตอนอาจแบ่งเป็น 2 หรือมากกว่าการทำซ้ำซึ่งมักจะมีเวลามากกว่า มีกล่องบรรจุกล่อง .สถาปนิกและนักวิเคราะห์งานอย่างหนึ่งข้างหน้าของนักพัฒนาและทดสอบเพื่อให้ผลิตภัณฑ์ที่ค้างงานเต็ม [ การแก้ไข ]


หลายตัวอย่างของการใช้ต้นไว้ในเครก larman และวิคเตอร์ basili บทความ " ของการพัฒนาและเพิ่ม : ประวัติศาสตร์ " ย่อ , [ 3 ] กับหนึ่งเก่าถูกนาซา 1960 โครงการเมอร์คิวรี .

อื่นเป็น " แรกและตัวอย่างที่โดดเด่นของสาขาเปลือกให้เปิดความสำเร็จเป็นหัวใจของ NASA ของกระสวยอวกาศโปรแกรมหลักระบบ Avionics ซึ่ง FSD สร้างขึ้นระหว่างปี 1980 ทีมที่ใช้เปลือกให้เปิดในชุดของ 17 รอบกว่า 31 เดือน เฉลี่ยประมาณแปดสัปดาห์ต่อซ้ำ .แรงจูงใจของพวกเขาเพื่อหลีกเลี่ยงน้ำตกวงจรชีวิตที่ความต้องการรับส่งโปรแกรมเปลี่ยนไปในระหว่างกระบวนการพัฒนาซอฟต์แวร์

บางองค์กร เช่น กระทรวงกลาโหมสหรัฐฯ มีความชอบของวิธีการเริ่มต้นด้วย mil-std-498 " อย่างชัดเจน และส่งเสริมการวิวัฒนาการเปลือกให้เปิด "

ปัจจุบันการเรียนการสอน 5000.2 ดอดออกใน 2000 ,สหรัฐอเมริกาการล้างเปลือกให้เปิด " มี สองวิธี และขั้นตอน [ วิวัฒนาการ ] น้ำตกเดียวเพื่อความสามารถเต็ม วิธีการวิวัฒนาการเป็นที่ต้องการ . . . . . . . [ โดย ] , ความสามารถสูงสุดส่งไปยังผู้ใช้แบ่งออกเป็นสองหรือมากกว่าบล็อกตามการเพิ่มขึ้นของความสามารถ . . . . . . .การพัฒนาซอฟต์แวร์ให้เป็นไปตามกระบวนการของการพัฒนาเกลียวที่ขยายอย่างต่อเนื่องรุ่นซอฟต์แวร์จะขึ้นอยู่กับการเรียนรู้จากการพัฒนาก่อนหน้านี้ นอกจากนี้ยังสามารถทำในเฟส

ตรงกันข้ามกับน้ำตกพัฒนา [ แก้ไข ]


เจ้าหน้าที่ไทยทาวน์การมุ่งเน้นด้านเชิง



ตามสภาพแสงจำกัดคอมพิวเตอร์โปรแกรม

ข้อมูลขับเคลื่อนคำประกาศ ( ความคมชัด : ขวาง )



เซลล์ข้อมูลการไหลตามแนว ( สเปรดชีต )
3



หน้าที่การทำงานตรรกะตรรกะตรรกะชุด

ตอบ abductive ตรรกะข้อจำกัดการทำงานตรรกะตรรกะเชิงอุปนัย




ผู้ใช้โปรแกรมเหตุการณ์ขับเคลื่อนบริการเชิง

เวลาขับเน้นคุณลักษณะที่มุ่งเน้นการแสดงออก

ระดับ ฟังก์ชัน ( ความคมชัดระดับค่า )

( ขวางทั่วไปความคมชัด : คำประกาศ )
ภาษาเชิงกระบวนการ



ธรรมชาติภาษาวินัยเฉพาะโดเมนเชิงไวยากรณ์ dialecting





ตั้งใจโกปาเดลเรย์อัตโนมัติคุณลักษณะแบบสะท้อนแสง




homoiconic แม่แบบนโยบายไม่ตามโครงสร้าง ( ความคมชัด : โครงสร้างอาร์เรย์

)
nondeterministic ขนานคอมพิวเตอร์

เน้นกระบวนการจุดฟรีสไตล์ concatenative


ความหมาย โครงสร้าง ( ความคมชัด : ไม่มีโครงสร้าง )
บล็อกโครงสร้าง ( ความคมชัด : เสาหิน
modular เชิงวัตถุ ( OOP )
)
:
โดยแยกจากความกังวลด้านมุ่งเน้นบทบาทเชิงวิชาเรียนตามแนว




ค่าระดับต้นแบบใช้ recursive ( ความคมชัดระดับฟังก์ชันความน่าจะเป็น )


V E
t แนวคิดการพัฒนาน้ำตกเสร็จสมบูรณ์โครงการกว้าง ผลิตภัณฑ์งานของแต่ละสาขาในขั้นตอนเดียวก่อนจะย้ายไปที่วินัยต่อไปในขั้นตอนต่อไป มูลค่าทางธุรกิจจะถูกส่งทันที และเพียงที่ส่วนท้ายสุดของโครงการ ย้อนรอยเป็นไปในแนวทางซ้ำ

แนวทางการดําเนินงาน [ แก้ไข ]
แนวทางการขับการใช้และการวิเคราะห์รวม :

ความยากลำบากในการออกแบบ , การเขียนโปรแกรมและการทดสอบการปรับเปลี่ยนควรส่งสัญญาณต้องออกแบบหรือการเขียนโปรแกรม Re .
การปรับเปลี่ยนควรพอดีกับที่แยกและง่ายต่อการค้นหาโมดูล ถ้าพวกเขาไม่ บางแบบอาจจะต้องการ
ปรับเปลี่ยนตารางจะง่ายโดยเฉพาะเพื่อให้ ถ้าโต๊ะไม่ปรับเปลี่ยนได้อย่างรวดเร็วและได้อย่างง่ายดายออกแบบ
ระบุการแก้ไขก็ง่ายที่จะทำให้เป็นซ้ำและความคืบหน้า ถ้าพวกเขาจะไม่ มีปัญหาพื้นฐาน เช่น การออกแบบข้อบกพร่องหรือการงอกของแพทช์ .
แพทช์ปกติควรได้รับอนุญาตให้มีได้เพียงหนึ่งหรือสองรอบ . แพทช์อาจจำเป็นต้องหลีกเลี่ยงการเปลี่ยนแปลงในระหว่างขั้นตอนการใช้งาน .
การดำเนินงานที่มีอยู่ควรจะใช้บ่อยเพื่อตรวจสอบวิธีการที่ดีมันมาตรการขึ้นเพื่อเป้าหมายโครงการ
เครื่องวิเคราะห์โปรแกรมควรจะใช้เมื่อใดก็ตามที่พร้อมใช้งานเพื่อช่วยในการวิเคราะห์การดำเนินงานบางส่วน
ปฏิกิริยาผู้ใช้ควรร้องขอและวิเคราะห์ตัวชี้วัดของข้อบกพร่องในการใช้งานปัจจุบัน .
ดู [ แก้ไข ]

เพิ่มสร้างโมเดลการพัฒนาโปรแกรมรวดเร็ววิธีพัฒนาระบบแบบไดนามิกมาก




โปรแกรมบูรณาการอย่างต่อเนื่อง Kaizen การรวมกระบวนการกระบวนการ

รวม Microsoft โซลูชั่นการออกแบบปฏิสัมพันธ์กรอบ

โอเพ่น พ / การวิเคราะห์และออกแบบเชิงวัตถุขั้นพื้นฐาน

เป้าหมายขับเคลื่อนกระบวนการพัฒนาซอฟต์แวร์แบบเกลียวโน๊ต

[ แก้ไข ]
กระโดดขึ้น
larman เครก ( มิถุนายน 2546 ) " วิธีการพัฒนาและเพิ่ม :ประวัติโดยย่อ " คอมพิวเตอร์ 36 ( 6 ) : 47 - 56 ดอย : 10.1109/mc.2003.1204375 . ชื่อ 0018-9162 ” เรากำลังพัฒนาเพิ่มขึ้นเร็ว 1957 ในลอส แองเจลิส ภายใต้ทิศทางของ เบอร์นี่ dimsdale [ ที่ไอบีเอ็ม บริษัท servicebureau ] เขาถูกเพื่อนร่วมงานของจอห์น ฟอน นอยมันน์ ,
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2026 I Love Translation. All reserved.

E-mail: