The art of effective and efficient software development has long depen การแปล - The art of effective and efficient software development has long depen ไทย วิธีการพูด

The art of effective and efficient

The art of effective and efficient software development has long depended on programmers being able to sort through pages of program specifications to assemble a set of procedural elements which herald data and other resources of the computer and deliver solutions to the user in a timely manner.[1] While developing software, a programmer must select an appropriate combination of algorithms and data structures that facilitate the delivery of a software solution that addresses the wants and needs of the end user within the constraints of time, cost and available computing power. However, when the technical specifications fail to convey the full meaning of the end user requirements, misunderstandings will arise between the end-user and the program developer and will take on the form of output errors, unwanted features and awkward user interfaces.
Because the cost of correcting a mistake increases exponentially as a project progresses, software development teams attempt to take steps early in a project to reduce and prevent errors. By including end users throughout the software development process, developers gain useful insights into the nuances of the problem domain which are not readily apparent to non-users. End user involvement also helps to reduce the number of errors in the final product. Input from end users provide a qualitative and quantitative basis for measuring the
user friendliness and ease of use of the software. In-house software developers have even noticed that end-user involvement even helps to encourage a sense of ownership of the products developed which helps to promote acceptance and adoption of the software produced. However, despite these obvious benefits, end-user involvement in software development projects has been fairly limited.
In most cases, language is a barrier to communication between end users and software developers. While these two groups of people may share a common language, their professional training, technical jargon and tools of their respective trades impede free exchange of ideas. Software engineers often use UML and CASE tools to describe the solutions they are attempting to construct. However, the meaning of the output from these tools is not always obvious and requires intensive study to be able to determine whether the concepts captured truly meet the full requirements of the end-user.

For example, the requirements of a feature for a student calendar program that monitors the risk of going to see a movie could be depicted in an UML Use Case Diagram as shown in Figure 1. The arrows and the boxes convey useful information to the programmer about how homework and other responsibilities effect real-world decisions. However, the intended behaviour of this system is not easily discerned by the end user.
In recent years, practitioners of agile programming have developed and tested various techniques to encourage end user participation throughout the software development cycle. The object has been to develop a tool that can capture the requirements in a simple manner that could be developed, shared, and understood by both end users and programmers. In addition, attempts were made to develop the means to parse the description of the requirements so that the computer could automatically test and verify these specifications. Cucumber is one such product that has emerged from this work.[2]
The development of Cucumber has been driven by the need for better tools to describe the expected behaviour of software. It started when a Java tool called JBehave[3] which was rewritten in Ruby in 2007 by Dan North and released under the name RBehave.[4] This system was further revised by Dan North and published as Story Runner which ran under the RSpec test framework.[5] However, this system required all specifications to be written in the Ruby programming language. David Chelimsky and others added plain text support[6]. In April 2008, Aslak Hellesøy started the Cucumber project to address the internal design flaws and usability problems of the RSpec Story Runner.[7] Since then, over 160,000 developers have further developed and enhanced Cucumber as an open source software development tool.[2]
Cucumber was designed to allow software development teams to describe the intended behaviour of the software as set of specifications.[8] These specifications are recorded as easy-to-read, natural language descriptions which also convey the business value of the features being developed. The resulting text file serves as documentation which can be shared between end user and developer. Cucumber also can parse these descriptions to automate testing of the software.[9]
Code Example 1 illustrates the same feature as the UML Use Case shown in Figure 1. In this format, the expected behaviour of this feature is easier to discern and understand. The underlying business logic has been recorded at the top in the format of As a [role],
I want [feature] so that [benefit]. The various scenarios describe the expected behaviour in various situations. While programmers may generally prefer a more aggressive battle strategy, this description faithfully records the preferences of an end user.
Cucumber has become very popular within the Agile community. Lawrence Sinclair, the CEO of East Agile Limited, explains the reason behind Cucumber's success in this way:
Cucumber puts everyone on the same page from the CEO, Ruby developers, marketing people, lawyers, business analysts, lawyers to diverse technical team members such as DBAs, front end developers, system administrators. Everyone can read, write, and understand exactly what is going on.[9]
However, as with any programming tool, it is possible to misuse Cucumber on projects in a way that hinders end user understanding. As shown in Code Example 2, Cucumber can handle highly detailed conditions and contexts. However, too many specific details can make a story hard to understand and link the specification to non-essential details, such as button names and field labels, which would change whenever the web page is revised or translated into another language. In such cases, the overall behaviour becomes obscured by the details, resulting in both loss of meaning for the end user and extra work for the programmer.[10] This style of Cucumber use is not encouraged, especially because it is human nature to avoid using tools that introduce extra effort without providing significant benefits.
Code Example 3 represents an improvement as the focus has shifted from a detailed list of artifacts to a description of the required behaviour. This gives programmers and artists more freedom to explore various alternatives, especially when exact details are not essential for the behaviour. This shift towards Behaviour Driven Development (BDD) has

been observed in both agile and traditional software development committees because it provides the means by which requested features can be prioritized and tested. This has resulted in greater user satisfaction with shipped software as more effort is given to the development of high value features.

