Phần mềm là gì và tại sao chúng ta quan tâm?

0
2

Minh họa trừu tượng về phần mềm và dữ liệu Tôi chưa bao giờ xem phần mềm là một ý tưởng gây tranh cãi hơn tôi nghĩ bánh xe gây tranh cãi. Bánh xe là những thứ đơn giản. Chúng có trục và vành và hữu ích cho nhiều thứ. Phần mềm phức tạp hơn một chút, nhưng nó không chỉ là một danh sách các hướng dẫn. Tuy nhiên, không mất nhiều công tìm kiếm để tìm ra các kỹ sư không xem phần mềm theo cách mà các nhà phát triển phần mềm xem nó. Thật vậy, có nhiều kỹ sư cơ điện sẽ thoải mái tranh luận rằng không nên để phần mềm trong tay các nhà phát triển phần mềm. Họ cho rằng lĩnh vực phát triển phần mềm không phải là kỹ sư phần mềm phù hợp. Nếu chúng ta muốn phần mềm thực sự tốt, chúng ta phải loại bỏ nó khỏi những người tự xưng là “kỹ sư phần mềm” và đặt nó vào tay những người được đào tạo bài bản như kỹ sư, chẳng hạn như điện, cơ khí hoặc thậm chí kỹ sư dân dụng.

Top 13 bài viết về các phần mềm giải trí và tiện ích thú vị cho pc

Lập luận này, mà tôi gọi là “Khiếu nại kỹ sư”, một phần bắt nguồn từ sự cạnh tranh của các ngành kỹ thuật. Các thành viên của mỗi lĩnh vực kỹ thuật có thể cảm thấy rằng chuyên môn của họ nên có ưu thế hơn những người khác. Các kỹ sư điện chỉ ra việc tạo ra các mạng lưới điện và thông tin liên lạc và tuyên bố rằng họ đã là một lực lượng sáng tạo trong 70 năm qua. Các kỹ sư cơ khí cho rằng các kỹ sư điện không thể tạo ra hoặc sử dụng năng lượng mà không có các thiết bị cơ khí. Các kỹ sư xây dựng lưu ý rằng họ là nhánh lâu đời nhất của lĩnh vực này và đã tạo dấu ấn trên cảnh quan thực tế của vùng đất. Các thành viên của cả ba lĩnh vực đều coi phát triển phần mềm như một hoạt động mới nổi và đã biến nó trở thành mục tiêu cho những lời chỉ trích của họ.

Ngoài ra, nguồn gốc của khiếu nại kỹ sư có thể bắt nguồn từ việc phần mềm xâm nhập và thay đổi tất cả các dạng thiết kế. Phần mềm đã thay thế các mạch tương tự để điều khiển kỹ thuật điện bằng các chương trình. Bà đã phá vỡ lĩnh vực thiết kế truyền thông trong kỹ thuật cơ khí và khuyến khích các nhà thiết kế trong lĩnh vực này chế tạo các thiết bị từ động cơ độc lập và bộ điều khiển kỹ thuật số. Buộc các chương trình thiết kế vào nhiệm vụ tạo ra các tòa nhà, cầu và đường, ông nắm quyền từ kỹ sư xây dựng và đặt nó vào tay các kiến ​​trúc sư và nhà thiết kế.

Tuy nhiên, một lý do giải thích cho những phàn nàn của một kỹ sư có thể là phần mềm không giống như những gì được tìm thấy trong các ngành kỹ thuật khác. Phần mềm được xem là một phần của công việc. Theo truyền thống, công việc được định nghĩa là sự kết hợp giữa vốn và lao động. Tuy nhiên, định nghĩa này thiếu một điểm chính. Nó không tính đến kiến ​​thức cần thiết cho công việc. Nếu chúng ta tạo ra một công việc, chúng ta phải biết cách làm một việc gì đó, chúng ta phải đào tạo công nhân sử dụng công cụ, chúng ta phải tổ chức cho công nhân làm việc tốt với nhau. Trước cuộc cách mạng công nghiệp, kiến ​​thức này thường được công nhân nắm giữ. Họ biết cách làm mọi thứ. Họ biết cách sử dụng các công cụ và sẽ dạy những kỹ năng này cho con cái của họ. Họ tự tổ chức và quyết định xem ai nên làm nhiệm vụ gì.

