Software Engineering in the Academy
Lokesh Khurana
Abstract
Lokesh Khurana
Abstract
There is no universally accepted definition of software engineering. For some, software engineering is just a glorified name for programming. If you are a programmer, you might put “software engineer†on your business card but never “programmer.†Others have higher expectations. A textbook definition of the term might read something like this: “the body of methods, tools, and techniques intended to produce quality software.†Rather than just emphasizing quality, we could distinguish software engineering from programming by its industrial nature, leading to another definition: “the development of possibly large systems intended for use in production environments, over a possibly long period, worked on by possibly many people, and possibly undergoing many changes, †where “development†includes management, maintenance, validation, documentation, and so forth.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
There is no universally accepted definition of software engineering. For some, software engineering is just a glorified name for programming. If you are a programmer, you might put “software engineer†on your business card but never “programmer.†Others have higher expectations. A textbook definition of the term might read something like this: “the body of methods, tools, and techniques intended to produce quality software.†Rather than just emphasizing quality, we could distinguish software engineering from programming by its industrial nature, leading to another definition: “the development of possibly large systems intended for use in production environments, over a possibly long period, worked on by possibly many people, and possibly undergoing many changes, †where “development†includes management, maintenance, validation, documentation, and so forth.
Key concepts: Programmer, Software engineering, Software development, Computer science, Documentation, Quality (philosophy), Software, Social software engineering