Although the use of Cucumber in Thailand has been mainly to develop English specifications, it has long been felt by the authors that good Cucumber descriptions should be clear enough to be easily translated into Thai text that can be read and understood by nonprogrammers in Thailand. For example, Code Example 4 is a free Thai translation of the specifications given in Code Example 1. Even as a translation, the description of the behavior has been conveyed clearly in a manner that a Thai student would understand enough
to be able to suggest changes.
The clarity of this Thai description of program behaviour suggests new opportunities for including end users in Thailand on software development teams. Because most software development tools were written in English, and are fairly complex to use, using a Thai version of Cucumber to describe and test software would make it possible for end users to share their requirements in Thai in a way that would also automate software testing.
The Gherkin language on which Cucumber is based has been translated and used in over forty languages of the world. However, there has been no Thai interface for this system. In this paper, we will explore what was required to adapt Cucumber for use as a software development tool in the Thai language. It was our aim to develop a tool that facilitates communication between Thai end users and software developers. In keeping with the tradition of other language translations of Cucumber, we have named the product of our work Daanggwa (i.e., the Thai word for Cucumber).

0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
ศิลปะของการพัฒนาซอฟต์แวร์ที่มีประสิทธิภาพ และได้นานขึ้นอยู่กับโปรแกรมเมอร์จะเรียงผ่านหน้าของข้อกำหนดของโปรแกรมรวบรวมชุดขององค์ประกอบขั้นตอนที่เฮรัลด์ข้อมูลและทรัพยากรอื่น ๆ ของคอมพิวเตอร์ และส่งมอบโซลูชั่นสำหรับผู้ใช้ในเวลาเหมาะสม[1] ในขณะที่การพัฒนาซอฟต์แวร์ โปรแกรมเมอร์ต้องเลือกชุดที่เหมาะสมของโครงสร้างข้อมูลและอัลกอริทึมที่อำนวยความสะดวกในการส่งมอบโซลูชั่นซอฟต์แวร์ที่อยู่ต้องการและความต้องการของผู้ใช้ภายในข้อจำกัดของเวลา ต้นทุน และกำลังไฟใช้งาน อย่างไรก็ตาม เมื่อเทคนิคการล้มเหลวในการสื่อความหมายเต็มของความต้องการของผู้ใช้ เกิดความเข้าใจผิดจะเกิดขึ้นระหว่างผู้ใช้และผู้พัฒนาโปรแกรม และจะใช้ในรูปแบบของข้อผิดพลาดผลลัพธ์ คุณลักษณะที่ไม่พึงประสงค์ และอินเทอร์เฟสผู้ใช้ไม่สะดวก เนื่องจากต้นทุนของการแก้ไขความผิดพลาดเพิ่มเป็นทวีคูณเมื่อขณะที่โครงการดำเนิน ทีมพัฒนาซอฟต์แวร์พยายามทำตามขั้นตอนต้นในโครงการเพื่อลด และป้องกันความผิดพลาด โดยรวมผู้ใช้ตลอดกระบวนการพัฒนาซอฟต์แวร์ นักพัฒนาได้รับข้อมูลที่เป็นประโยชน์เป็นความแตกต่างของโดเมนของปัญหาซึ่งไม่ใช่ประเด็นไม่ใช่ผู้ใช้ ผู้มีส่วนร่วมยังช่วยในการลดจำนวนของข้อผิดพลาดในผลิตภัณฑ์สุดท้าย ป้อนข้อมูลจากผู้ให้เกณฑ์เชิงคุณภาพ และเชิงปริมาณสำหรับการวัดการผู้เป็นมิตรและความง่ายในการใช้ซอฟต์แวร์ นักพัฒนาซอฟต์แวร์ในบ้านแม้กระทั่งได้สังเกตเห็นว่า ผู้ใช้มีส่วนร่วมแม้แต่ช่วยส่งเสริมความรู้สึกเป็นเจ้าของผลิตภัณฑ์พัฒนาผลิตซึ่งช่วยส่งเสริมการยอมรับและยอมรับซอฟต์แวร์ อย่างไรก็ตาม แม้ มีประโยชน์เหล่านี้ชัดเจน ผู้มีส่วนร่วมในโครงการพัฒนาซอฟต์แวร์ได้ค่อนข้างจำกัดในกรณีส่วนใหญ่ ภาษาคือ อุปสรรคของการสื่อสารระหว่างผู้ใช้และนักพัฒนาซอฟต์แวร์ ในขณะที่กลุ่มคนเหล่านี้สองอาจใช้ภาษาทั่วไป นักฝึกอบรมมืออาชีพ ศัพท์แสงทางเทคนิค และเครื่องมือของการเทรดแต่ละถ่วงฟรีแลกเปลี่ยนความคิด วิศวกรซอฟต์แวร์มักจะใช้ UML และกรณีเครื่องมืออธิบายแก้ปัญหาพวกเขาพยายามที่จะสร้าง อย่างไรก็ตาม ความหมายของการแสดงผลจากเครื่องมือเหล่านี้มักจะไม่ชัดเจน และต้องศึกษาแบบเร่งรัดเพื่อให้สามารถกำหนดว่า แนวความคิดที่จับเต็มความต้องการของผู้ใช้อย่างแท้จริงตรงกับตัวอย่าง ข้อกำหนดของคุณลักษณะในโปรแกรมปฏิทินนักเรียนที่ตรวจสอบความเสี่ยงของการไปดูหนัง อาจจะแสดงในไดอะแกรม UML ใช้กรณีดังที่แสดงในรูปที่ 1 ลูกศรและกล่องถ่ายทอดข้อมูลกับโปรแกรมเมอร์ที่เกี่ยวกับว่าการบ้านและความรับผิดชอบอื่น ๆ มีผลตัดสินใจจริง อย่างไรก็ตาม พฤติกรรมวัตถุประสงค์ของระบบนี้คือไม่ได้เข้าใจ โดยผู้ใช้ในปีที่ผ่านมา ผู้เขียนโปรแกรมคล่องตัวได้พัฒนา และทดสอบเทคนิคต่าง ๆ เพื่อส่งเสริมให้ผู้มีส่วนร่วมตลอดทั้งวงจรการพัฒนาซอฟต์แวร์ วัตถุได้พัฒนาเครื่องมือที่สามารถจับภาพความต้องการอย่างง่าย ๆ ที่สามารถพัฒนาขึ้น ร่วม และเข้าใจทั้งผู้ใช้และโปรแกรมเมอร์ ความพยายามได้ทำการพัฒนาวิธีการแยกรายละเอียดของความต้องการเพื่อให้คอมพิวเตอร์สามารถทดสอบ และตรวจสอบข้อกำหนดเหล่านี้โดยอัตโนมัติ แตงกวาดังกล่าวผลิตภัณฑ์หนึ่งที่ได้เกิดจากการทำงานนี้ได้[2]พัฒนาของแตงกวาได้รับการขับเคลื่อน โดยจำเป็นสำหรับเครื่องมือที่ดีเพื่ออธิบายพฤติกรรมที่คาดหวังของซอฟแวร์ มันเริ่มต้นเมื่อเครื่องมือชวาที่เรียกว่า JBehave [3] ซึ่งจิตในรูในปี 2007 โดย Dan เหนือ และออกภายใต้ชื่อ RBehave[4] ระบบนี้ถูกแก้ไข โดย Dan เหนือเพิ่มเติม และประกาศเป็นเรื่องนักวิ่งที่วิ่งใต้กรอบทดสอบ RSpec[5] อย่างไรก็ตาม ระบบนี้ต้องการรายละเอียดทั้งหมดจะถูกเขียนในภาษารูบี้ David Chelimsky และอื่น ๆ เพิ่มล้วนสนับสนุน [6] ในเดือน 2008 เมษายน Aslak Hellesøy เริ่มโครงการแตงกวาเพื่อแก้ไขข้อบกพร่องในการออกแบบภายในและปัญหาการใช้งานของ RSpec เรื่องรองชนะเลิศอันดับ[7] ตั้งแต่นั้น นักพัฒนากว่า 160,000 ได้เพิ่มเติมพัฒนา และเพิ่มแตงกวาเป็นเครื่องมือพัฒนาซอฟต์แวร์การเปิดแหล่งที่มา[2]แตงกวาถูกออกแบบให้ทีมงานพัฒนาซอฟต์แวร์เพื่ออธิบายพฤติกรรมตั้งใจซอฟต์แวร์เป็นชุดของข้อกำหนด[8] มีบันทึกข้อมูลจำเพาะเหล่านี้เป็นคำอธิบายภาษาง่าย ๆ อ่าน ซึ่งยัง ถ่ายทอดธุรกิจค่าของได้รับการพัฒนา แฟ้มข้อความได้ทำหน้าที่เป็นเอกสารที่สามารถใช้ร่วมกันระหว่างผู้ใช้และนักพัฒนา แตงกวายังสามารถแยกแยะคำอธิบายเหล่านี้จะทำการทดสอบซอฟต์แวร์[9]รหัสตัวอย่าง 1 แสดงลักษณะการทำงานเดียวกันแต่กรณีใช้ UML แสดงในรูปที่ 1 พฤติกรรมที่คาดไว้ของคุณลักษณะนี้จะไม่สามารถแยกแยะ และทำความเข้าใจในรูปแบบนี้ ตรรกะทางธุรกิจพื้นฐานได้บันทึกไว้ด้านบนในรูปแบบของเป็น [บทบาท],อยาก [คุณลักษณะ] ดังนั้น [สวัสดิการ] สถานการณ์ต่าง ๆ อธิบายพฤติกรรมที่คาดหวังในสถานการณ์ต่าง ๆ ขณะที่โปรแกรมเมอร์โดยทั่วไปอาจต้องต่อสู้กลยุทธ์เชิงรุกมากขึ้น คำอธิบายนี้จะบันทึกการกำหนดลักษณะผู้ใช้ faithfullyแตงกวาได้กลายเป็นนิยมมากในชุมชนคล่องตัว ลอว์เรนซ์นแคลร์ การ CEO ของตะวันออกคล่องตัว จำกัด อธิบายเหตุผลอยู่เบื้องหลังความสำเร็จของแตงกวาด้วยวิธีนี้:แตงกวาทำให้ทุกคนในหน้าเดียวกันจากคณะกรรมการบริหาร ทับทิมนักพัฒนา ตลาดคน ทนายความ นักวิเคราะห์ธุรกิจ ทนายความกับสมาชิกทีมงานด้านเทคนิคที่หลากหลายเช่น DBAs นักพัฒนาส่วนหน้า ผู้ดูแลระบบ ทุกคนสามารถอ่าน เขียน และเข้าใจว่าสิ่งที่เกิดขึ้น[9]อย่างไรก็ตาม ด้วยเครื่องมือการเขียนโปรแกรมใด ๆ มันสามารถได้นำแตงกวาในโครงการในลักษณะที่ผู้ใช้เข้าใจทำ ตามที่แสดงในรหัสตัวอย่าง 2 แตงกวาสามารถจัดการรายละเอียดสูงเงื่อนไขและบริบท อย่างไรก็ตาม รายละเอียดเฉพาะเจาะจงมากเกินไปสามารถทำเรื่องยากที่จะเข้าใจ และเชื่อมโยงข้อมูลจำเพาะรายละเอียดไม่สำคัญ ชื่อของปุ่มและป้ายชื่อเขตข้อมูล ซึ่งจะเปลี่ยนเมื่อใดก็ ตามที่หน้าเว็บจะปรับปรุง หรือแปลเป็นภาษาอื่น ในกรณี พฤติกรรมโดยรวมจะบดบัง โดยรายละเอียด ผลเสียของความหมายสำหรับผู้ใช้และเพิ่มเติมสำหรับโปรแกรมเมอร์ที่[10] ลักษณะการใช้แตงกวานี้เป็นการสนับสนุนให้ ไม่เพราะโดยธรรมชาติมนุษย์จะหลีกเลี่ยงการใช้เครื่องมือที่แนะนำเสริมแรงให้ประโยชน์อย่างยิ่งรหัสตัวอย่างที่ 3 แสดงการปรับปรุงเป็นโฟกัสได้เปลี่ยนจากรายการรายละเอียดของสิ่งประดิษฐ์ให้คำอธิบายพฤติกรรมจำเป็น ซึ่งทำให้โปรแกรมเมอร์และศิลปินอิสระเพิ่มเติมในการสำรวจทางเลือกต่าง ๆ โดยเฉพาะอย่างยิ่งเมื่อไม่มีรายละเอียดแน่นอนสิ่งจำเป็นสำหรับพฤติกรรม ต่อพฤติกรรมการขับเคลื่อนพัฒนา (BDD) กะนี้ได้ถูกตรวจสอบในคณะทั้งการพัฒนาซอฟต์แวร์แบบดั้งเดิม และคล่องตัวเนื่องจากมีวิธีการที่คุณลักษณะที่ร้องขอสามารถจัดลำดับความสำคัญ และทดสอบ นี้มีผลในความพึงพอใจผู้ใช้มากขึ้นกับซอฟต์แวร์การจัดส่งเป็นความพยายามเพิ่มเติมให้การพัฒนาของมูลค่าสูงแม้ว่าการใช้แตงกวาในประเทศไทยได้รับส่วนใหญ่จะ พัฒนาข้อกำหนดภาษาอังกฤษ มันได้นานรับความรู้สึก โดยผู้เขียนว่า แตงกวาคำอธิบายที่ดีควรจะชัดเจนพอที่จะแปลได้เป็นข้อความภาษาไทยที่สามารถอ่าน และเข้าใจ โดย nonprogrammers ในประเทศไทย ตัว รหัสตัวอย่าง 4 เป็นแปลไทยฟรีรายละเอียดที่กำหนดในโค้ดตัวอย่างที่ 1 เป็นการแปล คำอธิบายของลักษณะการทำงานมีการสื่อความหมายชัดเจนอย่างว่า นักเรียนไทยจะเข้าใจเพียงพอสามารถแนะนำการเปลี่ยนแปลงความชัดเจนของคำอธิบายไทยของพฤติกรรมโปรแกรมแนะนำโอกาสใหม่ ๆ สำหรับการรวมผู้ใช้ในประเทศไทยในทีมพัฒนาซอฟต์แวร์ เพราะเครื่องมือพัฒนาซอฟต์แวร์ส่วนใหญ่เขียนขึ้นในภาษาอังกฤษ และค่อนข้างซับซ้อนในการใช้ ใช้แตงกวารุ่นไทยอธิบาย และทดสอบซอฟต์แวร์จะช่วยให้ผู้ร่วมความต้องการของพวกเขาในไทยที่จะยังทำการทดสอบซอฟต์แวร์ภาษา Gherkin ซึ่งใช้แตงกวาได้รับการแปล และใช้ในกว่าสี่สิบของโลก อย่างไรก็ตาม มีอินเทอร์เฟซไม่ไทยสำหรับระบบนี้ ในเอกสารนี้ เราจะได้สิ่งที่ถูกต้องเพื่อปรับใช้แตงกวาสำหรับใช้เป็นเครื่องมือพัฒนาซอฟต์แวร์ในภาษาไทย เป้าหมายของเราในการพัฒนาเครื่องมือที่ช่วยสื่อสารระหว่างนักพัฒนาซอฟต์แวร์และผู้ใช้ไทย ได้ เพื่อประเพณีการแปลภาษาอื่น ๆ ของแตงกวา เราตั้งชื่อผลิตภัณฑ์ของงาน Daanggwa (เช่น ไทยคำสำหรับแตงกวา)
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
The art of effective and efficient software development has long depended on programmers being able to sort through pages of program specifications to assemble a set of procedural elements which herald data and other resources of the computer and deliver solutions to the user in a timely manner.[1] While developing software, a programmer must select an appropriate combination of algorithms and data structures that facilitate the delivery of a software solution that addresses the wants and needs of the end user within the constraints of time, cost and available computing power. However, when the technical specifications fail to convey the full meaning of the end user requirements, misunderstandings will arise between the end-user and the program developer and will take on the form of output errors, unwanted features and awkward user interfaces.
Because the cost of correcting a mistake increases exponentially as a project progresses, software development teams attempt to take steps early in a project to reduce and prevent errors. By including end users throughout the software development process, developers gain useful insights into the nuances of the problem domain which are not readily apparent to non-users. End user involvement also helps to reduce the number of errors in the final product. Input from end users provide a qualitative and quantitative basis for measuring the
user friendliness and ease of use of the software. In-house software developers have even noticed that end-user involvement even helps to encourage a sense of ownership of the products developed which helps to promote acceptance and adoption of the software produced. However, despite these obvious benefits, end-user involvement in software development projects has been fairly limited.
In most cases, language is a barrier to communication between end users and software developers. While these two groups of people may share a common language, their professional training, technical jargon and tools of their respective trades impede free exchange of ideas. Software engineers often use UML and CASE tools to describe the solutions they are attempting to construct. However, the meaning of the output from these tools is not always obvious and requires intensive study to be able to determine whether the concepts captured truly meet the full requirements of the end-user.

