Công nghệ RFID (Radio Frequency Identification) cho phép một thiết bị đọc thông tin chứa trong chip không tiếp xúc trực tiếp ở khoảng cách xa, không thực hiện bất kỳ giao tiếp vật lý nào hoặc giữa hai vật không nhìn thấy. . Công nghệ này cho ta phương pháp truyền, nhận dữ liệu từ một điểm đến điểm khác.
Trang 1Đ tài: Thi t k h th ng ch m công và qu n lý nhân s ề ế ế ệ ố ấ ả ự
b ng công ngh RFID ằ ệ
“Thi t k h th ng ch m công và qu n lý nhân s b ng công ngh RFID có kh năngế ế ệ ố ấ ả ự ằ ệ ả thêm người, xoá người và qu n lý l ch s quét th ” Yêu c u: Thi t k m ch có khả ị ử ẻ ầ ế ế ạ ả năng đ c th RFID và giao ti p máy tính. Thi t k ph n m m máy tính nh n d li uọ ẻ ế ế ế ầ ề ậ ữ ệ
t máy tính và qu n lý th theo cá trừ ả ẻ ường h p: Đúng th cho phép thì có tín hi u mợ ẻ ệ ở
c a, Th không cho phép thì có c nh báo và l u tr các l ch s truy c p c đúng và sai.ử ẻ ả ư ữ ị ử ậ ả
Có th c p nh t thêm ho c xóa th đ c p nh t h th ng d li u.ể ậ ậ ặ ẻ ể ậ ậ ệ ố ữ ệ
Trang 2Ph n I: T ng quan v công ngh RFID ầ ổ ề ệ
1. Công ngh RFID là gì?ệ
Công ngh RFID (Radio Frequency Identification) cho phép m t thi t b đ cệ ộ ế ị ọ thông tin ch a trong chip không ti p xúc tr c ti p kho ng cách xa, không th c hi nứ ế ự ế ở ả ự ệ
b t k giaoấ ỳ ti p v t lý nào ho c gi a hai v t không nhìn th y.ế ậ ặ ữ ậ ấ . Công ngh này cho taệ
phương pháp truy n, nh n d li u t m t đi m đ n đi m khác.ề ậ ữ ệ ừ ộ ể ế ể
K thu t RFID s d ng truy n thông không dây trong d i t n sóng vô tuy n đỹ ậ ử ụ ề ả ầ ế ể truy nề d li u t các tag (th ) đ n các reader (b đ c). Tag có th đữ ệ ừ ẻ ế ộ ọ ể ược đính kèm
ho c g n vào đ iặ ắ ố tượng được nh n d ng ch ng h n s n ph m, h p ho c giá kậ ạ ẳ ạ ả ẩ ộ ặ ệ (pallet). Reader scan d li uữ ệ c a tag và g i thông tin đ n c s d li u có l u tr dủ ử ế ơ ở ữ ệ ư ữ ữ
li u c a tag. Ch ng h n, các tag cóệ ủ ẳ ạ th để ược đ t trên kính ch n gió xe h i đ hặ ắ ơ ể ệ
th ng thu phí đố ường có th nhanh chóng nh nể ậ d ng và thu ti n trên các tuy n đạ ề ế ường
D ng đ n gi n nh t đạ ơ ả ấ ượ ử ục s d ng hi n nay là h th ng RFID b đ ng làm vi cệ ệ ố ị ộ ệ
nh sau:ư reader truy n m t tín hi u t n s vô tuy n đi n t qua anten c a nó đ n m tề ộ ệ ầ ố ế ệ ừ ủ ế ộ con chip. Reader nh n thông tin tr l i t chip và g i nó đ n máy tính đi u khi n đ uậ ở ạ ừ ử ế ề ể ầ
đ c và x lý thông tinọ ử l y đấ ượ ừc t chip. Các chip không ti p xúc không tích đi n,ế ệ chúng ho t đ ng b ng cách sạ ộ ằ ử d ng năng lụ ượng nh n t tín hi u đậ ừ ệ ược g i b i reader.ử ở
2. L ch s phát tri n c a công ngh RFIDị ử ể ủ ệ
L ch s RFID đánh d u t nh ng năm 1930 nh ng công ngh RFID có ngu nị ử ấ ừ ữ ư ệ ồ
g c tố ừ năm 1897 khi Guglielmo Marconi phát ra radio. RFID áp d ng các nguyên t cụ ắ
v tậ lý c b n nh truy n phát rad ng đi n t truy n và nh nơ ả ư ề ệ ừ ề ậ d ng d li u khác nhau.ạ ữ ệ
Đ hi u rõ h n v s gi ng nhau này, hình dung m t tr m radio phát ra âmể ể ơ ề ự ố ộ ạ thanh ho cặ âm nh c qua m t b phát. D li u này c n ph i mã hóa sang d ng sóngạ ộ ộ ữ ệ ầ ả ạ radio có t n s xácầ ố đ nh. T i nh ng v trí khác nhau, ngị ạ ữ ị ười nghe có m t máy radio độ ể
gi i mã d li u t tr mả ữ ệ ừ ạ phát (âm thanh ho c âm nh c). M i ngặ ạ ọ ười đ u nh n bi tề ậ ế
đượ ực s khác nhau v ch t lề ấ ượ sóng radio khi ng i trên xe h i. Khi di chuy n càngng ồ ơ ể
xa b phát tín hi u thu độ ệ ược càng y u.ế Kho ng cách theo các hả ướng ho c các vùng màặ sóng radio phát ra có th bao ph để ủ ược xác đ nh b i đi u ki n môi trị ở ề ệ ường, kích thướ c
và năng lượng c a anten t i m i đủ ạ ỗ ường giao ti p.ế S d ng thu t ng RFID, có ch cử ụ ậ ữ ứ năng nh m t tr m truy n g i là m t transponderư ộ ạ ề ọ ộ (tag) đượ ạc t o thành t 2 thu t ngừ ậ ữ transmitter và responder; v t có ch c năng nh radio g iậ ứ ư ọ là reader (b đ c) hayộ ọ interrogator. Anten xác đ nh ph m vi đ c (range).ị ạ ọ
Trang 3Ba thành ph n tag, reader và anten là nh ng kh i chính c a m t h th ng RFID.ầ ữ ố ủ ộ ệ ố Khi thay đ i v năng lổ ề ượng, kích thước, thi t k anten, t n s ho t đ ng, s lế ế ầ ố ạ ộ ố ượng dữ
li u vàệ ph n m m đ qu n lý và xu t d li u t o ra r t nhi u ng d ng. Công nghầ ề ể ả ấ ữ ệ ạ ấ ề ứ ụ ệ RFID có th gi iể ả quy t r t nhi u bài toán kinh doanh th c t ế ấ ề ự ế
3. Ứng d ng c a công ngh RFID.ụ ủ ệ
Trong h th ng ki m soát ra vàoệ ố ể , quy n ra vào cho m i ngề ọ ườ ượ ưi đ c l u tr vàữ
m i ngỗ ườ ượi đ c k t n i v i m t con s Con s này đế ố ớ ộ ố ố ượ ưc l u trên th RFID. N u hẻ ế ệ
th ng ki m soát ra vào l y thông tin t đ u đ c th , nó s tìm ki m trong c s dố ể ấ ừ ầ ọ ẻ ẽ ế ơ ở ữ
li u đ ki m tra xem ngệ ể ể ười này có quy n vào hay không. N u có, h th ng s g i tínề ế ệ ố ẽ ử
hi u t i c a khi n nó có th m ra đệ ớ ử ế ể ở ược
RFID có th dùng đ nh n di n khách hàng cho các trung tâm chăm sóc s cể ể ậ ệ ứ
kh e, đ ng v t trong nh ng h th ng qu n lý sinh v t s ng, sinh viên s d ng tỏ ộ ậ ữ ệ ố ả ậ ố ử ụ ủ
đ ng đ đ c t gi tài s n và taxi yêu c u quy n ra vào khu v c đón khách t i sânự ồ ể ấ ữ ả ầ ề ự ạ bay
Ngoài ra, công ngh RFIDệ còn đượ ức ng d ng vào h th ng qu n lý hàng hóaụ ệ ố ả
tr c tuy n x lý nh ng nh n d ng c a đàn gia súc đ t đ ng cho ăn hay v t s aự ế ử ữ ậ ạ ủ ể ự ộ ắ ữ
ho c t i u hóa vi c phát giác ngu n nhi t. Ki m soát các phặ ố ư ệ ồ ệ ể ương ti n giao thông sệ ử
d ng RFID trên xe buýt, taxi và xe c p c u đ đ m b o l u thông đụ ấ ứ ể ả ả ư ược an toàn và thu n ti n t i tr m d ng xe buýt, n i đ xe taxi ho c l i đi u tiên. C a hàng bán lậ ệ ớ ạ ừ ơ ỗ ặ ố ư ử ẻ
s d ng RFID đ đ m b o an toàn cho hàng hóa và ki m tra hàng hóa. Các b ph nử ụ ể ả ả ể ộ ậ
v n chuy n s d ng RFID đ theo dõi ki n hàng trong nhà kho và trong su t quá trìnhậ ể ử ụ ể ệ ố
v n chuy n.ậ ể
Th RFIDẻ , có th dính lên b t c s n ph m nào, t v h p đ u ng, đ giày,ể ấ ứ ả ẩ ừ ỏ ộ ồ ố ế
qu n bò cho đ n tr c ôtô. Các công ty ch vi c s d ng máy tính đ qu n lý các s nầ ế ụ ỉ ệ ử ụ ể ả ả
ph m t xa. RFID có th thay th k thu t mã v ch hi n nay do RFID không ch cóẩ ừ ể ế ỹ ậ ạ ệ ỉ
kh năng xác đ nh ngu n g c s n ph m mà còn cho phép nhà cung c p và đ i lý bán lả ị ồ ố ả ẩ ấ ạ ẻ
bi t chính xác h n thông tin nh ng m t hàng trên qu y và trong kho c a h Các côngế ơ ữ ặ ầ ủ ọ
ty bán l s không còn ph i lo ki m kho, không s giao nh m hàng và th ng kê sẻ ẽ ả ể ợ ầ ố ố
lượng, m t hàng s n ph m đang kinh doanh c a các c a hàng. H n n a h còn có thặ ả ẩ ủ ử ơ ữ ọ ể
bi t chính xác bên trong túi khách hàng vào, ra có nh ng gì.ế ữ
Khi m t RFID độ ược g n vào m t s n ph m, ngay t c kh c nó s phát ra các tínắ ộ ả ẩ ứ ắ ẽ
hi u vô tuy n cho bi t s n ph m y đang n m ch nào, trên xe đ y vào kho, trongệ ế ế ả ẩ ấ ằ ở ỗ ẩ kho l nh hay trên xe đ y c a khách hàng. Do thi t b này đạ ẩ ủ ế ị ược n i k t trong m ng viố ế ạ tính c a c a hàng nên nh v y các nhân viên bán hàng có th bi t rõ s n ph m yủ ử ờ ậ ể ế ả ẩ ấ
được s n xu t khi nào, t i nhà máy nào, màu s c và kích c c a s n ph m; đ b oả ấ ạ ắ ỡ ủ ả ẩ ể ả
qu n s n ph m t t h n thì ph i l u tr nó nhi t đ nàoả ả ẩ ố ơ ả ư ữ ở ệ ộ .
Trang 4Arduino là m t board m ch vi x lý, nh m xây d ng các ng d ng t ng tácộ ạ ử ằ ự ứ ụ ươ
v i nhau ho c v i môi trớ ặ ớ ường được thu n l i h n. Ph n c ng bao g m m t boardậ ợ ơ ầ ứ ồ ộ
m ch ngu n m đạ ồ ở ược thi t k trên n n t ng vi x lý AVR Atmel 8bit, ho c ARMế ế ề ả ử ặ Atmel 32bit. Nh ng Model hi n t i đữ ệ ạ ược trang b g m 1 c ng giao ti p USB, 6 chânị ồ ổ ế
đ u vào analog, 14 chân I/O k thu t s tầ ỹ ậ ố ương thích v i nhi u board m r ng khácớ ề ở ộ nhau
Được gi i thi u vào năm 2005, Nh ng nhà thi t k c a Arduino c g ng mangớ ệ ữ ế ế ủ ố ắ
đ n m t phế ộ ương th c d dàng, không t n kém cho nh ng ngứ ễ ố ữ ười yêu thích, sinh viên và
gi i chuyên nghi p đ t o ra nh ng thi t b có kh năng tớ ệ ể ạ ữ ế ị ả ương tác v i môi trớ ườ ngthông qua các c m bi n và các c c u ch p hành. Nh ng ví d ph bi n cho nh ngả ế ơ ấ ấ ữ ụ ổ ế ữ
người yêu thích m i b t đ u bao g m các robot đ n gi n, đi u khi n nhi t đ và phátớ ắ ầ ồ ơ ả ề ể ệ ộ
hi n chuy n đ ng. Đi cùng v i nó là m t môi trệ ể ộ ớ ộ ường phát tri n tích h p (IDE) ch yể ợ ạ trên các máy tính cá nhân thông thường và cho phép người dùng vi t các chế ương trình cho Aduino b ng ngôn ng C ho c C++.ằ ữ ặ
Trang 5SQL Server đượ ố ưc t i u đ có th ch y trên môi trể ể ạ ường c s d li u r t l nơ ở ữ ệ ấ ớ (Very Large Database Environment) lên đ n TeraByte và có th ph c v cùng lúc choế ể ụ ụ hàng ngàn user. SQL Server có th k t h p “ăn ý” v i các server khác nh Microsoftể ế ợ ớ ư Internet Information Server (IIS), ECommerce Server, Proxy Server….
so v i Enterprise Edition, nh ng l i b gi i h n m t s ch c năng cao c p (advancedớ ư ạ ị ớ ạ ộ ố ứ ấ features) khác, edition này có th ch y t t trên h th ng lên đ n 4 CPU và 2 GB RAM.ể ạ ố ệ ố ế
Developer : Có đ y đ các tính năng c a Enterprise Edition nh ng đ c ch t oầ ủ ủ ư ượ ế ạ
đ c bi t nh gi i h n s lặ ệ ư ớ ạ ố ượng ngườ ế ối k t n i vào Server cùng m t lúc…. Ðây làộ phiên
b n s d ng cho phát tri n và ki m tra ng d ng. Phiên b n này phù h p cho các cáả ử ụ ể ể ứ ụ ả ợ nhân, t ch c xây d ng và ki m tra ng d ngổ ứ ự ể ứ ụ
Workgroup: n b nấ ả SQL Server Workgroup bao g m ch c năng lõi c s dồ ứ ơ ở ữ
li u nh ng không có các d ch v đi kèm. Chú ý phiên b n này không còn t n t i SQLệ ư ị ụ ả ồ ạ ở Server 2012
Express : SQL Server Express d s d ng và qu n tr c s d li u đ n gi n.ễ ử ụ ả ị ơ ở ữ ệ ơ ả
Được tích h p v i Microsoft Visual Studio, nên d dàng đ phát tri n các ng d ng dợ ớ ễ ể ể ứ ụ ữ
li u, an toàn trong l u tr , và nhanh chóng tri n khai. SQL Server Express là phiên b nệ ư ữ ể ả
mi n phí, ễ không gi i h n v s c d li u ho c ngớ ạ ề ố ơ ở ữ ệ ặ ườ ử ụi s d ng, nh ng nó ch dùngư ỉ
Trang 6cho 1 b vi x lý v i 1 GB b nh và 10 GB file c s d li u. SQL Server Express làộ ử ớ ộ ớ ơ ở ữ ệ
l a ch n t t cho nh ng ngự ọ ố ữ ười dùng ch c n m t phiên b n SQL Server 2005 nh g n,ỉ ầ ộ ả ỏ ọ dùng trên máy ch có c u hình th p, nh ng nhà phát tri n ng d ng không chuyên hayủ ấ ấ ữ ể ứ ụ
nh ng ngữ ười yêu thích xây d ng các ng d ng nh ự ứ ụ ỏ
Cài Ð t SQL Server (Installation)ặ
Các b n c n có phiên b nạ ầ ả Developer Edition và ít nh t là 64 MB RAM, 500ấ
MB hard disk đ có th cài SQL Server. B n có th cài trên Windows Server hayể ể ạ ể Windows 10, Windows 8, Windows 7, Windows XP …
Các bước cài đ t không quá khó khăn v i các phiên b n SQL Server khác nhau,ặ ớ ả
b n có th xem l i bàiạ ể ạ Hướng d n cài đ t SQL Server 2008ẫ ặ Khi cài đ t b n c n l u ýặ ạ ầ ư các đi m sau:ể
màn hình th hai b n ch n
Ở ứ ạ ọ Install Database Server. Sau khi install xong SQL Server b n có th install thêm Analysis Service n u b n thích.ạ ể ế ạ
thường dùng Windows Authetication vì đ an toàn cao h n và d dàng cho ngộ ơ ễ ười qu nả
lý m ng và c cho ngạ ả ười s d ng Nghĩa là m t khi b n đử ụ ộ ạ ược ch p nh nấ ậ (authenticated) k t n i vào domain thì b n có quy n truy c p d li u (access data)ế ố ạ ề ậ ữ ệ trong SQL Server. Tuy nhiên ta nên ch n Mixed Mode đ d dàng cho vi c h c t p.ọ ể ễ ệ ọ ậ
Sau khi install b n s th y m t icon n m góc ph i bên dạ ẽ ấ ộ ằ ở ả ưới màn hình, đây chính là Service Manager. B n có th Start, Stop các SQL Server services d dàng b ngạ ể ễ ằ cách doubleclick vào icon này
Các thành ph n c b n trong SQL Serverầ ơ ả
SQL Server đượ ấ ạc c u t o b i nhi u thành ph n nh Database Engine,ở ề ầ ư Reporting Services, Notification Services, Integration Services, Full Text Search Service…. Các thành ph n này khi ph i h p v i nhau t o thành m t gi i pháp hoàn ch nh giúp choầ ố ợ ớ ạ ộ ả ỉ
vi c l u tr và phân tích d li u m t cách d dàng.ệ ư ữ ữ ệ ộ ễ
Trang 7– C ch t o b n sao (Replica):ơ ế ạ ả
Gi s b n có m t database dùng đ ch a d li u đả ử ạ ộ ể ứ ữ ệ ược các ng d ng thứ ụ ườ ngxuyên c p nh t. M t ngày đ p tr i b n mu n có m t cái database gi ng y h t nh thậ ậ ộ ẹ ờ ạ ố ộ ố ệ ư ế trên m t server khác đ ch y báo cáo (report database) (cách làm này thộ ể ạ ường dùng để tránh nh hả ưởng đ n performance c a server chính). V n đ là report server c a b nế ủ ấ ề ủ ạ cũng c n ph i đầ ả ược c p nh t thậ ậ ường xuyên đ đ m b o tính chính xác c a các báoể ả ả ủ cáo. B n không th dùng c ch back up and restore trong trạ ể ơ ế ường h p này. Th thìợ ế b nạ
ph i làm sao? ả Lúc đó c ch replication c a SQL Server s đơ ế ủ ẽ ược s d ng đ b oử ụ ể ả
đ m cho d li u 2 database đả ữ ệ ở ược đ ng b (synchronized). Replication s đồ ộ ẽ ược bàn
Trang 8Server, Microsoft Access….B n ch c ch n s có nhu c u di chuy n data gi a cácạ ắ ắ ẽ ầ ể ữ server này (migrate hay transfer) và không ch di chuy n b n còn mu n đ nh d ngỉ ể ạ ố ị ạ (format) nó trước khi l u vào database khác, khi đó b n s th y DTS giúp b n gi iư ạ ẽ ấ ạ ả quy t công vi c trên d dàng.ế ệ ễ
Analysis Services
– M t d ch v phân tích d li u r t hay c a Microsoftộ ị ụ ữ ệ ấ ủ
D li u (Data) ch a trong database s ch ng có ý nghĩa gì nhi u n u nh b n khôngữ ệ ứ ẽ ẳ ề ế ư ạ
th l y để ấ ược nh ng thông tin (Information) b ích t đó. Do đó Microsoft cung c p choữ ổ ừ ấ
b n m t công c r t m nh giúp cho vi c phân tích d li u tr nên d dàng và hi uạ ộ ụ ấ ạ ệ ữ ệ ở ễ ệ
qu b ng cách dùng khái ni m hình kh i nhi u chi u (multidimension cubes) và kả ằ ệ ố ề ề ỹ thu t “khai phá d li u” (data mining).ậ ữ ệ
Notification Services
D ch v thông báo Notification Services là n n t ng cho s phát tri n và tri n khai cácị ụ ề ả ự ể ể
ng d ng t o và g i thông báo. Notification Services có th g i thông báo theo đ ch
D ch v SQL Server Full Text Search là m t d ch v đ c bi t cho đánh ch m c và truyị ụ ộ ị ụ ặ ệ ỉ ụ
v n cho d li u văn b n không c u trúc đấ ữ ệ ả ấ ượ ưc l u tr trong các CSDL SQL Server.ữ Đánh ch m c v i Full Text Search có th dduwowcj t o trên b t k c t d a trên dỉ ụ ớ ể ạ ấ ỳ ộ ự ữ
li u văn b n. Nó s r t hi u qu cho vi c tìm các s d ng toán t LIKE trong SQLệ ả ẽ ấ ệ ả ệ ử ụ ử
v i trớ ường h p tìm văn b n.ợ ả
Service Broker
Đượ ử ục s d ng bên trong m i Instance, là môi trỗ ường l p trình cho vi c các ng d ngậ ệ ứ ụ
nh y qua các Instance. Service Broker giao ti p qua giao th c TCP/IP và cho phép cácả ế ứ component khác nhau có th để ược đ ng b cùng nhau theo hồ ộ ướng trao đ i cácổ message. Service Broker ch y nh m t ph n c a b máy c s d li u, cung c pạ ư ộ ầ ủ ộ ơ ở ữ ệ ấ
m t n n t ng truy n message tin c y và theo hàng đ i cho các ng d ng SQLộ ề ả ề ậ ợ ứ ụ Server
Microsoft Visual Studio là m tộ môi trường phát tri n tích h pể ợ (IDE)
từ Microsoft. Nó được s d ng đ phát tri nử ụ ể ể chương trình máy tính cho Microsoft
Trang 9Windows, cũng nh các trang web, các ng d ng web và các d ch v web. Visualư ứ ụ ị ụ Studio s d ng n n t ng phát tri n ph n m m c a Microsoft nhử ụ ề ả ể ầ ề ủ ư Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có th s n xu t c haiể ả ấ ả ngôn ng máyữ và mã s qu n lýố ả
Visual Studio bao g m m tồ ộ trình so n th o mãạ ả h trỗ ợ IntelliSense cũng như c iả
ti n mã ngu nế ồ Trình g l i tích h p ho t đ ng c v trình g l i m c đ mã ngu nỡ ỗ ợ ạ ộ ả ề ỡ ỗ ứ ộ ồ
và g l i m c đ máy. Công c tích h p khác bao g m m t m u thi t k các hìnhỡ ỗ ứ ộ ụ ợ ồ ộ ẫ ế ế
th c xây d ngứ ự giao di n ng d ngệ ứ ụ , thi t k webế ế , thi t kế ế l pớ và thi t kế ế gi n đ cả ồ ơ
s d li uở ữ ệ Nó ch p nh n các plugin nâng cao các ch c năng h u h t các c p baoấ ậ ứ ở ầ ế ấ
g m thêm h tr cho cácồ ỗ ợ h th ng qu n lý phiên b nệ ố ả ả (như Subversion) và b sungổ thêm b công c m i nh biên t p và thi t k tr c quan cho cácộ ụ ớ ư ậ ế ế ự mi n ngôn ng cề ữ ụ thể ho c b công c dành cho các khía c nh khác trongặ ộ ụ ạ quy trình phát tri n ph n m mể ầ ề
Visual Studio h tr nhi uỗ ợ ề ngôn ng l p trìnhữ ậ khác nhau và cho phép trình biên
t p mã và g l i đ h tr (m c đ khác nhau) h u nh m i ngôn ng l p trình. Cácậ ỡ ỗ ể ỗ ợ ứ ộ ầ ư ọ ữ ậ ngôn ng tích h p g m cóữ ợ ồ C,[4] C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như
c aủ Visual Studio 2010 [5] ) H tr cho các ngôn ng khác nhỗ ợ ữ ư J++/J#, Python và Ruby thông qua d ch v cài đ t riêng r Nó cũng hị ụ ặ ẽ ỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS
Microsoft cung c p phiên b n "Express" (đ i v i phiên b n Visual Studio 2013ấ ả ố ớ ả
tr v trở ề ước) và "Comunity" (đ i v i b n Visual Studio 2015) là phiên b n mi n phíố ớ ả ả ễ
c a Visual Studio.ủ
C u trúc:ấ
Visual Studio không h tr cho b t k ngôn ng l p trình nào v gi i pháp ho cỗ ợ ấ ỳ ữ ậ ề ả ặ công c th c ch t, thay vào đó nó cho phép c m ch c năng đụ ự ấ ắ ứ ược mã hóa nh làư
m tộ VSPackage. Khi cài đ t, các ch c năng có s n nh là m t d ch v ặ ứ ẵ ư ộ ị ụ IDE cung c pấ
ba d ch v :ị ụ SVsSolution cung c p kh năng li t kê các d án và các gi iấ ả ệ ự ả
pháp; SVsUIShell cung c p c a s và giao di n ngấ ử ổ ệ ười dùng và SVsShell Ngoài
ra, IDE cũng có trách nhi m đi u ph i và cho phép truy n thông gi a các d ch v ệ ề ố ề ữ ị ụ
[7] T t c các biên t p viên, nhà thi t k , các lo i d án và các công c khác đấ ả ậ ế ế ạ ự ụ ược th cự
hi n theoệ VSPackages. Visual Studio s d ngử ụ COM đ truy c pể ậ VSPackages. Visual
Studio SDK cũng bao g mồ Managed Package Framework (MPF) là m t t p h p qu nộ ậ ợ ả
lý bao b c quanh cácọ COMinterfaces cho phép các gói được vi t b ng b t k ngônế ằ ấ ỳ
ng nào.ữ [8] Tuy nhiên, MPF không cung c p t t c các ch c năng b c l trongấ ấ ả ứ ộ ộ Visual Studio COMinterfaces.[9] Các d ch v có th đị ụ ể ược tiêu th đ t o ra các gói khác, đụ ể ạ ể thêm ch c năng choứ Visual Studio IDE.
H tr cho các ngôn ng l p trình đỗ ợ ữ ậ ược thêm vào b ng cách s d ngằ ử ụ
m tộ VSPackage đ c bi t đặ ệ ược g i là m tọ ộ d ch v ngôn ng ị ụ ữ. M t d ch v ngôn ngộ ị ụ ữ
đ nh nghĩa giao ti p khác nhau mà vi c th c hi n VSPackage có th th c hi n đ hị ế ệ ự ệ ể ự ệ ể ỗ
tr thêm cho các ch c năng khác nhau.ợ ứ [10] Các ch c năng có th đứ ể ược thêm vào theo
Trang 10cách này bao g m cú pháp màu, hoàn thành báo cáo k t qu , k t h p đôi, công c chúồ ế ả ế ợ ụ
gi i tham s thông tin, danh sách thành viên và đánh d u l i trên n n biên d ch.ả ố ấ ỗ ề ị [10] N uế giao di n đệ ược th c hi n, các tính năng s có s n ngôn ng D ch v ngôn ng sự ệ ẽ ẵ ữ ị ụ ữ ẽ
được th c hi n trên c s m i ngôn ng Vi c tri n khai có th tái s d ng mã tự ệ ơ ở ỗ ữ ệ ể ể ử ụ ừ phân tích cú pháp ho c trình biên d ch cho ngôn ng ặ ị ữ [10] D ch v ngôn ng có th đị ụ ữ ể ượ ctri n khai ho c trong mã ngu n g c ho c mã s qu n lý. Đ i v i mã ngu n g c, thì cể ặ ồ ố ặ ố ả ố ớ ồ ố ả COMinterfaces g c ho c Babel Framework (m t ph n c a Visual Studio SDK) đ u cóố ặ ộ ầ ủ ề
th để ượ ử ục s d ng.[11] Đ i v i mã s qu n lý thì các MPF s bao hàm các d ch vu qu nố ớ ố ả ẽ ị ả
lý văn b n.ả [12]
Visual Studio không bao g m b t kồ ấ ỳ H th ng qu n lý phiên b nệ ố ả ả h tr ki mỗ ợ ể soát mã ngu n nh ng nó xác đ nh hai cách thay th cho các h th ng ki m soát mãồ ư ị ế ệ ố ể ngu n đ tích h p v i IDE.ồ ể ợ ớ [13] M t VSPackage ki m soát mã ngu n có th cung c pộ ể ồ ể ấ giao di n ngệ ười dùng tùy ch nh c a riêng mình. Ngỉ ủ ượ ạc l i, m t plugin ki m soát mãộ ể ngu n b ng cách s d ngồ ằ ử ụ MSSCCI (Microsoft Source Code Control Interface) cung c pấ
m t t p các ch c năng độ ậ ứ ược s d ng đ th c hi n ch c năng ki m soát mã ngu nử ụ ể ự ệ ứ ể ồ khác nhau, v i m t giao di n ngớ ộ ệ ười dùng Visual Studio tiêu chu n.ẩ [14][15] MSSCCI l nầ
đ u tiên đầ ượ ử ục s d ng đ tích h pể ợ Visual SourceSafe v i Visual Studio 6.0 nh ng sauớ ư
đó được m ra thông qua Visual Studio SDK. Visual Studio.NET 2002 dùng MSSCCIở 1.1, và Visual Studio.NET 2003 dùng MSSCCI 1.2. Visual Studio 2005, 2008 và 2010 dùng MSSCCI 1.3.[15]
Visual Studio h tr ch y nhi u cá th c a môi trỗ ợ ạ ề ể ủ ường (t t c đ u cóấ ả ề VSPackages riêng c a mình). Nh ng trủ ữ ường h p s d ng cácợ ử ụ registry hives khác nhau
đ l u tr tr ng thái c u hình và để ư ữ ạ ấ ược phân bi t b iệ ở AppID (Application ID). Các
trường h p đợ ược đ a ra b i m tư ở ộ AppIdspecific.exe c th mà l a ch nụ ể ự ọ AppID, thi tế
l p cácậ hive g c ố và kh i ch y IDE. VSPackages đăng ký m t AppID đở ạ ộ ược tích h p v iợ ớ VSPackages khác cho AppID đó. Các phiên b n s n ph m khác nhau c a Visual Studioả ả ẩ ủ
đượ ạc t o ra b ng cách s d ng AppIds khác nhau. Các s n ph m phiên b nằ ử ụ ả ẩ ả Visual Studio Express được cài đ t v i AppIds riêng nh ng v i các s n ph m Standard,ặ ớ ư ớ ả ẩ Professional và Team Suite chia s cùng AppID. Do đó, ngẻ ười ta có th cài đ t cácể ặ phiên b n Express song song v i các phiên b n khác, không gi ng nh các phiên b nả ớ ả ố ư ả khác c p nh t các cài đ t tậ ậ ặ ương t Phiên b n Professional bao g m các VSPackagesự ả ồ
kh ng l trong phiên b n Standard và Team. H th ng AppID đổ ồ ả ệ ố ược th a hừ ưở ng
b iở Visual Studio Shell trong Visual Studio 2008.
Thi t kế ế: