	{"id":695,"date":"2013-06-22T11:25:25","date_gmt":"2013-06-22T04:25:25","guid":{"rendered":"http:\/\/science-technology.vn\/?p=695"},"modified":"2013-06-22T11:25:25","modified_gmt":"2013-06-22T04:25:25","slug":"thiet-ke-phan-mem","status":"publish","type":"post","link":"https:\/\/science-technology.vn\/?p=695","title":{"rendered":"Thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14px;\">M\u1ed9t ng\u01b0\u1eddi l\u1eadp tr\u00ecnh vi\u1ebft cho t\u00f4i: \u201cT\u1ea1i sao ch\u00fang ta ph\u1ea3i l\u00e0m t\u00e0i li\u1ec7u thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m? Kh\u00f4ng th\u1ec3 \u0111\u1ec3 thi\u1ebft k\u1ebf trong \u0111\u1ea7u m\u00ecnh v\u00e0 b\u1eaft \u0111\u1ea7u vi\u1ebft m\u00e3 \u0111\u01b0\u1ee3c sao? Kh\u00e1c bi\u1ec7t g\u00ec gi\u1eefa ki\u1ebfn tr\u00fac v\u00e0 thi\u1ebft k\u1ebf?&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\u0110\u00e1p: V\u1ec1 c\u0103n b\u1ea3n thi\u1ebft k\u1ebf l\u00e0 b\u1ea3n \u0111\u1ed3 c\u1ee7a s\u1ea3n ph\u1ea9m ph\u1ea7n m\u1ec1m m\u00e0 b\u1ea1n \u0111\u1ecbnh x\u00e2y d\u1ef1ng. N\u1ebfu b\u1ea1n l\u00e0 m\u1ed9t ng\u01b0\u1eddi duy nh\u1ea5t x\u00e2y d\u1ef1ng ra s\u1ea3n ph\u1ea9m th\u00ec c\u00f3 th\u1ec3 kh\u00f4ng l\u00e0m t\u00e0i li\u1ec7u cho n\u00f3. B\u1ea1n c\u00f3 th\u1ec3 b\u1eaft \u0111\u1ea7u vi\u1ebft m\u00e3 t\u1eeb \u0111i\u1ec1u b\u1ea1n c\u00f3 trong \u0111\u1ea7u.<\/p>\n<p>Tuy nhi\u00ean, ng\u00e0y nay ph\u1ea7n l\u1edbn m\u1ecdi ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m theo t\u1ed5. Th\u00e0nh vi\u00ean t\u1ed5 c\u1ee7a b\u1ea1n kh\u00f4ng th\u1ec3 \u0111\u1ecdc \u0111\u01b0\u1ee3c \u0111i\u1ec1u c\u00f3 trong \u0111\u1ea7y b\u1ea1n cho n\u00ean b\u1ea1n c\u1ea7n l\u00e0m t\u00e0i li\u1ec7u cho thi\u1ebft k\u1ebf \u0111\u1ec3 trao \u0111\u1ed5i c\u00e1c quan ni\u1ec7m v\u1edbi nh\u1eefng ng\u01b0\u1eddi kh\u00e1c trong d\u1ef1 \u00e1n. Thi\u1ebft k\u1ebf \u0111i\u1ec3n h\u00ecnh c\u00f3 hai ph\u1ea7n ch\u00ednh: M\u1ee9c cao hay ki\u1ebfn tr\u00fac v\u00e0 m\u1ee9c th\u1ea5p hay thi\u1ebft k\u1ebf chi ti\u1ebft.<\/p>\n<p>T\u00e0i li\u1ec7u thi\u1ebft k\u1ebf m\u00f4 t\u1ea3 c\u00e1c khu v\u1ef1c c\u1ea7n \u0111\u01b0\u1ee3c nghi\u00ean c\u1ee9u \u0111\u1ec3 nh\u1eadn di\u1ec7n c\u00e1i g\u00ec c\u00f3 th\u1ec3 l\u00e0m vi\u1ec7c v\u00e0 c\u00e1i g\u00ec c\u00f3 th\u1ec3 kh\u00f4ng. V\u00ec d\u1ef1 \u00e1n ph\u1ea7n m\u1ec1m \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n b\u1edfi t\u1ed5 con ng\u01b0\u1eddi, \u0111i\u1ec1u quan tr\u1ecdng l\u00e0 chia s\u1ebb thi\u1ebft k\u1ebf \u0111\u1ec3 cho t\u1ed5 c\u00f3 th\u1ec3 \u0111\u00e1nh gi\u00e1 v\u00e0 th\u1ea3o lu\u1eadn \u0111\u1ec3 nh\u1eadn di\u1ec7n b\u1ea5t k\u00ec l\u1ed7i n\u00e0o trong d\u1ef1 \u00e1n. V\u00ec y\u00eau c\u1ea7u ph\u1ea7n m\u1ec1m th\u01b0\u1eddng thay \u0111\u1ed5i, thi\u1ebft k\u1ebf cung c\u1ea5p \u0111i\u1ec3m tham chi\u1ebfu chung cho t\u1ed5 \u0111\u1ec3 \u0111\u00e1nh gi\u00e1 t\u00e1c \u0111\u1ed9ng c\u1ee7a thay \u0111\u1ed5i v\u00e0 ra quy\u1ebft \u0111\u1ecbnh.<\/p>\n<p>M\u1ee9c cao hay ki\u1ebfn tr\u00fac ph\u1ea7n m\u1ec1m ch\u1ec9 ra c\u00e1ch h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c ph\u00e2n chia th\u00e0nh c\u00e1c c\u1ea5u ph\u1ea7n ch\u00ednh; c\u00e1ch nh\u1eefng c\u1ea5u ph\u1ea7n n\u00e0y c\u00f3 quan h\u1ec7 l\u1eabn nhau; c\u00e1ch ch\u00fang giao ti\u1ebfp v\u1edbi ng\u01b0\u1eddi d\u00f9ng; c\u00e1ch ch\u00fang t\u01b0\u01a1ng t\u00e1c v\u1edbi h\u1ec7 th\u1ed1ng kh\u00e1c; v\u00e0 c\u00e1ch ch\u00fang t\u01b0\u01a1ng t\u00e1c gi\u1eefa ch\u00fang v\u1edbi nhau. Ki\u1ebfn tr\u00fac ph\u1ea7n m\u1ec1m c\u0169ng nh\u1eadn di\u1ec7n c\u00e1c \u0111\u1ecbnh ngh\u0129a d\u1eef li\u1ec7u; d\u1eef li\u1ec7u n\u00e0o s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u gi\u1eef v\u00e0 ch\u1ed7 ch\u00fang s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u gi\u1eef. Ki\u1ebfn tr\u00fac s\u01b0 nh\u1eadn di\u1ec7n c\u00e1c r\u00e0ng bu\u1ed9c h\u1ec7 th\u1ed1ng, \u0111\u1eb7c t\u00ednh ch\u1ea5t l\u01b0\u1ee3ng nh\u01b0 hi\u1ec7u n\u0103ng, s\u1ef1 m\u1edf r\u1ed9ng, an ninh, t\u00ednh kh\u1ea3 chuy\u1ec3n v\u00e0 c\u00f4ng ngh\u1ec7 n\u1ec1n (nh\u01b0, d\u1ef1a tr\u00ean PC, d\u1ef1a tr\u00ean m\u00e2y).<\/p>\n<p>T\u1eeb ki\u1ebfn tr\u00fac, nh\u1eefng ng\u01b0\u1eddi ph\u00e1t tri\u1ec3n d\u1ecbch chuy\u1ec3n sang m\u1ee9c th\u1ea5p hay thi\u1ebft k\u1ebf chi ti\u1ebft n\u01a1i h\u1ecd chia t\u1eebng c\u1ea5u ph\u1ea7n th\u00e0nh c\u00e1c m\u00f4 \u0111un nh\u1ecf h\u01a1n trong \u0111\u00f3 t\u1eebng ch\u1ee9c n\u0103ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh c\u0169ng nh\u01b0 c\u00e1c r\u00e0ng bu\u1ed9c c\u1ee7a n\u00f3 tr\u00ean giao di\u1ec7n c\u1ee7a n\u00f3. T\u1eebng m\u00f4 \u0111un c\u0169ng c\u00f3 ti\u00eau ch\u00ed v\u00e0o v\u00e0 ra v\u1edbi c\u1ea5u tr\u00fac d\u1eef li\u1ec7u v\u00e0 thu\u1eadt to\u00e1n \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh.<\/p>\n<p>Th\u00f4ng tin thi\u1ebft k\u1ebf c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u00e0m t\u00e0i li\u1ec7u trong ch\u00fa th\u00edch v\u0103n b\u1ea3n (nh\u01b0, &#8220;M\u00e1y ph\u1ee5c v\u1ee5 \u0111\u00e1p \u1ee9ng m\u1ed7i n\u0103m gi\u00e2y b\u1eb1ng c\u00e1i ra XYZ,&#8221; &#8220;C\u1ea5u ph\u1ea7n ABC s\u1ebd gi\u1ea3i quy\u1ebft m\u1ecdi l\u1ed7i,&#8221; hay \u201cC\u01a1 s\u1edf d\u1eef li\u1ec7u s\u1ebd \u0111\u1ed3ng b\u1ed9 c\u1ee9 m\u1ed7i 5 ph\u00fat,\u201d) hay n\u00f3 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u00e0m t\u00e0i li\u1ec7u d\u01b0\u1edbi d\u1ea1ng \u0111\u1ed3 ho\u1ea1 (nh\u01b0, ng\u00f4n ng\u1eef m\u00f4 h\u00ecnh ho\u00e1, UML, b\u1ea3ng bi\u1ebfn c\u1ed1, bi\u1ec3u \u0111\u1ed3 ho\u00e0n c\u1ea3nh, bi\u1ec3u \u0111\u1ed3 lu\u1ed3ng, bi\u1ec3u \u0111\u1ed3 th\u1eddi gian v.v.) hay n\u00f3 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u00e0m t\u00e0i li\u1ec7u nh\u01b0 m\u00e3 gi\u1ea3 \u2013 m\u00f4 t\u1ea3 v\u0103n b\u1ea3n v\u1ec1 \u0111i\u1ec1u m\u00e3 s\u1ebd l\u00e0m.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;-Engish version&#8212;-<\/p>\n<p>&nbsp;<\/p>\n<p>Software design<\/p>\n<p>A programmer wrote to me: \u201cWhy do we have to document software design? Is it possible keeping the design in your mind and start to write code instead? What is the difference between architecture and design?<\/p>\n<p>Answer: Basically design is a map of the software product that you are going to build. If you are the only person who build the product then it is possible not to document it. You can start coding from what you have in mind.<\/p>\n<p>However, today most people develop software in team. Your team members cannot read your mind so you need to document your design to communicate the concepts to other people in the project. Typical Design has two major parts: The high level or the architecture and the low level or the detailed design.<\/p>\n<p>Design document describes areas that need to be investigated to identify what may works and what may not. Since software project is done by a team of people, it is important to share the design so the team can evaluate and discuss to identify any errors early in the project. Since software requirements often change, the design provides a common reference point for the team to assess the impact of changes and make design decisions.<\/p>\n<p>The high level or the software architecture indicates how the system is divided into major components; how these components are related to each other; how they interfaces to the user; how they interact to other systems; and how they interact between themselves. The software architecture also identifies data definitions; what data will be stored and where they will be stored. The architect identifies system constraints, quality attributes such as performance, expansion, security, portability and platform technology (e.g., PC-based, cloud-based).<\/p>\n<p>From the architecture, developers shifts to the low-level or detailed design where they breakdown each component into smaller modules where each functions could be specified as well as its constraints on its interface. Each module should also have entry and exit criteria with internal data structures and algorithms defined.<\/p>\n<p>Design information can be documented in textual notes (e.g., &#8220;The server responds every 5 seconds with XYZ output,&#8221; &#8220;Component ABC will handle all errors,&#8221; or \u201cThe databases will be synced every 5 minutes:\u201d) or it can be documented in graphical form (e.g., modeling languages, UML, event tables, context diagram, flow diagrams, timing diagrams etc.) or it can be documented as pseudo code \u2013 a textual description of what the code will do.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; M\u1ed9t ng\u01b0\u1eddi l\u1eadp tr\u00ecnh vi\u1ebft cho t\u00f4i: \u201cT\u1ea1i sao ch\u00fang ta ph\u1ea3i l\u00e0m t\u00e0i li\u1ec7u thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m? Kh\u00f4ng th\u1ec3 \u0111\u1ec3 thi\u1ebft k\u1ebf &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-695","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\/695","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=695"}],"version-history":[{"count":1,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/695\/revisions"}],"predecessor-version":[{"id":696,"href":"https:\/\/science-technology.vn\/index.php?rest_route=\/wp\/v2\/posts\/695\/revisions\/696"}],"wp:attachment":[{"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science-technology.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}