For example, the requirements of a feature for a student calendar program that monitors the risk of going to see a movie could be depicted in an UML Use Case Diagram as shown in Figure 1. The arrows and the boxes convey useful information to the programmer about how homework and other responsibilities effect real-world decisions. However, the intended behaviour of this system is not easily discerned by the end user.
In recent years, practitioners of agile programming have developed and tested various techniques to encourage end user participation throughout the software development cycle. The object has been to develop a tool that can capture the requirements in a simple manner that could be developed, shared, and understood by both end users and programmers. In addition, attempts were made to develop the means to parse the description of the requirements so that the computer could automatically test and verify these specifications. Cucumber is one such product that has emerged from this work.[2]
The development of Cucumber has been driven by the need for better tools to describe the expected behaviour of software. It started when a Java tool called JBehave[3] which was rewritten in Ruby in 2007 by Dan North and released under the name RBehave.[4] This system was further revised by Dan North and published as Story Runner which ran under the RSpec test framework.[5] However, this system required all specifications to be written in the Ruby programming language. David Chelimsky and others added plain text support[6]. In April 2008, Aslak Hellesøy started the Cucumber project to address the internal design flaws and usability problems of the RSpec Story Runner.[7] Since then, over 160,000 developers have further developed and enhanced Cucumber as an open source software development tool.[2]
Cucumber was designed to allow software development teams to describe the intended behaviour of the software as set of specifications.[8] These specifications are recorded as easy-to-read, natural language descriptions which also convey the business value of the features being developed. The resulting text file serves as documentation which can be shared between end user and developer. Cucumber also can parse these descriptions to automate testing of the software.[9]
Code Example 1 illustrates the same feature as the UML Use Case shown in Figure 1. In this format, the expected behaviour of this feature is easier to discern and understand. The underlying business logic has been recorded at the top in the format of As a [role],
I want [feature] so that [benefit]. The various scenarios describe the expected behaviour in various situations. While programmers may generally prefer a more aggressive battle strategy, this description faithfully records the preferences of an end user.
Cucumber has become very popular within the Agile community. Lawrence Sinclair, the CEO of East Agile Limited, explains the reason behind Cucumber's success in this way:
Cucumber puts everyone on the same page from the CEO, Ruby developers, marketing people, lawyers, business analysts, lawyers to diverse technical team members such as DBAs, front end developers, system administrators. Everyone can read, write, and understand exactly what is going on.[9]
However, as with any programming tool, it is possible to misuse Cucumber on projects in a way that hinders end user understanding. As shown in Code Example 2, Cucumber can handle highly detailed conditions and contexts. However, too many specific details can make a story hard to understand and link the specification to non-essential details, such as button names and field labels, which would change whenever the web page is revised or translated into another language. In such cases, the overall behaviour becomes obscured by the details, resulting in both loss of meaning for the end user and extra work for the programmer.[10] This style of Cucumber use is not encouraged, especially because it is human nature to avoid using tools that introduce extra effort without providing significant benefits.
Code Example 3 represents an improvement as the focus has shifted from a detailed list of artifacts to a description of the required behaviour. This gives programmers and artists more freedom to explore various alternatives, especially when exact details are not essential for the behaviour. This shift towards Behaviour Driven Development (BDD) has

