1.
INTRODUCTION
One has to be a bit presumptuous to try to characterize both the past
and future of software engineering in a few pages. For one thing,
there are many types of software engineering: large or small;
commodity or custom; embedded or user-intensive; greenfield or
legacy/COTS/reuse-driven; homebrew, outsourced, or both; casual-
use or mission-critical. For another thing, unlike the engineering of
electrons, materials, or chemicals, the basic software elements we
engineer tend to change significantly from one decade to the next.
Fortunately, I’ve been able to work on many types and generations
of software engineering since starting as a programmer in 1955. I’ve
made a good many mistakes in developing, managing, and acquiring
software, and hopefully learned from them. I’ve been able to learn
from many insightful and experienced software engineers, and to
interact with many thoughtful people who have analyzed trends and
practices in software engineering. These learning experiences have
helped me a good deal in trying to understand how software
engineering got to where it is and where it is likely to go. They have
also helped in my trying to distinguish between timeless principles
and obsolete practices for developing
successful software-intensive
systems.
In this regard, I am adapting the [147] definition of “engineering” to
define engineering as “the application of science and mathematics
by which the properties of software are made useful to people.” The
phrase “useful to people” implies that the relevant sciences include
the behavioral sciences, management sciences, and economics, as
well as computer science.
In this paper, I’ll begin with a simple hypothesis: software people
don’t like to see software engineering done unsu
ccessfully, and try
to make things better. I’ll try to
elaborate this into a high-level
decade-by-decade explanation of software engineering’s past. I’ll
then identify some trends affect
ing future software engineering
practices, and summarize some implications for future software
engineering researchers, practitioners, and educators.
1.GIỚI THIỆUMột trong những đã một chút táo bạo để cố gắng để mô tả cả hai quá khứvà tương lai của công nghệ phần mềm trong một vài trang. Đối với một điều,có rất nhiều loại công nghệ phần mềm: lớn hay nhỏ;hàng hóa hoặc tuỳ chỉnh; nhúng hoặc người dùng chuyên sâu; Greenfield hoặcdi sản/cũi trẻ em/tái sử dụng-driven; homebrew, bên ngoài, hoặc cả hai; không thường xuyên-sử dụng hoặc nhiệm vụ quan trọng. Đối với another điều, không giống như kỹ thuật củađiện tử, vật liệu hoặc hóa chất, các yếu tố cơ bản phần mềm chúng tôikỹ sư có xu hướng thay đổi đáng kể từ một thập kỷ tiếp theo.May mắn thay, tôi đã có thể làm việc trên nhiều loại và thế hệcủa công nghệ phần mềm kể từ khi bắt đầu như là một lập trình viên vào năm 1955. Tôi đãthực hiện một tốt nhiều sai lầm trong phát triển, quản lý, và có đượcphần mềm, và hy vọng học được từ họ. Tôi đã có thể để tìm hiểutừ kỹ sư phần mềm sâu sắc và có kinh nghiệm nhiều, và đếntương tác với những chu đáo người đã phân tích xu hướng vàthực hành trong công nghệ phần mềm. Những kinh nghiệm học tập cógiúp tôi một thỏa thuận tốt trong cố gắng để hiểu làm thế nào phần mềmkỹ thuật phải nó ở đâu và nơi nó có khả năng để đi. Họ cócũng có thể giúp tôi cố gắng để phân biệt giữa nguyên tắc vượt thời gianvà quá cũ thực tiễn cho phát triểnthành công phần mềm-chuyên sâuHệ thống.Về vấn đề này, tôi đang điều chỉnh các định nghĩa [147] "kỹ thuật" đểxác định các kỹ thuật như "các ứng dụng khoa học và toán họcdo đó các thuộc tính của phần mềm được thực hiện hữu ích cho người dân." Cáccụm từ "hữu ích cho những người" ngụ ý rằng khoa học có liên quan bao gồmKhoa học hành vi, khoa học quản lý và kinh tế, nhưcũng như khoa học máy tính.Trong bài báo này, tôi sẽ bắt đầu với một giả thuyết đơn giản: phần mềm ngườikhông thích để xem công nghệ phần mềm thực hiện unsuccessfully, và cố gắngđể làm cho mọi việc tốt hơn. Tôi sẽ cố gắngxây dựng này vào một trình độ caothập kỷ của thập kỷ các giải thích về quá khứ của công nghệ phần mềm. Tôi sẽsau đó xác định một số ảnh hưởng đến xu hướnging trong tương lai công nghệ phần mềmthực hành, và tóm tắt một số tác động đối với phần mềm trong tương laiCác nhà nghiên cứu, học viên và nhà giáo dục chế tạo máy.
đang được dịch, vui lòng đợi..

