Программная инженерия против компьютерных наук
В современном обществе компьютеры стали неотъемлемой и неизбежной частью. Тем не менее, мы уделяем меньше внимания внутренней работе этих знакомых вещей. Информатика является теоретической основой компьютерных систем, в то время как программная инженерия представляет собой применение этих принципов в задачах для разработки программного решения..
Компьютерная наука
Информатика является фундаментальной наукой о вычислительной технике и программном обеспечении. Это дает представление о механизме как программных и аппаратных компонентов, так и теоретических основ вычисления для реализации и применения в компьютерных системах..
Информатика состоит из многих основных дисциплин. Вычислительная теория, теория информации и кодирования, алгоритмы и структура данных, а также теория языка программирования относятся к теоретической информатике. Суб-дисциплины прикладной информатики: искусственный интеллект, компьютерная архитектура и инженерия, компьютерная графика и визуализация, криптография и компьютерная безопасность, компьютерные сети, параллельные и параллельные и распределенные системы, базы данных и поиск информации, а также разработка программного обеспечения..
Многие из этих дисциплин основаны на математических теориях. Некоторые аспекты применения связаны с мехатроникой и другими прикладными науками.
Кроме того, эти дисциплины распространяются на второстепенные области обучения. Например, теория вычислений содержит области изучения, такие как теория автоматов, теория вычислимости, теория сложности, криптография и теория квантовых вычислений..
Программная инженерия
Программная инженерия может рассматриваться как одна из основных дисциплин прикладной информатики. Основное внимание уделяется созданию эффективных программных систем с использованием строгого инженерного подхода. Его можно охарактеризовать как систематический, дисциплинированный, поддающийся количественной оценке подход к проектированию, разработке, эксплуатации и обслуживанию программного обеспечения, а также изучению этих подходов. Не существует единого принятого определения программной инженерии, но есть толкование его цели..
Фриц Бауэр определил программную инженерию как «создание и использование принципов звуковой инженерии для получения экономически эффективного программного обеспечения, которое надежно и эффективно работает на реальных машинах».
Программное обеспечение не является физическим; это логические объекты, работающие в компьютерной системе. Следовательно, он должен быть рассчитан на оптимальную производительность как в аппаратном, так и в эксплуатационном аспектах. Для достижения этих целей разработчики программного обеспечения используют модели разработки. Эти модели включают основные этапы разработки программного обеспечения, такие как проектирование, кодирование, устранение неполадок и техническое обслуживание, в единую структуру, которая обеспечивает систематическое продвижение программного обеспечения в течение его жизненного цикла..
В чем разница между разработкой программного обеспечения и информатикой?
• Информатика фокусируется на теоретических аспектах вычислительной техники, как в программном, так и в аппаратном обеспечении..
• Программная инженерия фокусируется на разработке программного обеспечения систематически. Кодирование или программирование является ключевым компонентом разработки программного обеспечения.
• Разработка программного обеспечения может рассматриваться как приложение вычислительной теории (например, эффективность алгоритма может быть измерена с использованием сложности, которая описана в теории компьютерных наук, но это применение находится в области разработки программного обеспечения, где наиболее подходящий алгоритм выбирается по сложности).