been observed in both agile and traditional software development committees because it provides the means by which requested features can be prioritized and tested. This has resulted in greater user satisfaction with shipped software as more effort is given to the development of high value features.

Although the use of Cucumber in Thailand has been mainly to develop English specifications, it has long been felt by the authors that good Cucumber descriptions should be clear enough to be easily translated into Thai text that can be read and understood by nonprogrammers in Thailand. For example, Code Example 4 is a free Thai translation of the specifications given in Code Example 1. Even as a translation, the description of the behavior has been conveyed clearly in a manner that a Thai student would understand enough
to be able to suggest changes.
The clarity of this Thai description of program behaviour suggests new opportunities for including end users in Thailand on software development teams. Because most software development tools were written in English, and are fairly complex to use, using a Thai version of Cucumber to describe and test software would make it possible for end users to share their requirements in Thai in a way that would also automate software testing.
The Gherkin language on which Cucumber is based has been translated and used in over forty languages of the world. However, there has been no Thai interface for this system. In this paper, we will explore what was required to adapt Cucumber for use as a software development tool in the Thai language. It was our aim to develop a tool that facilitates communication between Thai end users and software developers. In keeping with the tradition of other language translations of Cucumber, we have named the product of our work Daanggwa (i.e., the Thai word for Cucumber).

การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ศิลปะของการพัฒนาซอฟต์แวร์ที่มีประสิทธิภาพและมีประสิทธิภาพได้นานขึ้นอยู่กับโปรแกรมเมอร์สามารถจัดเรียงหน้าของข้อมูลโปรแกรมจะรวบรวมเป็นชุดของกระบวนการองค์ประกอบซึ่งเกริ่นข้อมูลและทรัพยากรอื่น ๆของคอมพิวเตอร์และโซลูชั่นเพื่อผู้ใช้ในเวลาที่เหมาะสม . [ 1 ] ในขณะที่การพัฒนาซอฟต์แวร์โปรแกรมเมอร์ต้องเลือกชุดที่เหมาะสมของขั้นตอนวิธีและโครงสร้างข้อมูลที่อำนวยความสะดวกในการส่งมอบโซลูชั่นซอฟต์แวร์ที่อยู่ต้องการและความต้องการของผู้ใช้ในด้านเวลา ค่าใช้จ่าย และคอมพิวเตอร์พร้อม อย่างไรก็ตาม เมื่อข้อมูลทางเทคนิคไม่สื่อความหมายเต็มของผู้ใช้ความต้องการความเข้าใจผิดจะเกิดขึ้นระหว่างผู้ใช้และโปรแกรมนักพัฒนา และจะใช้ในรูปแบบของการส่งออกข้อผิดพลาด , คุณลักษณะที่ไม่พึงประสงค์และส่วนติดต่อผู้ใช้ที่กระอักกระอ่วน
เพราะต้นทุนของการแก้ไขข้อผิดพลาดเพิ่มชี้แจงเป็นการดําเนินโครงการ พัฒนาซอฟต์แวร์ ทีมพยายามที่จะใช้ขั้นตอนแรกในโครงการเพื่อลดและป้องกันข้อผิดพลาดโดยรวมถึงผู้ใช้ตลอดกระบวนการพัฒนาซอฟต์แวร์ , นักพัฒนาได้รับข้อมูลเชิงลึกที่เป็นประโยชน์ในความแตกต่างของปัญหาโดเมนที่ไม่พร้อมแจ้งให้ผู้ใช้ไม่ การมีส่วนร่วมของผู้ใช้ นอกจากนี้ยังช่วยลดจำนวนของข้อผิดพลาดในผลิตภัณฑ์สุดท้าย การป้อนข้อมูลจากผู้ใช้ให้มีคุณภาพและปริมาณพื้นฐานสำหรับการวัด
เป็นมิตรต่อผู้ใช้และใช้งานง่ายของซอฟต์แวร์ นักพัฒนาซอฟต์แวร์ในบ้านได้สังเกตเห็นว่า การมีส่วนร่วมของผู้ใช้จะช่วยกระตุ้นความรู้สึกของความเป็นเจ้าของของการพัฒนาผลิตภัณฑ์ ซึ่งจะช่วยส่งเสริมการยอมรับและการยอมรับของซอฟต์แวร์ที่ผลิต อย่างไรก็ตาม แม้ประโยชน์ที่ชัดเจนเหล่านี้ การมีส่วนร่วมของผู้ใช้ในการพัฒนาโครงการซอฟต์แวร์ที่ได้รับค่อนข้างจำกัด
ในกรณีส่วนใหญ่ , ภาษาเป็นอุปสรรคในการสื่อสารระหว่างผู้ใช้และนักพัฒนาซอฟต์แวร์ . ในขณะที่ทั้งสองกลุ่มของผู้คนอาจจะใช้ภาษาทั่วไป ฝึกอาชีพ ศัพท์แสงทางเทคนิคและเครื่องมือของการค้าของตน ทำให้ได้แลกเปลี่ยนความคิด . วิศวกรซอฟต์แวร์มักจะใช้เครื่องมือกรณี UML และอธิบายการแก้ปัญหาที่พวกเขากำลังพยายามที่จะสร้าง อย่างไรก็ตามคำแปล / ความหมาย : ผลผลิตจากเครื่องมือเหล่านี้ไม่ได้เสมอที่ชัดเจนและต้องศึกษาเพื่อให้สามารถตรวจสอบว่าแนวคิดจับอย่างแท้จริงตอบสนองความต้องการทั้งหมดของผู้ใช้ .