1.
GIỚI THIỆU
Một có được một chút tự tin để cố gắng để mô tả cả quá khứ
và tương lai của công nghệ phần mềm trong một vài trang. Đối với một điều,
có rất nhiều loại kỹ thuật phần mềm: lớn hay nhỏ;
hàng hóa hoặc tùy chỉnh; nhúng hoặc người sử dụng chuyên sâu; greenfield hoặc
di sản / COTS / tái sử dụng theo định hướng; homebrew, thuê ngoài, hoặc cả hai; casual-
sử dụng hoặc nhiệm vụ quan trọng. Đối với một điều, không giống như các kỹ thuật của
các điện tử, vật liệu, hóa chất, các yếu tố phần mềm cơ bản chúng ta
kỹ sư có xu hướng thay đổi đáng kể từ một thập kỷ tiếp theo.
May mắn thay, tôi đã có thể làm việc trên nhiều loại và thế hệ
của công nghệ phần mềm từ bắt đầu từ một lập trình viên trong năm 1955. Tôi đã
làm một tốt nhiều sai lầm trong việc phát triển, quản lý, và mua lại
phần mềm, và hy vọng học được từ họ. Tôi đã có thể học hỏi
từ nhiều kỹ sư phần mềm sâu sắc và giàu kinh nghiệm, và để
tương tác với nhiều người chu đáo những người có xu hướng phân tích và
thực tiễn trong công nghệ phần mềm. Những bài học kinh nghiệm đã
giúp tôi một việc tốt trong việc tìm hiểu làm thế nào các phần mềm
kỹ thuật đã đến nơi nó và nơi nó có khả năng đi. Họ đã
cũng giúp trong tôi đang cố gắng để phân biệt giữa các nguyên tắc vượt thời gian
và tập quán lạc hậu để phát triển
phần mềm chuyên sâu thành công
hệ thống.
Về vấn đề này, tôi đang thích ứng [147] định nghĩa về "kỹ thuật" để
xác định kỹ thuật như "các ứng dụng khoa học và toán học
theo đó các thuộc tính của phần mềm được thực hiện hữu ích cho mọi người. "Các
cụm từ" hữu ích cho mọi người "ngụ ý rằng các khoa học có liên quan bao gồm
các ngành khoa học hành vi, khoa học quản lý và kinh tế, như
cũng như khoa học máy tính.
Trong bài báo này, tôi sẽ bắt đầu với một giả thuyết đơn giản: người làm phần mềm
không muốn thấy công nghệ phần mềm thực hiện Unsu
ccessfully, và cố gắng
để làm cho mọi việc tốt hơn. Tôi sẽ cố gắng để
xây dựng này vào một cấp cao
thập kỷ-by-thập kỷ qua lời giải thích của công nghệ phần mềm của. Tôi sẽ
sau đó xác định một số xu hướng ảnh hưởng đến
ing công nghệ phần mềm trong tương lai
thực hành, và tóm tắt một số tác động đối với tương lai của phần mềm
nghiên cứu kỹ thuật, các học viên và các nhà giáo dục.
đang được dịch, vui lòng đợi..
