tekst

tekst


Software engineering resembles many different fields. Programs have many mathematical properties. For example the correctness and complexity of many algorithms are mathematical concepts that can be rigorously proven. Programs are finite, so in principle, developers could know many things about a program in a rigorous mathematical way. The use of mathematics within software engineering is often called formal methods. However, computability theory shows that not everything useful about a program can be proven. Mathematics works best for small pieces of code and has difficulty scaling up. Science programs have many scientific properties that can be measured. The effectiveness of caches, bigger processors, faster networks, newer databases are scientific issues. Software Engineering is considered by many to be an engineering discipline. Proper analysis, documentation, and commented code are signs of an engineer. Programs are built in as a sequence of steps. By properly defining and carrying out those steps, much like a manufacturing assembly line, advocates hope to improve the productivity of developers and the quality of final programs. This approach inspires the many different processes and methodologies. Commercial software projects require management. There are budgets and schedules to set, people to hire, resources to acquire. All of this fits more appropriately within the purview of management. Art Programs contain many artistic elements, akin to writing or painting. User interfaces should be aesthetically pleasing to users. The act of writing software requires that developers summon the energy to find the answers they need while they are at the keyboard. Sometimes a creative spark is needed to create the architecture or develop a piece of code.

Branch of which field? Is SE a branch of programming, a branch of computer science, a branch of traditional engineering, or a field that stands on its own? There is considerable debate over this. Programming emphasizes writing code, independent of projects and customers. Software engineering emphasizes writing code in the context of projects. Many believe that software engineering is a part of computer science, because of their close historical connections and their relationship to mathematics. Both computer science and software engineering care about programs. Computer science emphasizes the theoretical, eternal truths while software engineering emphasizes practical, everyday usefulness. Others advocate making Software engineering a part of traditional engineering. Both engineering and software engineering share many project management problems and solutions. But, they apply different technologies, they use different kinds of processes. Recently, software engineering has been finding its own identity and emerging as an important freestanding field. Software engineering may need to create a form of regulation/licensing appropriate to its own circumstances.


Разработка программного обеспечения напоминает множество различных областей. Программы имеют много математических свойств. Например, правильность и сложность многих алгоритмов - это математические концепции, которые могут быть строго доказаны. Программы конечны, поэтому в принципе разработчики могли бы точно знать много о программе в строгом математическом смысле. Использование математики в разработке программного обеспечения часто называют формальными методами. Однако теория вычислимости показывает, что не все, что полезно в программе, может быть доказано. Математика работает лучше всего для небольших фрагментов кода и имеет трудности с расширением. Научные программы обладают многими научными свойствами, которые можно измерить. Эффективность кэшей, больших процессоров, более быстрых сетей, новых баз данных - научные проблемы. Многие разработчики программного обеспечения считают инженерной дисциплиной. Надлежащий анализ, документация и прокомментированный код являются признаками инженера. Программы создаются в виде последовательности шагов. Правильно определяя и выполняя эти шаги, как и сборочная линия производства, выступает за повышение производительности разработчиков и качество конечных программ. Этот подход вдохновляет множество различных процессов и методологий. Коммерческие программные проекты требуют управления. Есть бюджеты и графики, которые нужно установить, люди нанимать, ресурсы для приобретения. Все это соответствует более адекватно в рамках управления. Художественные программы содержат множество художественных элементов, сродни написанию или живописи. Пользовательские интерфейсы должны быть эстетически приятны для пользователей. Акт написания программного обеспечения требует от разработчиков вызывать энергию, чтобы найти ответы, которые им нужны, когда они находятся на клавиатуре. Иногда для создания архитектуры или создания фрагмента кода требуется творческая искра.

Филиал которого? Является ли SE отраслью программирования, отраслью информатики, отраслью традиционной инженерии или полем, который стоит сам по себе? Об этом много спорят. Программирование подчеркивает код написания, независимо от проектов и клиентов. Разработка программного обеспечения подчеркивает написание кода в контексте проектов. Многие считают, что разработка программного обеспечения является частью информатики из-за их близких исторических связей и их связи с математикой. И компьютерная наука, и программное обеспечение разрабатывают программы. Компьютерная наука подчеркивает теоретические, вечные истины, в то время как разработка программного обеспечения подчеркивает практическую повседневную полезность. Другие выступают за то, чтобы сделать разработку программного обеспечения частью традиционной техники. Инженеры и разработчики программного обеспечения имеют множество проблем и решений по управлению проектами. Но они применяют разные технологии, они используют разные виды процессов. В последнее время разработка программного обеспечения находит свою собственную идентичность и становится важной автономной областью. Для разработки программного обеспечения может потребоваться создать форму регулирования / лицензирования, соответствующую его собственным обстоятельствам. Можно утверждать, что лицензирование (в Соединенных Штатах) нецелесообразно, поскольку создание программного обеспечения представляет собой форму письма и требует, чтобы люди были лицензированы для написания компьютерных программ, может быть нарушением Первой поправки.

Report Page