Trước Cách mạng Công nghiệp, người lao động có xu hướng tuân thủ kiến ​​thức một cách không chính thức. Họ đã mô tả các quá trình trong truyện hoặc thơ. Họ đã sử dụng các bài hát công việc để điều phối công việc. Tài liệu ban đầu này cung cấp một số ví dụ về những cách thức chính thức hơn để lập kế hoạch làm việc. Chúng ta có thể tìm thấy các kế hoạch xây dựng ban đầu và danh sách cách chế tạo vũ khí. Tuy nhiên, rất ít người bắt đầu nghĩ về công việc của tri thức một cách có hệ thống, ít nhất là ở châu Âu, cho đến khoảng năm 1755.

Với sự khởi đầu của cuộc cách mạng công nghiệp, con người bắt đầu chuẩn bị danh sách các chỉ dẫn cho ngành vào khoảng năm 1800. Một trong những ví dụ nổi tiếng nhất của công việc này đã được thực hiện tại Xưởng vũ khí Springfield ở Hoa Kỳ. Nhà máy này sản xuất vũ khí cho Quân đội Hoa Kỳ. Khoảng năm 1798, ông bắt đầu phát triển quy trình chế tạo các phiên bản giống hệt của khẩu pháo với các bộ phận có thể thay thế được. Họ muốn có thể tham gia từ một khẩu súng lục, đổi nó với cùng một phần cho một khẩu súng khác, và cả hai loại vũ khí đều hoạt động. Điều này không thể thực hiện được với các phương pháp sản xuất hiện có.

Khi mọi người bắt đầu nghĩ về các phép tính, họ tự nhiên chuyển sang các loại hướng dẫn được sản xuất cho các nhà máy. Ví dụ, vào năm 1831, Charles Babbage đã mô tả chiếc máy tính đầu tiên của mình trong cuốn sách Kinh tế máy móc và sản xuất. Vào những năm 1940, những người tiên phong trong lĩnh vực máy tính điện tử cũng dựa vào tài liệu ngành để mô tả cách thức hoạt động của lập trình. Thật vậy, họ đã rút ra từ “lập trình” từ kỹ thuật công nghiệp. Đối với các kỹ sư công nghiệp, chương trình là một kế hoạch và hướng dẫn cho một ngày làm việc.

Tổng hợp 14 bài viết hay nhất về các phần mềm úng dụng dành cho pc

Cuộc Cách mạng Công nghiệp không chỉ tạo ra một cách chính thức để ghi lại những kiến ​​thức cần thiết để bắt đầu một nhà máy, mà nó còn mang lại cho người chủ mới những kiến ​​thức đó. Những hướng dẫn chính thức để tạo ra các đối tượng không thuộc về cá nhân công nhân, mà là của chủ sở hữu của nhà máy. Những người chủ này quyết định phải làm gì và làm như thế nào. Theo cách tương tự, giờ đây chúng ta có những người sở hữu chương trình, quyết định chương trình nào họ muốn sử dụng và yêu cầu máy tính của họ chạy những chương trình đó.

Hiện tại, tôi có thể dừng bài viết này. Tôi có thể nói rằng các chương trình bắt nguồn từ các hướng dẫn của nhà máy, phát triển phần mềm tương tự như kỹ thuật công nghiệp và chúng tôi đã học được một chút lịch sử. Tuy nhiên, đây không phải là một cột lịch sử. Đây là chuyên mục về cách chúng tôi làm việc với công nghệ hiện đại. Hướng dẫn sản xuất không đủ để xây dựng một nhà máy. Chúng ta cần các dạng kiến ​​thức khác, bao gồm cách quản lý các công cụ và cách tổ chức công nhân. Thường thì loại kiến ​​thức này được tiến hành một cách không chính thức và do người lao động truyền lại. Vì vậy, công nhân vẫn nói chuyện với một số người về cách hoạt động của các nhà máy. Thật vậy, kể từ những năm 1980, chúng ta đã thấy ngày càng nhiều nhà máy có sự tham gia của công nhân vào việc vận hành nhà máy hàng ngày và chúng tôi đã tìm cách liên kết kiến ​​thức của công nhân với kiến ​​thức của kỹ sư công nghiệp – kiến ​​thức không chính thức với kiến ​​thức có hệ thống.