ตัวอย่างเช่นความต้องการคุณลักษณะสำหรับปฏิทินนักศึกษาโปรแกรมที่ตรวจสอบความเสี่ยงของการไปดูหนัง จะปรากฎใน แผนภาพกรณีใช้แผนภาพที่แสดงในรูปที่ 1ลูกศรและกล่องถ่ายทอดข้อมูลที่เป็นประโยชน์ให้กับโปรแกรมเมอร์ เรื่องการบ้าน และหน้าที่อื่นที่ผลจริงในการตัดสินใจ อย่างไรก็ตาม มีพฤติกรรมของระบบนี้จะไม่สามารถเข้าใจได้โดยผู้ใช้ .
ในปีล่าสุดปฏิบัติการเขียนโปรแกรม Agile ได้พัฒนาและทดสอบเทคนิคต่างๆเพื่อส่งเสริมการมีส่วนร่วมของผู้ใช้ตลอดวงจรการพัฒนาซอฟต์แวร์ . วัตถุที่ได้รับการ พัฒนาเครื่องมือที่สามารถจับความต้องการในลักษณะที่ง่ายที่จะพัฒนาร่วมกัน และเข้าใจ โดยทั้งผู้ใช้และโปรแกรมเมอร์ นอกจากนี้ความพยายามที่ได้ทำเพื่อพัฒนาวิธีการวิเคราะห์รายละเอียดของความต้องการเพื่อให้คอมพิวเตอร์สามารถโดยอัตโนมัติทดสอบและตรวจสอบคุณสมบัติเหล่านี้ แตงกวาเป็นหนึ่งในผลิตภัณฑ์ดังกล่าวที่ได้เกิดจากงานนี้ [ 2 ]
การพัฒนาแตงกวาได้รับการขับเคลื่อนโดยความต้องการสำหรับเครื่องมือที่ดีที่จะอธิบายพฤติกรรมที่คาดหวังของซอฟต์แวร์มันเริ่มต้นเมื่อเครื่องมือ Java เรียก jbehave [ 3 ] ซึ่งถูกเขียนในทับทิม 2007 โดยแดนเหนือ และปล่อยตัวภายใต้ชื่อ rbehave [ 4 ] ระบบนี้คือการปรับปรุงต่อไป โดยแดนเหนือและการเผยแพร่เรื่องราวนักวิ่งที่วิ่งตาม rspec ทดสอบกรอบ [ 5 ] อย่างไรก็ตาม ระบบนี้ใช้คุณสมบัติทั้งหมดเป็น ที่เขียนในภาษาการเขียนโปรแกรมทับทิมเดวิด chelimsky และอื่น ๆเพิ่มการสนับสนุนข้อความธรรมดา [ 6 ] ในเดือนเมษายน 2008 , aslak นรกขึ้น Y เริ่มแตงกวาโครงการที่อยู่ภายในการออกแบบข้อบกพร่องและปัญหาการใช้งานของ rspec เรื่องวิ่ง [ 7 ] ตั้งแต่นั้นมา กว่า 160 , 000 นักพัฒนาได้พัฒนาต่อไปและเพิ่มแตงกวาเป็นแหล่งเปิดซอฟต์แวร์เครื่องมือพัฒนา [ 2 ]
แตงกวาถูกออกแบบมาเพื่อช่วยให้ทีมงานพัฒนาซอฟต์แวร์อธิบายวัตถุประสงค์พฤติกรรมของซอฟต์แวร์เป็นชุดของข้อมูล [ 8 ] คุณสมบัติเหล่านี้จะถูกบันทึกเป็นภาษาอ่านง่าย อธิบายธรรมชาติซึ่งยังแสดงคุณค่าทางธุรกิจในคุณสมบัติที่ถูกพัฒนา ซึ่งเป็นแฟ้มข้อความเอกสารซึ่งสามารถใช้ร่วมกันระหว่างผู้ใช้และนักพัฒนาแตงกวายังสามารถแยกรายละเอียดเหล่านี้ได้โดยอัตโนมัติการทดสอบซอฟต์แวร์ [ 9 ]
โค้ดตัวอย่างที่ 1 แสดงให้เห็นถึงลักษณะเดียวกันเป็นแผนภาพกรณีใช้แสดงในรูปที่ 1 ในรูปแบบนี้ คาดว่าพฤติกรรมลักษณะนี้เป็นเรื่องง่ายที่จะแยกแยะและเข้าใจ ธุรกิจพื้นฐานตรรกะได้บันทึกไว้ด้านบนในรูปแบบเป็น [ บาท ] ,
ฉันต้องการ [ คุณลักษณะ ] ดังนั้น [ ประโยชน์ ]สถานการณ์ต่างๆ อธิบาย คาดว่าพฤติกรรมในสถานการณ์ต่างๆ ขณะที่โปรแกรมเมอร์อาจที่นิยมโดยทั่วไปกลยุทธ์ต่อสู้ ก้าวร้าวมากขึ้น รายละเอียดและบันทึกการตั้งค่าของผู้ใช้ .
แตงกวาได้กลายเป็นที่นิยมมากในชุมชนที่ว่องไว ลอว์เรนซ์ ซินแคลร์ , ซีอีโอของตะวันออก เปรียว จำกัด อธิบายถึงเหตุผลที่อยู่เบื้องหลังความสำเร็จของแตงกวาในวิธีนี้ :
แตงกวาใส่ทุกคนในหน้าเดียวกันจาก CEO ทับทิม , นักพัฒนา , การตลาด , บุคคล , ทนายความ , นักวิเคราะห์ธุรกิจ ทนายความสมาชิกทีมเทคนิคที่หลากหลายเช่น DBAs ด้านหน้าสิ้นสุดนักพัฒนาผู้บริหารระบบ ทุกคนสามารถอ่านเขียนและเข้าใจสิ่งที่เกิดขึ้น . [ 9 ]
แต่เป็นเครื่องมือการเขียนโปรแกรมใด ๆมันเป็นไปได้ที่จะใช้ แตงกวา ในโครงการในลักษณะที่เป็นอุปสรรคต่อความเข้าใจของผู้ใช้ ดังแสดงในรหัสตัวอย่าง 2 , แตงกวาสามารถจัดการเงื่อนไขรายละเอียดสูงและบริบท . อย่างไรก็ตาม รายละเอียดที่เฉพาะเจาะจงมากเกินไปสามารถทำให้เป็นเรื่องยากที่จะเข้าใจและเชื่อมโยงข้อมูลไม่มีรายละเอียดที่สำคัญเช่นชื่อปุ่มและสนามป้ายซึ่งจะเปลี่ยนเมื่อหน้าเว็บถูกแก้ไขหรือแปลเป็นภาษาอื่น ในบางกรณี พฤติกรรมโดยรวมจะถูกบดบังโดยรายละเอียด ส่งผลให้ทั้งสองสูญเสียความหมายสำหรับผู้ใช้และเสริมการทำงานสำหรับโปรแกรมเมอร์ [ 10 ] รูปแบบนี้ใช้แตงกวาไม่ถูกใจโดยเฉพาะอย่างยิ่งเพราะมันคือธรรมชาติของมนุษย์ที่หลีกเลี่ยงการใช้เครื่องมือที่แนะนำความพยายามพิเศษโดยไม่ให้ประโยชน์อย่างมีนัยสำคัญ
รหัสตัวอย่าง 3 หมายถึงการปรับปรุงเป็นโฟกัส ได้เปลี่ยน จากรายละเอียดของสิ่งประดิษฐ์ที่จะอธิบายของที่จําเป็นพฤติกรรม นี้จะช่วยให้โปรแกรมเมอร์และศิลปินอิสระที่จะสำรวจทางเลือกต่าง ๆโดยเฉพาะอย่างยิ่งเมื่อรายละเอียดที่แน่นอนไม่ได้เป็นสิ่งจำเป็นสำหรับพฤติกรรม นี้เปลี่ยนต่อพฤติกรรมขับเคลื่อนพัฒนา ( บีดีดี )

ถูกพบว่าทั้งว่องไวและคณะกรรมการพัฒนาซอฟต์แวร์แบบดั้งเดิม เพราะมีวิธีการที่ร้องขอคุณลักษณะสามารถจัดลำดับความสำคัญและทดสอบส่งผลให้ความพึงพอใจของผู้ใช้มากขึ้นกับการส่งซอฟต์แวร์ที่มากขึ้นให้กับการพัฒนาคุณลักษณะมูลค่าสูง

ถึงแม้ว่าการใช้แตงกวา ในประเทศไทย ได้กำหนดหลักเพื่อพัฒนาภาษาอังกฤษมันมีนานแล้วรู้สึกโดยผู้เขียนดีแตงกวาอธิบายควรมีความชัดเจนเพียงพอที่จะสามารถแปลข้อความที่สามารถอ่านและเข้าใจ โดย nonprogrammers ในประเทศไทย ตัวอย่างเช่น รหัสตัวอย่าง 4 เป็นแปลไทย ฟรีของข้อมูลที่ระบุในรหัสตัวอย่าง 1 แม้จะเป็นแปลรายละเอียดของพฤติกรรมที่ได้รับการถ่ายทอดอย่างชัดเจนในลักษณะที่นักเรียนไทยจะพอเข้าใจ
สามารถแนะนำการเปลี่ยนแปลง ความนี้ ไทย
อธิบายพฤติกรรมของโปรแกรมแนะนำโอกาสใหม่สำหรับผู้ใช้ในไทย รวมถึงทีมพัฒนาซอฟต์แวร์ เพราะเครื่องมือพัฒนาซอฟต์แวร์ส่วนใหญ่เขียนเป็นภาษาอังกฤษ และมีความซับซ้อนค่อนข้างที่จะใช้การใช้ภาษาไทยของแตงกวาเพื่ออธิบายและทดสอบซอฟต์แวร์ที่ทำให้มันเป็นไปได้สำหรับผู้ใช้ที่จะแบ่งปันความต้องการของพวกเขา ในไทยในลักษณะที่ยังโดยอัตโนมัติการทดสอบซอฟต์แวร์ ภาษา
พระกรรณที่แตงกวาอยู่ถูกแปลและใช้ในกว่า 40 ภาษาทั่วโลก อย่างไรก็ตาม ยังไม่มีภาษาไทยสำหรับระบบนี้ ในกระดาษนี้เราจะดูว่าต้องปรับ แตงกวา เพื่อใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์ภาษาไทย มันเป็นเป้าหมายของเราที่จะพัฒนาเครื่องมือที่อำนวยความสะดวกในการติดต่อสื่อสารระหว่างผู้ใช้และนักพัฒนาซอฟต์แวร์ไทย . ในการรักษาประเพณีของการแปล ภาษา อื่น ๆของแตงกวา เราได้ตั้งชื่อผลิตภัณฑ์ของ daanggwa งานของเรา ( เช่น ภาษาไทย

แตงกวา )
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: