	{"id":1691,"date":"2013-07-03T16:00:58","date_gmt":"2013-07-03T09:00:58","guid":{"rendered":"http:\/\/science-technology.vn\/?p=1691"},"modified":"2013-07-03T16:00:58","modified_gmt":"2013-07-03T09:00:58","slug":"thiet-ke-phan-mem-2","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=1691","title":{"rendered":"Thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m"},"content":{"rendered":"<p><span style=\"font-size: 14px;\">M\u1ed9t ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m \u0111\u00e3 vi\u1ebft cho t\u00f4i: \u201cThi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m c\u00f3 ph\u1ea3i l\u00e0 kh\u00e1i ni\u1ec7m thi\u1ebft k\u1ebf \u0111\u01b0\u1ee3c d\u1ea1y trong \u0111\u1ea1i h\u1ecdc nh\u01b0ng kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng trong c\u00f4ng nghi\u1ec7p kh\u00f4ng? Em \u0111\u00e3 l\u00e0m vi\u1ec7c nh\u01b0 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m trong hai n\u0103m nh\u01b0ng hi\u1ebfm khi th\u1ea5y b\u1ea5t k\u00ec thi\u1ebft k\u1ebf n\u00e0o trong c\u00f4ng ti em. Ch\u00fang em th\u01b0\u1eddng \u0111i t\u1eeb y\u00eau c\u1ea7u t\u1edbi vi\u1ebft m\u00e3 \u0111\u1ec3 l\u00e0m cho d\u1ef1 \u00e1n \u0111\u01b0\u1ee3c nhanh h\u01a1n. Thi\u1ebft k\u1ebf c\u00f3 c\u1ea7n kh\u00f4ng? Th\u1ea7y c\u00f3 th\u1ec3 gi\u1ea3i th\u00edch v\u1ec1 thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m kh\u00f4ng?&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\u0110\u00e1p: Thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m kh\u00f4ng ph\u1ea3i l\u00e0 kh\u00e1i ni\u1ec7m \u0111\u01b0\u1ee3c d\u1ea1y trong \u0111\u1ea1i h\u1ecdc. N\u00f3 \u0111\u01b0\u1ee3c d\u00f9ng r\u1ed9ng r\u00e3i trong c\u00f4ng nghi\u1ec7p. \u201cM\u00e3 tr\u01b0\u1edbc, h\u1ecfi c\u00e2u h\u1ecfi sau\u201d l\u00e0 th\u00f3i quen x\u1ea5u v\u00e0 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c d\u00f9ng. D\u01b0\u1eddng nh\u01b0 l\u00e0 c\u1ea5p qu\u1ea3n l\u00ed c\u00f4ng ti b\u1ea1n kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u00e0o t\u1ea1o \u0111\u00fang v\u1ec1 qui tr\u00ecnh ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m.<\/p>\n<p>Theo \u0111\u1ecbnh ngh\u0129a, thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m l\u00e0 qui tr\u00ecnh gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 v\u00e0 l\u1eadp k\u1ebf ho\u1ea1ch cho gi\u1ea3i ph\u00e1p ph\u1ea7n m\u1ec1m. Trong ph\u1ea7n m\u1ec1m, c\u00f3 nhi\u1ec1u gi\u1ea3i ph\u00e1p c\u00f3 th\u1ec3. Kh\u00f4ng c\u00f3 &#8220;gi\u1ea3i ph\u00e1p &#8220;\u0111\u00fang&#8221; hay &#8220;sai&#8221; nh\u01b0ng ch\u1ec9 c\u00f3 &#8220;t\u1ed1t h\u01a1n&#8221; hay &#8220;k\u00e9m h\u01a1n&#8221; tu\u1ef3 theo v\u1ea5n \u0111\u1ec1 m\u00e0 b\u1ea1n \u0111ang c\u1ed1 gi\u1ea3i quy\u1ebft. V\u00ec ph\u1ea7n m\u1ec1m l\u00e0 s\u1ea3n ph\u1ea9m c\u1ee7a t\u00e2m tr\u00ed, kh\u00f4ng ph\u1ea3i l\u00e0 th\u1ee9 v\u1eadt l\u00ed nh\u01b0 ph\u1ea7n c\u1ee9ng, nh\u00e0, hay c\u1ea7u, b\u1ea1n kh\u00f4ng c\u00f3 qui t\u1eafc t\u01b0\u1eddng minh \u0111\u1ec3 ph\u1ea3i theo. Tuy nhi\u00ean, c\u00f3 hai y\u1ebfu t\u1ed1 s\u1ebd x\u00e1c \u0111\u1ecbnh ra vi\u1ec7c thi\u1ebft k\u1ebf cho gi\u1ea3i ph\u00e1p c\u1ee7a b\u1ea1n: B\u1ea1n hi\u1ec3u v\u1ea5n \u0111\u1ec1 r\u00f5 th\u1ebf n\u00e0o? V\u00e0 b\u1ea1n hi\u1ec3u gi\u1ea3i ph\u00e1p c\u1ee7a b\u1ea1n r\u00f5 th\u1ebf n\u00e0o?<\/p>\n<p>Trong ph\u1ea7n m\u1ec1m, hi\u1ec3u v\u1ea5n \u0111\u1ec1 ngh\u0129a l\u00e0 b\u1ea1n ph\u1ea3i bi\u1ebft v\u1ec1 c\u00e1c r\u00e0ng bu\u1ed9c k\u0129 thu\u1eadt, y\u00eau c\u1ea7u ch\u1ee9c n\u0103ng, thu\u1ed9c t\u00ednh ch\u1ea5t l\u01b0\u1ee3ng, v\u00e0 r\u00e0ng bu\u1ed9c doanh nghi\u1ec7p. B\u1eb1ng vi\u1ec7c bi\u1ebft nh\u1eefng r\u00e0ng bu\u1ed9c n\u00e0y, b\u1ea1n s\u1ebd \u0111\u1eb7t ra gi\u1edbi h\u1ea1n c\u1ee7a gi\u1ea3i ph\u00e1p c\u1ee7a b\u1ea1n. C\u00e1c y\u00eau c\u1ea7u ch\u1ee9c n\u0103ng l\u00e0 \u0111i\u1ec1u gi\u1ea3i ph\u00e1p ph\u1ea3i l\u00e0m trong khi c\u00e1c thu\u1ed9c t\u00ednh ch\u1ea5t l\u01b0\u1ee3ng gi\u1ea3i quy\u1ebft m\u1ed9t s\u1ed1 ch\u1ee9c n\u0103ng th\u1ef1c hi\u1ec7n t\u1ed1t th\u1ebf n\u00e0o. R\u00e0ng bu\u1ed9c doanh nghi\u1ec7p l\u00e0 nh\u1eefng gi\u1edbi h\u1ea1n do l\u00ed do doanh nghi\u1ec7p nh\u01b0 ng\u00e2n s\u00e1ch hay l\u1ecbch bi\u1ec3u. B\u1ea1n kh\u00f4ng th\u1ec3 v\u01b0\u1ee3t qu\u00e1 s\u1ed1 ti\u1ec1n n\u00e0o \u0111\u00f3 hay c\u1ee9 x\u00e2y d\u1ef1ng ph\u1ea7n m\u1ec1m m\u00e3i.<\/p>\n<p>Gi\u1ea3i ph\u00e1p l\u00e0 m\u1ecdi kh\u1ea3 n\u0103ng b\u1ea1n c\u00f3 th\u1ec3 ngh\u0129 t\u1edbi. L\u00e0 ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n, ch\u00ednh vi\u1ec7c l\u00e0m c\u1ee7a b\u1ea1n l\u00e0 ch\u1ecdn l\u1ef1a gi\u1ea3i ph\u00e1p t\u1ed1t nh\u1ea5t cho v\u1ea5n \u0111\u1ec1. Hi\u1ec3u bi\u1ebft c\u1ee7a b\u1ea1n v\u1ec1 v\u1ea5n \u0111\u1ec1 gi\u1edbi h\u1ea1n ch\u1ecdn l\u1ef1a c\u1ee7a b\u1ea1n v\u00e0o v\u00e0i gi\u1ea3i ph\u00e1p cho n\u00ean b\u1ea1n ph\u1ea3i ph\u00e2n t\u00edch ch\u00fang v\u00e0 l\u1ef1a ch\u1ecdn gi\u1ea3i ph\u00e1p t\u1ed1t nh\u1ea5t. N\u1ebfu b\u1ea1n kh\u00f4ng th\u1ec3 quy\u1ebft \u0111\u1ecbnh \u0111\u01b0\u1ee3c, b\u1ea1n c\u00f3 th\u1ec3 x\u00e2y d\u1ef1ng &#8220;b\u1ea3n m\u1eabu&#8221; hay gi\u1ea3i ph\u00e1p t\u1ea1m th\u1eddi v\u00e0 \u0111\u1ec1 ngh\u1ecb kh\u00e1ch h\u00e0ng ra quy\u1ebft \u0111\u1ecbnh cho b\u1ea1n.<\/p>\n<p>Trong ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m, c\u00f3 v\u00e0i c\u00e1ch ti\u1ebfp c\u1eadn c\u01a1 s\u1edf. Thi\u1ebft k\u1ebf theo k\u1ebf ho\u1ea1ch y\u00eau c\u1ea7u r\u1eb1ng thi\u1ebft k\u1ebf ph\u1ea3i \u0111\u01b0\u1ee3c ho\u00e0n th\u00e0nh tr\u01b0\u1edbc khi b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n. C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi v\u00f2ng \u0111\u1eddi th\u00e1c \u0111\u1ed5. N\u00f3 \u0111\u01b0\u1ee3c gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng b\u1ea1n bi\u1ebft m\u1ecdi y\u00eau c\u1ea7u v\u00e0 ch\u00fang s\u1ebd kh\u00f4ng thay \u0111\u1ed5i. Thi\u1ebft k\u1ebf ti\u1ebfn ho\u00e1 cho ph\u00e9p b\u1ea1n thi\u1ebft k\u1ebf ra gi\u1ea3i ph\u00e1p t\u0103ng d\u1ea7n khi n\u00f3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n. B\u1ea1n b\u1eaft \u0111\u1ea7u thi\u1ebft k\u1ebf theo t\u1eebng m\u1ea3nh nh\u1ecf r\u1ed3i th\u1ef1c hi\u1ec7n n\u00f3 \u0111\u1ec3 xem n\u00f3 l\u00e0m vi\u1ec7c th\u1ebf n\u00e0o r\u1ed3i ti\u1ebfp t\u1ee5c l\u1eb7p l\u1ea1i c\u00f9ng b\u01b0\u1edbc \u0111\u00f3 l\u1ea7n n\u1eefa cho t\u1edbi khi \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n xong. C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi v\u00f2ng \u0111\u1eddi xo\u00e1y \u1ed1c hay v\u00f2ng \u0111\u1eddi \u0111\u01b0a ra gia t\u0103ng. C\u00e1ch Thi\u1ebft k\u1ebf N\u1ed5i l\u00ean cho ph\u00e9p thi\u1ebft k\u1ebf h\u1ec7 th\u1ed1ng xu\u1ea5t hi\u1ec7n khi h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n m\u00e0 kh\u00f4ng c\u00f3 ch\u1ee7 \u0111\u1ecbnh \u0111\u1eb7c bi\u1ec7t. N\u00f3 th\u01b0\u1eddng \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi c\u00e1ch ti\u1ebfp c\u1eadn Agile nh\u01b0 Scrum. V\u00ec c\u00e1c y\u00eau c\u1ea7u c\u00f3 th\u1ec3 thay \u0111\u1ed5i b\u1ea5t k\u00ec l\u00fac n\u00e0o do \u0111\u00f3 thi\u1ebft k\u1ebf c\u0169ng c\u00f3 th\u1ec3 thay \u0111\u1ed5i theo t\u1eebng ch\u1eb7ng n\u01b0\u1edbc r\u00fat Sprint.<\/p>\n<p>Kh\u00f4ng c\u00f3 gi\u1ea3i ph\u00e1p ho\u00e0n h\u1ea3o c\u0169ng nh\u01b0 kh\u00f4ng c\u00f3 c\u00e1ch ti\u1ebfp c\u1eadn ho\u00e0n h\u1ea3o trong ph\u1ea7n m\u1ec1m. \u0110i\u1ec1u b\u1ea1n l\u00e0m \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh b\u1eb1ng kh\u1ed1i l\u01b0\u1ee3ng r\u1ee7i ro m\u00e0 t\u1ed5 c\u1ee7a b\u1ea1n s\u1ebd nh\u1eadn. \u00cdt r\u1ee7i ro ng\u1ee5 \u00fd r\u1eb1ng b\u1ea1n d\u1ef1 \u0111o\u00e1n \u00edt thay \u0111\u1ed5i v\u00ec n\u00f3 cho b\u1ea1n nhi\u1ec1u tu\u1ef3 ch\u1ecdn h\u01a1n trong thi\u1ebft k\u1ebf c\u1ee7a b\u1ea1n. Ki\u1ebfn tr\u00fac v\u00e0 thi\u1ebft k\u1ebf s\u1ebd tu\u1ef3 thu\u1ed9c v\u00e0o \u01b0a chu\u1ed9ng v\u00e0 kinh nghi\u1ec7m c\u1ee7a t\u1ed5 c\u1ee7a b\u1ea1n. T\u1ed5 \u00edt kinh nghi\u1ec7m kh\u00f4ng n\u00ean ch\u1ecdn thi\u1ebft k\u1ebf ph\u1ee9c t\u1ea1p v\u00ec \u0111i\u1ec1u \u0111\u00f3 l\u00e0 r\u1ee7i ro. B\u1ea1n c\u00e0ng hi\u1ec3u v\u1ea5n \u0111\u1ec1 v\u00e0 r\u00e0ng bu\u1ed9c c\u1ee7a n\u00f3, b\u1ea1n c\u00e0ng \u0111i t\u1edbi thi\u1ebft k\u1ebf t\u1ed1t h\u01a1n. N\u1ebfu b\u1ea1n c\u00f3 \u00edt th\u1eddi gian, n\u1ebfu ng\u00e2n s\u00e1ch c\u1ee7a b\u1ea1n eo h\u1eb9p th\u00ec b\u1ea1n kh\u00f4ng c\u00f3 m\u1ea5y ch\u1ecdn l\u1ef1a trong thi\u1ebft k\u1ebf. B\u1ea1n c\u00e0ng bi\u1ebft \u00edt v\u1ec1 v\u1ea5n \u0111\u1ec1 th\u00ec b\u1ea1n s\u1ebd c\u00f3 kh\u00f3 kh\u0103n trong vi\u1ec7c quy\u1ebft \u0111\u1ecbnh v\u1ec1 thi\u1ebft k\u1ebf c\u1ee7a b\u1ea1n v\u00e0 \u0111\u00f3 l\u00e0 l\u00ed do t\u1ea1i sao c\u00e1c k\u0129 s\u01b0 y\u00eau c\u1ea7u v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 h\u1ec7 th\u1ed1ng l\u00e0 quan tr\u1ecdng th\u1ebf trong d\u1ef1 \u00e1n ph\u1ea7n m\u1ec1m.<\/p>\n<p>\u0110\u1ec3 \u0111i t\u1edbi thi\u1ebft k\u1ebf t\u1ed1t h\u01a1n, b\u1ea1n ph\u1ea3i h\u1ecdc th\u00eam v\u1ec1 v\u1ea5n \u0111\u1ec1 m\u00e0 b\u1ea1n \u0111ang \u0111\u1ecbnh gi\u1ea3i quy\u1ebft. N\u1ebfu t\u1ed5 c\u1ee7a b\u1ea1n c\u1ea3m th\u1ea5y r\u1eb1ng h\u1ecd kh\u00f4ng bi\u1ebft \u0111\u1ee7 v\u1ec1 v\u1ea5n \u0111\u1ec1 d\u1ef1a tr\u00ean \u0111\u1eb7c t\u1ea3 y\u00eau c\u1ea7u, b\u1ea1n c\u1ea7n ti\u1ebfn h\u00e0nh th\u1ea3o lu\u1eadn v\u1edbi kh\u00e1ch h\u00e0ng v\u00e0 ng\u01b0\u1eddi d\u00f9ng \u0111\u1ec3 l\u00e0m t\u0103ng tri th\u1ee9c c\u1ee7a b\u1ea1n v\u1ec1 v\u1ea5n \u0111\u1ec1. N\u1ebfu t\u1ed5 c\u1ea3m th\u1ea5y c\u00f3 nhi\u1ec1u r\u1ee7i ro v\u1ec1 d\u1ef1 \u00e1n th\u00ec b\u1ea1n n\u00ean th\u0103m d\u00f2 c\u00e1ch ti\u1ebfp c\u1eadn b\u1ea3n m\u1eabu \u0111\u1ec3 cho ng\u01b0\u1eddi d\u00f9ng th\u1eed. Tu\u1ef3 ch\u1ecdn kh\u00e1c l\u00e0 tu\u00e2n theo qui tr\u00ecnh thi\u1ebft k\u1ebf nh\u01b0 Ph\u01b0\u01a1ng ph\u00e1p lu\u1eadn thi\u1ebft k\u1ebf l\u00e0 trung t\u00e2m Architecture Centric Design Methodology (ACDM). ACDM l\u00e0 qui tr\u00ecnh thi\u1ebft k\u1ebf \u0111\u01b0\u1ee3c ph\u00e2n giai \u0111o\u1ea1n khuy\u1ebfn kh\u00edch t\u1ed5 th\u0103m d\u00f2 thi\u1ebft k\u1ebf qua th\u1ef1c nghi\u1ec7m b\u1eb1ng vi\u1ec7c \u0111\u1ec1 c\u1eadp t\u1edbi c\u00e1c v\u1ea5n \u0111\u1ec1 trong thi\u1ebft k\u1ebf \u0111\u01b0\u1ee3c \u0111\u1ec1 ngh\u1ecb. ACDM h\u1ed9i t\u1ee5 m\u1ea1nh v\u00e0o thu\u1ed9c t\u00ednh ch\u1ea5t l\u01b0\u1ee3ng v\u00e0 s\u1ebd gi\u00fap cho t\u1ed5 c\u1ee7a b\u1ea1n h\u01b0\u1edbng t\u1edbi c\u00e1ch ti\u1ebfp c\u1eadn thi\u1ebft k\u1ebf theo k\u1ebf ho\u1ea1ch nh\u01b0ng qui tr\u00ecnh c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c \u0111i\u1ec1u ch\u1ec9nh \u0111\u1ec3 d\u00f9ng thi\u1ebft k\u1ebf kh\u00e1c n\u1ebfu t\u1ed5 c\u1ee7a b\u1ea1n mu\u1ed1n d\u00f9ng.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-English version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Software Design<\/p>\n<p>A software developer wrote to me: \u201cIs software design a theoretical concept to be taught in college but not used in industry? I have worked as developer for two years but rarely saw any design in my company. We often go from requirements to code to get projects complete faster. Is design necessary? Can you explain about software design?&#8221;<\/p>\n<p>&nbsp;<\/p>\n<p>Answer: Software design is not a concept to be taught in college. It is widely used in software industry. \u201cCode first, ask question later\u201d is a bad habit and should not be used. It seems that your company management is not properly trained on software development process.<\/p>\n<p>By definition, software design is a process of problem solving and planning for a software solution. In software, there are many possible solutions. There is no \u201cright\u201d or \u201cwrong\u201d solution but only \u201cbetter\u201d or \u201cworse\u201d depending on the problem that you are trying to solve. Because software is a product of the mind, not physical things like hardware, a house, or a bridge, you have no explicit rule that you must follow. However, there are two factors which will determine the designing of your solution: How well do you understand the problem? and how well do you understand your solution?<\/p>\n<p>In software, understanding the problem means you must know about technical constraints, functional requirements, quality attributes, and business constraints. By knowing these constraints, you will set the limitation of your solution. Functional requirements are what the solution must do while quality attributes deal with how well it performs certain functions. The business constraints are limitation due to business reasons such as budget or schedule. You cannot exceed certain amount of money or take forever to build software.<\/p>\n<p>The solution is all the possibilities that you can think of. As developer, it is your job to select the best possible solution to a problem. Your understanding of the problem limits your selection to a few so you must analyze them and select the best. If you cannot make decision, you may build a \u201cprototype\u201d or temporary solution and ask the customers to make decision for you.<\/p>\n<p>In software design, there are few basic approaches. A Planned Design requires that the design must be completed before you can implement. This approach is associated with waterfall lifecycles. It is assumed that you know all requirements and they will not change.\u00a0 An Evolutionary Design allows you to design the solution incrementally as it is implemented. You start design in small piece then implement it to see how it work then continue to repeat the same step again until done. This approach is associated with the Spiral lifecycle or Incremental release lifecycle. The Emergent Design allows the design of the system to occur as the system is implemented without specific intentions. It is often associated with Agile approach such as Scrum. Since requirements may change anytime therefore design may also change with each Sprint.<\/p>\n<p>There is no perfect solution as well as no perfect design approach in software. What you do is determined by the amount of risk that your team is going to take. Less risk implies that you anticipate less change as it gives you more options in your design. Architect and Design will depend on your team\u2019s preferences and experience. A less experienced team should not choose a complex design because it is risky. The more you understand the problem and its constraints, the better you can come up with a design. If you time is short, if your budget is tight then you do not have much choice in designing. The less you know about a problem then you will have difficulty in making decision about your design and that is why requirements engineer and system architect are so important in software project.<\/p>\n<p>To come up with better design, you must learn more about the problem that you are trying to solve. If your team feels that they do not know enough about the problem based on the requirements specification, you need to conduct discussions with customer and users to increase your knowledge about the problem. If the team feels there is a lot of risk on the project then you should explore prototype approach then get your users to try. Another option is to follow a design process such as the Architecture Centric Design Methodology (ACDM). ACDM is a staged design process that encourages teams to explore the design through experiments by addressing issues in proposed designs. ACDM strongly focuses on quality attributes and will help your team toward a planned design approach but the process can be adjusted to use a different design if your team wants to.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u1ed9t ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m \u0111\u00e3 vi\u1ebft cho t\u00f4i: \u201cThi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m c\u00f3 ph\u1ea3i l\u00e0 kh\u00e1i ni\u1ec7m thi\u1ebft k\u1ebf \u0111\u01b0\u1ee3c d\u1ea1y trong \u0111\u1ea1i &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-1691","post","type-post","status-publish","format-standard","hentry","category-ki-nghe-phan-mem"],"_links":{"self":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/1691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1691"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/1691\/revisions"}],"predecessor-version":[{"id":1692,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/1691\/revisions\/1692"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}