Là một hiện vật, phần mềm có tính hệ thống cao. Nó phải được tổ chức theo một cách nhất định, nếu không nó sẽ không hoạt động bình thường. Nó phải được sử dụng như thiết kế, nếu không nó sẽ đưa ra những câu trả lời sai. Tuy nhiên, nếu chúng ta nhìn xa hơn bề ngoài, chúng ta thấy rằng phần mềm cần ít nhất ba loại kiến ​​thức khác nhau. Mỗi loại kiến ​​thức là duy nhất. Quan trọng nhất, mỗi loài được thiết kế bởi một nhóm người khác nhau.

Loại kiến ​​thức đầu tiên bao gồm các thuật toán – một cách thức kinh doanh chính thức, có tổ chức. Loại kiến ​​thức này được tạo ra bởi các nhà nghiên cứu trong các trường đại học và các kỹ sư cấp cao trong các công ty. Nó được truyền đạt thông qua các lớp học và sách báo. Khi chúng tôi cố gắng xác định ai sở hữu nó, chúng tôi thường xem xét chủ sở hữu của các công ty.

Loại kiến ​​thức thứ hai có thể được đặc trưng như kiến ​​thức về ngôn ngữ hoặc công cụ lập trình. Chúng tôi đã có thể tạo ra một số lượng lớn các công cụ giúp chúng tôi tổ chức, cấu trúc, gỡ lỗi và kiểm tra phần mềm. Trong khi những công cụ này thường được tạo ra bởi các công ty, chúng thường đại diện cho kiến ​​thức được truyền từ người lao động sang người lao động một cách không chính thức. Sau những nỗ lực lập trình đầu tiên, chúng tôi thường tự học các ngôn ngữ lập trình. Chúng tôi học cách gỡ lỗi bằng cách làm việc với các lập trình viên cấp cao. Chúng tôi học cách tổ chức hệ thống bằng cách lắng nghe các nhà phát triển có kinh nghiệm.

Kiến thức cơ bản là về cách chúng tôi tổ chức mọi người để phát triển phần mềm. Càng ngày, kiến ​​thức này càng được chuyển giao từ chủ sở hữu công ty sang chính các lập trình viên. Phong trào này theo sau một phong trào tương tự trong sản xuất bắt đầu vào những năm 1980 với sự quan tâm ngày càng tăng đến việc kiểm soát chất lượng. Nó bắt đầu trở nên phổ biến ở Hoa Kỳ sau khi xuất bản năm 1989 của The Machine That Changed the World. Anh chuyển sang lĩnh vực phần mềm với những ý tưởng như lập trình Xtreme, phát triển Scrum, phát triển nhanh và mã nguồn mở.

Ba loại kiến ​​thức khác nhau này giúp giải thích một số phàn nàn từ kỹ sư và một số vấn đề mà phát triển phần mềm gặp phải. Trong ba nhóm kiến ​​thức, chỉ một nhóm – kiến ​​thức thuật toán – chính thức nằm trong tay các kỹ sư và nhà nghiên cứu cao cấp. Kiến thức về công cụ nằm trong tay người lao động, và kiến ​​thức tổ chức thuộc về sự kết hợp giữa người lao động và quản lý. Sự phân chia này cũng được tìm thấy trong kỹ thuật truyền thống, nhưng những lĩnh vực này có một sự khác biệt đáng kể. Trong những lĩnh vực này, các kỹ sư không làm việc với công nhân của họ. Các kỹ sư không chia sẻ bàn làm việc với quản lý cửa hàng và quản lý cửa hàng đứng hơn công nhân bình thường.

LEAVE A REPLY

Please enter your comment!
Please enter your name here