SDLC (System Development Life-Cycle)

- Mục đích để sản xuất các hệ thống chất lượng cao nhằm đáp ứng hoặc vượt trội hơn so với mong muốn của khách hàng, dựa trên yêu cầu của khách hàng , bằng cách cung cấp các hệ thống theo các giai đoạn đã được xác định một cách rõ ràng, trong khoảng thời gian và chi phí dự đoán. - Khái niệm SDLC tác động như là nền tảng cho nhiều phương thức phát triển và phân phối, chẳng hạn như Hardware development life-cycle và Software development life-cycle. Trong khi Hardware development life-cycle liên hệ cụ thể với phần cứng thì Software development life-cycle liên hệ cụ thể với phần mềm, SDLC khác biệt ở chỗ nó có thể đối phó với bất kỳ sự kết hợp của bất kì phần cứng và phần mềm, như một hệ thống có thể chỉ bao gồm phần cứng, hoặc chỉ có các phần mềm, hoặc kết hợp cả hai .

docx13 trang | Chia sẻ: lylyngoc | Lượt xem: 2383 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu SDLC (System Development Life-Cycle), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
SDLC (System Development Life-Cycle) SDLC là gì? Mục đích để sản xuất các hệ thống chất lượng cao nhằm đáp ứng hoặc vượt trội hơn so với mong muốn của khách hàng, dựa trên yêu cầu của khách hàng , bằng cách cung cấp các hệ thống theo các giai đoạn đã được xác định một cách rõ ràng, trong khoảng thời gian và chi phí dự đoán. Khái niệm SDLC tác động như là nền tảng cho nhiều phương thức phát triển và phân phối, chẳng hạn như Hardware development life-cycle và  Software development life-cycle. Trong khi Hardware development life-cycle liên hệ cụ thể với phần cứng thì Software development life-cycle liên hệ cụ thể với phần mềm, SDLC khác biệt ở chỗ nó có thể đối phó với bất kỳ sự kết hợp của bất kì phần cứng và phần mềm, như một hệ thống có thể chỉ bao gồm phần cứng, hoặc chỉ có các phần mềm, hoặc kết hợp cả hai . Được sử dụng bởi các kỹ sư hệ thống và các nhà phát triển hệ thống để lên kế hoạch, thiết kế, xây dựng, kiểm thử và phân phối hệ thống thông tin. Xây dựng hệ thống thông tin tương tự như xây dựng một ngôi nhà. Đầu tiên ,chủ sở hữu mô tả ngôi nhà trong trí tưởng tượng của mình cho nhà phát triển. Thứ hai, ý tưởng này là chuyển thành bản phác thảo và bản vẽ, rồi sau đó được đưa cho các chủ sở hữu xem xét và chọn lọc lại( thường xuyên, thông qua một số bản vẽ , mỗi cải thiện trên các khác ) cho đến khi chủ sở hữu đồng ý rằng đó là những gì họ muốn . Thứ ba , các bản thiết kế chi tiết được phát triển mà trình bày nhiều thông tin cụ thể hơn về ngôi nhà (ví dụ , cách bố trí của phòng, vị trí của các đường ống nước và đường dây điện , …). Cuối cùng , ngôi nhà được xây dựng theo bản thiết kế và thường với một số thay đổi và quyết định của chủ sở hữu như ngôi nhà được dựng lên . Xây dựng một hệ thống thông tin bằng cách sử dụng SDLC theo bốn giai đoạn cơ bản : lập kế hoạch , phân tích , thiết kế và thực hiện.Mỗi giai đoạn là chính nó bao gồm một loạt các bước , mà dựa vào kỹ thuật để cung cấp các deliverables ( tài liệu và các tập tin cụ thể để giải thích các yếu tố khác nhau của hệ thống ) . Các giai đoạn trong SDLC. Lập kế hoạch: Trọng tâm: Tại sao phải xây dựng hệ thống này? Làm thế nào để cấu trúc(kết cấu) dự án? Kết quả: Yêu cầu hệ thống với nghiên cứu tính khả thi. Project plan: worlkplan, kế hoạch bố trí nhân viên, danh sách các tiêu chuẩn, đánh giá rủi ro. Yêu cầu hệ thống . Nghiên cứu tính khả thi. Các bước: Xác định cơ hội. Identify opportunity. Phân tích tính khả thi. Phát triển Workplan.( Workplan mô tả một dự án được thực hiện và vạch ra như thế nào sẽ được thực hiện . Nó còn được gọi là một kế hoạch dự án hoặc báo cáo khả thi hoặc đề nghị ) Nhân viên dự án. Staff project. Điều khiển và định hướng dự án. Giai đoạn lập kế hoạch là quá trình cơ bản để giúp hiểu ra rằng tại sao hệ thống này nên đc xây dựng và xác định project team làm thế nào để xây dựng lên nó. Trong quá trình khởi tạo dự án, . Hầu hết các ý tưởng cho hệ thống mới đều xuất phát từ bên ngoài hệ thống thông tin (bộ phận marketing, bộ phận kế toán, …). Bộ phận IS sẽ làm việc với nhau và với bộ phận tạo ra các yêu cầu( đc gọi là project sponsor) để tiến hành phân tích tính khả thi. Việc phân tích tính khả thi xem xét các khía cạnh của dự án. (Tính khả thi về kĩ thuật – Chúng ta có thể xây dựng nó ko, khả thi về kinh tế - Nó có đem lại các giá trị kinh tế, khả thi về mặt tổ chức - ) Các yêu cầu hệ thống và phân tích tính khả thi sẽ đc trình bày với ban lãnh đạo để quyết định có nên thực hiện dự án hay ko. Khi dự án đc chấp nhận, nó sẽ đi vào quá trình quản lí dự án. Ở đây, người quản lí dự án tạo ra các workplan, bố trí nhân viên, sử dụng các kĩ thuật ở những chỗ thích hợp để giúp project team điều khiển và định hướng dự án trong suốt SDLC. Deliverable là project plan mô tả project team làm thế nào để phát triển hệ thống. Phân tích: Trọng tâm: Kết quả: Kế hoạch đề xuất hệ thống. Xác định các yêu cầu. Use cases. Mô hình tiến trình. Mô hình dữ liệu. Các bước: Phân tích chiến lược. Xác định nhu cầu công việc. Tạo use cases. Mô hình tiến trình. Mô hình dữ liệu. Trả lời câu hỏi ai là ng sử dụng hệ thống, hệ thống sẽ làm gì, hệ thống đc sử dụng khi nào và ở đâu. Trong giai đoạn này project team nghiên cứu các hệ thống hiện tại, xác định các cơ hội cải tiến, và phát triên các khái niêm cho hệ thống mới. Sự phân tích chiến lược đc phát triển để hướng dẫn project team. Bao gồm sự phân tích về các hệ thống hiện tại và những vấn đề của nó, hình dung ra những cách thiết kế hệ thống mới. Thu thập yêu cầu (thông qua các cuộc nói chuyện, họp nhóm, bản thăm dò ý kiến). Việc phân tích thông tin này kết hợp với input của project sponsor và nhiều ng khác, sẽ dẫn đường cho việc phát triển khái niệm cho hệ thống mới. Khái niệm hệ thống sẽ đc sử dụng để làm nền tảng cho việc phát triển các mô hình phân tích công việc. Sự phân tích, khái niệm hệ thống, các mô hình sẽ đc kết hợp vào tài liệu gọi là kế hoạch đề xuất hệ thống (system proposal) và đc trình bày cho project sponsor và ban lãnh đạo để quyết định project có nên tiếp tục hay ko. Thiết kế: Kết quả: Chi tiết kĩ thuật của hệ thống. Báo cáo hệ thống. Chi tiết kĩ thuật phần cứng & phần mềm. Bản thiết kế giao diện. Mô hình các xửu lí vật lí. Bản thiết kế chương trình. Chi tiết tài liệu và dữ liệu Mô hình dữ liệu vật lí. Các bước: Thiết kế vật lí cho hệ thống. Thiết kế cấu trúc. Thiết kế giao diện. Thiết kế các chương trình. Thiết kế dữ liệu và tài liệu. Hệ thống sẽ làm việc như thế nào trong điều kiện phân cứng, phần mềm, cơ sở hạ tầng mạng, giao diện người dùng, các biểu mẫu, và các báo cáo sẽ đc sử dụng, đặc trưng chương trình, dữ liệu, files sẽ cần đến. Mặc dù hầu hết các bước đã đc xác định trong giai đoạn phân tích nhưng ở giai đoạn này sẽ xác định 1 cách chính xác hệ thống sẽ thực hiện thế nào. Xác định chiến lược thiết kế. Điều này sẽ dẫn đường cho sự phát triển của nền tẳng cấu trúc thiết kế cho hệ thống, nó mô tả phần cứng, phần mềm và cơ sở hạ tầng mạng sẽ đc sử dụng. Trong nhiều trường hợp, hệ thống sẽ thêm hoặc thay đổi cơ sở hạ tầng đã tồn tại trong tổ chức. Thiết kết giao diện chỉ rõ người dùng sẽ hoạt động trong hệ thống như thế nào (bằng phương thức chuyển hướng như các menu và các nút trên màn hình) và những biểu mẫu và báo cáo mà hệ thống sẽ sử dụng. Chi tiết kĩ thuật của cơ sở dữ liệu và các file sẽ đc phát triển. Nó xác định 1 cách chính xác dữ liệu nào sẽ đc lưu và nơi mà chúng đc lưu. Nhóm phân tích phát triển thiết kế chương trình, nó xác định chương trình nào cần đc viết và các chương trình sẽ làm gì. Bộ sưu tập các deliverables (cấu trúc thiết kế, thiết kế giao diện, chi tiết kĩ thuật của file và cơ sở dữ liệu, thiết kế chương trình) là chi tiết kĩ thuật của hệ thống sẽ đc sử dụng bởi team lập trình ở giai đoạn hiện thực. Kết thúc giai đoạn thiết kế, sự phân tích tính khả thi và kế hoạch của dự án đc xem xét lại, và các sự quyết định khác nhau đc tạo ra bởi project sponsor và ban lãnh tạo về việc tiếp tục hay chấm dứt dự án. Thực thi: Bước cuối trong SDLC, trong đó hệ thống đc xây dựng thực sự. Giai đoạn thường nhận đc nhiều sự chú ý, bởi vì trong hầu hết các hệ thống nó là dài nhất và tốn kém nhất. Kết quả: Bản cài đặt hệ thống. Kế hoạch kiểm thử. Các chương trình. Tài liệu. Kế hoạch chuyển đổi. Kế hoạch hỗ trợ. Báo cáo sự cố. Thay đổi yêu cầu. Các bước: Xây dựng hệ thống. Cài đặt hệ thống. Duy trì hệ thống. Post-implementation . Xây dựng hệ thống. Hệ thống đc xây dựng và kiểm thử để đảm bảo rằng nó sẽ thực hiện như thiết kế. Do chi phí để sửa lỗi là rất lớn, testing là 1 bước quan trọng trong giai đoạn này. Nhiều tổ chức tốn rất nhiều thời gian và sự quan tâm cho testing . Hệ thống đc cài đặt. Sự cài đặt là quá trình tắt hệ thống cũ và khởi động hệ thống mới. Có 1 vài phương pháp có thể đc sử dụng để chuyển đổi hệ thống cũ sang mới. 1 trong các khía cạnh quan trọng trong việc chuyển đổi là kế hoạch đào tạo, được sử dụng để dạy ng dùng làm thế nào để sử dụng hệ thống mới và giúp quản lí các thay đổi do hệ thống mới. Nhóm phân tích lập kế hoạc hỗ trợ cho hệ thống. Kế hoạc thường bao gồm post-implementation review chính thức và ko chính thức, như 1 cách có hệ thống để xác định những thay đổi lớn và nhỏ cần thiết cho hệ thống, post-implementation review giúp project team xem lại các kết quả mà mình đã đạt được, rút kinh nghiệm trong những lần tiếp theo. Các mô hình trong SDLC. Mô hình Waterfall (Waterfall model) . Mô hình tăng trưởng (Iterative Model) . Mô hình bản mẫu (Prototype). Mô hình xoắn ốc(Sprial Model). Mô hình chữ V (V-model). Mô hình BigBang (Big Bang Model). Mô hình Agile (Agile Model). Mô hình phát triển ứng dụng nhanh (RAD Model) . Phương pháp luận của SDLC. Đinh nghĩa : phương pháp luận SDLC là các phương pháp hướng dẫn, chỉ dẫn ,các định hướng giúp chúng ta hoàn thành mọi hoặt động của chu trình SDLC. Nó là nền tảng của nhiều phương pháp hoặt động hay nói cách khác từ khung của phương pháp SDLC mà chúng ta mở rộng, phát triển thêm các phương pháp ứng dụng nhỏ : như thác nước, xoắn ốc….. Thành phần chính : Phương pháp SDLC có 3 thành phần quan trọng và lien kết chặt chẽ,tương tác với nhau để tạo nên một phương pháp hoàn chỉnh là : Model : Đại diện cho một số khía cạnh quan trọng của thế giới thực, nưng nó không giống như thật.Nó giống như là mô phỏng lại những khía cạnh trong cuộc sống. Có 2 cách để phân biệt khía cạnh của model : Khía cạnh vật lý : mô hình vật thể…. Khía cạnh trừu tượng : ký hiện toán học…. Model SDLC thường là sơ đồ và biển đồ, nó cho công cụ để mô phỏng một cách sác thực và chính xác,giúp người dùng định hướng và hình dung tốt hơn về hệ thống. Một số model trong SDLC : Some models of system comonents : Flowchart, Data floaw diagram (DFD), entity – relationship diagram (ERD), Structure chart, Use case diagram , Class diagram …. Some Models used to manage the development process : PERT chart , Gantt chart , Organixational hierarchy chart, Financial analysis models – NPV,ROI……. Tools : phần mềm (bộ cung cụ gồm các ứng) hỗ trợ giúp tạo ra các model và các thành phần mà hệ thống yêu cầu.Tùy theo yêu cầu, mục đích tạo ra hệ thống mà ứng dụng các chương trình vẽ từ đơn giản tới phức tạp như Case Tools. Một số Use Tools trong SDLC : Project managemen application. Drawing/ graphics application. Word processor / text editor. Visual modeling tool. Integrated development environment (IDE). Database management application. Reverse – engineering tool. Code generator tool. Techniques : Là một thành phần quan trọng không thể thiếu trong phương pháp SDLC . Nó gồm các hướng dẫn, định hướng giúp các nhà phần tích hoàn thành công việc phát triển các hoặt động của hệ thống cũng như các công việc của nó.Tùy theo yêu cầu của hệ thống mà nó có thể hướng dẫn chi tiết từng bước một, hay là đưa ra cách phát triển một cách khái quát, tổng quan. Một số công nghệ, kỹ thuật của nó : Strategic planning techniques. Project management techniques. User interviewing techniques. Data – modeling techniques. Relational database design techniques. Structure analysis techniques. Structure design techniques. Structure programming techniques. Software – testing techniques. Object – oriented analysis and design techniques. Các phương pháp tiếp cận SDLC phát triển hệ thống. Tiếp cận truyền thống ( Tranditional): Tiếp cận hướng cấu trúc: Lập trình hướng cấu trúc (structured programming) : ứng dụng phương pháp TOP – DOWN, chia nhỏ chương trình ra thành nhiều chương trình nhỏ hơn để thực hiện với trình tự từ trên xuống. Nó giúp chúng ta nhìn hệ thống một cách rõ ràng, dễ hiểu, cũng như dễ bảo trì , bổ sung , nâng cấp. Phân Tích hướng cầu trúc ( Structured analysis). Dòng chảy dữ liệu (DFD) : trong phương pháp SDLC thì DFD là mô hình biểu diễn lại luồng dữ liệu chạy trong hệ thống. Qua nó chúng ta có thể biết luồng dữ liệu di chuyển, truyền tải như thế nào khi thiết kế một phần mềm.Ký hiệu : Mô hình quan hệ cơ sở dữ liệu (ERD) : Thiết kế hướng cấu trúc: Kỹ Thuật Thông Tin ( Information Engineering): Là một phương pháp tiếp cận hướng dữ liệu (data – oriented) .Nó cũng xử lý theo phương pháp Top – Down từ trên xuống một cách trình tự, có quy trình nhất định để tạo và bảo trì hệ thống thông tin. Nó tập trung vào quá trình thực hiện hơn là chú trọng vào dữ liệu đầu ra và đầu vào của hệ thống. Có 4 bước tiến hành : Lập kế hoạch (planning): tạo ra ISA Phân tích (analysis) Thiết kế (Design) Hiện thực (Implementation) Tiếp Cận Hướng Đối Tượng. Object-oriented analysis (OOA) : Sử dụng nguyên lý cấu trúc hóa và kết hợp chúng với quan điểm hương đối tượng tập trung vào giai đoạn phân tích.Phương pháp gồm 5 bước : Tìm lớp và đối tượng : xác định cách thức tìm lớp và đối tượng, đây là nền tảng hình thành cho ứng dụng. Xác định cấu trúc : được thực hiện qua hai cách : Xác định cấu trúc tổng quát hóa – chuên biệt hóa và xác định sự phân cấp giữa các lớp tìm được. Cấu trúc tổng thể - thành phần ( whole – part ) được dùng để mô hình hóa cách thức một đối tượng là một phần của đối tượng khác, vá cách thức các đối tượng kết hợp thành các loại lớn hơn. Xác định các chủ đề : phân chia các mô hình lớp, đối tượng thành các đơn vị lớn hơn gọi là chủ đề. Xác định thuộc tính : xác định thông tinh và các mối liên kết cho mỗi thể hiện. Điều này bao gồm luôn việc xác định thuộc tính cần thiết để đặc trưng hóa cho mỗi đối tượng. Các thuộc tính tìm thấy sẽ được đưa vào đúng mức trong cấu trúc phần cấp. Xác định các dịnh vụ : định nghĩa toán tủ cho các lớp bằng cách xác định các trạng thái và dịnh vụ nhằm truy cập và thay đổi trạng thái đó. Object-oriented design (OOD) : Xác định các loại đối tượng cần thiết để giao tiếp với người, các thiết bị trong hệ thống.Cho thấy quá trình đối tượng tương tác để hoàn thành nhiệm vụ.Thiết lập từng đối tượng thực hiện bằng ngôn ngữ cụ thể của môi trường. Phân tích hệ thống chuẩn bị cho giai đoạn thiết kế gồm : Xác định vấn đề thế giới thực. Phát triển một chiến lược không hình thức hiện thực hóa từng phần đói với các vấn đề cần xác định. Hình thức hóa chiến lược này. Việc hình thức hóa chiến lược bào gồm một thứ tụ các công việc sau : Xác định lớp và đối tượng ở mức trừu tượng hóa Xác định ngữ nghĩa cho các lớp và đối tượng. Xác định mối quan hệ giữa các lớp và đối tượng. Cài đặt các lớp và đối tượng. Đưa và khái niệm gói và dùng như một thành phần tổ chức của mô hình . Cài đặt các lớp và đối tượng thông qua việc đào sâu các chi tiết của lớp và đối tượng, cách thức cài đặt chúng trong một ngôn ngữ lập trình. Trong giai đoạn thiết kế , phương pháp này nhấn mạnh sự phân biệt giữa tầng lớp lý luận ( lớp và đối tượng ) và tầng lớp vật lý ( modum và xử lý ) và phân chia mô hình thành các mô hình động , mô hình tĩnh. Sơ đồ lớp ( mô hình tĩnh ). Sơ đồ đối tượng ( mô hình tĩnh ). Sơ đồ trạng thái ( mô hình động ). Sơ đồ thời gian ( mô hình động ). Sơ đồ mô – đun. Sơ đồ xử lý. Object-oriented programming (OOP) : Viết và thực hiện các dòng lệnh để thực thi chương trình. Biến Thể: Rapid Application Development : mô hình phát triển ứng dụng nhanh: Được phát triển bởi IBM năm 1980 qua sách của James Matin. Chu kỳ phát triển: 60-90 ngày. Ráp nối tốc độ cao của mô hình thác nước, xây dựng dựa vào các thành phần và ứng dụng tạo mã tự động. Ưu điểm: Thời gian phát triển ngắn. Cần ít nhân công. Giảm rũi ro nhờ có khách hàng tham gia. Nhược điểm: Người phát triển phải có kỹ năng sử dụng công cụ tốt. Người phát triển và khách hàng phải gắn bó và nỗ lực cao. Sử dụng khi: Hệ thống có thể dễ dàng phân chia thành nhiều module. Biết rõ yêu cầu của hệ thống. Thời gian ngắn. Có thể sử dụng lại những thành phần đã có. Hệ thống nhỏ, không có tính nghiêm ngặt. Prototyping: Thực hiện ba công đoạn phân tích, thiết kế, thực thi đồng thời và lặp lại cho đến khi hệ thống hoàn chỉnh. Bản nháp (prototype) đầu tiên cung cấp với tính năng tối thiểu nhất cho người dùng. Ý kiến của người dùng được phân tích lại, thiết kế lại và thực thi lại thành prototype thứ 2 có thêm một số tính năng mới. Quy trình này sẽ tiếp tục xoay vòng cho đến khi prototype sau cùng được chấp nhận Thuận lợi: Cung cấp nhanh chóng hệ thống cho người dùng làm cho họ luôn có cảm giác đội dự án đang làm việc cho ho. Người dùng có thể tương tác với prototype để hiểu sâu hơn hệ thống có thể làm gì và không thể làm gì Bất lợi: prototype có nhiều thay đổi và có thể thiết kế lúc đầu trở nên sai lạc, trái ngược với phương pháp khác luôn được phân tích cẩn thận theo đúng quy trình. Xu Hướng Hiện Tại The Unified Process (UP). Extreme Programming (XP). Scrum. Câu hỏi và trả lời: SDLC là gì? Các giai đoạn trong SDLC? The Systems Development Life Cycle (SDLC): Miêu tả cho một quá trình để tạo ra hoặc thay đổi hệ thống thông tin, và các mô hình và phương pháp mà mọi người sử dụng để phát triển các hệ thống này . Bao gồm các giai đoạn công việc được xác định rõ ràng và riêng biệt. SDLC là một phương pháp cũng như khuôn mẫu nền cho việc lập kế hoạch và kiểm soát việc tạo ra, thử nghiệm, và cung cấp các hệ thống thông tin. Khái niệm SDLC tác động như là nền tảng cho nhiều phương thức phát triển và phân phối, chẳng hạn như Hardware development life-cycle và Software development life-cycle. Phương pháp luận của SDLC là gì? Phương pháp luận SDLC là các phương pháp hướng dẫn, chỉ dẫn ,các định hướng giúp chúng ta hoàn thành mọi hoặt động của chu trình SDLC. Nó là nền tảng của nhiều phương pháp hoặt động hay nói cách khác từ khung của phương pháp SDLC mà chúng ta mở rộng, phát triển thêm các phương pháp ứng dụng nhỏ : như thác nước, xoắn ốc….. Phương pháp SDLC có 3 thành phần quan trọng và liên kết chặt chẽ,tương tác với nhau để tạo nên một phương pháp hoàn chỉnh là: Model : Đại diện cho một số khía cạnh quan trọng của thế giới thực, nưng nó không giống như thật.Nó giống như là mô phỏng lại những khía cạnh trong cuộc sống. Tools : phần mềm (bộ cung cụ gồm các ứng) hỗ trợ giúp tạo ra các model và các thành phần mà hệ thống yêu cầu.Tùy theo yêu cầu, mục đích tạo ra hệ thống mà ứng dụng các chương trình vẽ từ đơn giản tới phức tạp như Case Tools. Techniques : Là một thành phần quan trọng không thể thiếu trong phương pháp SDLC . Nó gồm các hướng dẫn, định hướng giúp các nhà phần tích hoàn thành công việc phát triển các hoặt động của hệ thống cũng như các công việc của nó.Tùy theo yêu cầu của hệ thống mà nó có thể hướng dẫn chi tiết từng bước một, hay là đưa ra cách phát triển một cách khái quát, tổng quan. Trình bày các cách tiếp cận SDLC? Tiếp cận truyền thống ( Tranditional): Tiếp cận hướng cấu trúc. Kỹ Thuật Thông Tin ( Information Engineering) Tiếp Cận Hướng Đối Tượng: Biến Thể: Rapid Application Development. Prototyping. Xu Hướng Hiện Tại The Unified Process (UP). Extreme Programming (XP). Scrum.
Tài liệu liên quan