Vui lòng tạo tài khoản để sử dụng đầy đủ các tính năng đọc sách miễn phí trên hệ thống. Việc đăng ký giúp đồng bộ dữ liệu, đảm bảo quyền truy cập ổn định và thuận tiện trên mọi thiết bị.
Nếu bạn muốn tải sách về thiết bị hoặc sử dụng tính năng gửi sách trực tiếp vào máy Kindle, vui lòng đăng ký tài khoản trước. Sau khi đăng ký thành công, hãy liên hệ Ban Quản Trị để được hướng dẫn thiết lập chi tiết.
Thư viện eBook này được xây dựng nhằm phục vụ mục đích tra cứu và tham khảo cá nhân, hoàn toàn phi thương mại. Hệ thống không sử dụng nội dung vào hoạt động kinh doanh, phân phối hay thu lợi dưới bất kỳ hình thức nào.
Các tài liệu được tổng hợp từ nhiều nguồn khác nhau. Ban Quản Trị không xác nhận, không bảo đảm và không chịu trách nhiệm đối với các nội dung sau:
Người dùng tự chịu trách nhiệm về mọi hành vi sử dụng tài liệu. Việc tiếp tục truy cập đồng nghĩa với việc bạn đã đọc, hiểu và chấp nhận đầy đủ các điều khoản miễn trừ trên.
Nguyễn Công Thịnh – 0943 838 882
Description:
As I was writing the final chapters in this book in the summer of 2009, I realized that software engineering was 40 years old. The name ‘software engineering’ was proposed in 1969 at a NATO conference to discuss software development problems—large software systems were late, did not deliver the functionality needed by their users, cost more than expected, and were unreliable. I did not attend that conference but, a year later, I wrote my first program and started my professional life in software.
Progress in software engineering has been remarkable over my professional lifetime. Our societies could not function without large, professional software systems. For building business systems, there is an alphabet soup of technologies—J2EE,.NET, SaaS, SAP, BPEL4WS, SOAP, CBSE, etc.—that support the development and deployment of large enterprise applications. National utilities and infrastructure—energy, communications, and transport—all rely on complex and mostly reliable computer systems. Software has allowed us to explore space and to create the World Wide Web, the most significant information system in the history of mankind. Humanity is now faced with a new set of challenges—climate change and extreme weather, declining natural resources, an increasing world population to be fed and housed, international terrorism, and the need to help elderly people lead satisfying and fulfilled lives. We need new technologies to help us address these problems and, for sure, software will play a central role in these technologies.
Software engineering is, therefore, a critically important technology for the future of mankind. We must continue to educate software engineers and develop the discipline so that we can create more complex software systems. Of course, there are still problems with software projects. Software is still sometimes late and costs more than expected. However, we should not let these problems conceal the real successes in software engineering and the impressive software engineering methods and technologies that have been developed.
Software engineering is now such a huge area that it is impossible to cover the whole subject in one book. My focus, therefore, is on key topics that are fundamental to all development processes and topics concerned with the development of reliable, distributed systems. There is an increased emphasis on agile methods and software reuse. I strongly believe that agile methods have their place but so too does ‘traditional’ plan-driven software engineering. We need to combine the best of these approaches to build better software systems.
Books inevitably reflect the opinions and prejudices of their authors. Some readers will inevitably disagree with my opinions and with my choice of material. Such disagreement is a healthy reflection of the diversity of the discipline and is essential for its evolution. Nevertheless, I hope that all software engineers and software engineering students can find something of interest here.