Day, 257
Mr De
10 November 2018, 18:01

Что я еще интересного узнал с момента последней записи в цели.

Программная инженерия и Информатика

Нашел русскоязычное определение термина Software Engineering.

Программная инженерия определяется как приложение дисциплины инженерии к программному обеспечению.

Разработка программного обеспечения связана с дисциплинами информатики, управления проектами, и системной инженерии.

Кстати об информатике. Информатика то и есть Computer Science, по определению вкипедии. Т.е. мы еще с самой школы проходим основы Computer Science.

По определению, это наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.

Есть русскоязычное определение и для Software Development.

Разработка программного обеспечения - деятельность по созданию нового программного обеспечения.

Разработка программного обеспечения как инженерная дисциплина является составной частью (областью) программной инженерии

Процесс разработки программного обеспечения состоит из множества подпроцессов, или дисциплин

  • Анализ требований → Спецификация программного обеспечения
  • Проектирование программного обеспечения
  • Программирование
  • Тестирование программного обеспечения
  • Системная интеграция (System integration)
  • Внедрение программного обеспечения (или Установка программного обеспечения)
  • Сопровождение программного обеспечения

Модели процесса

Водопадная (каскадная, последовательная) модель

Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке.

Этапы проекта в соответствии с каскадной моделью:

  • Формирование требований;
  • Проектирование;
  • Реализация;
  • Тестирование;
  • Внедрение;
  • Эксплуатация и сопровождение.

Итерационная модель

Модель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект»

Спиральная модель

При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.

Что еще.

Начал читать первую главу книги "Beginning Software engineering". И обратил внимание на первые семь пунктов разделов главы:

  • Requirements Gathering
  • High‐Level Design
  • Low‐Level Design
  • Development
  • Testing
  • Deployment
  • Maintenance
  • Wrap‐up
  • Everything All at Once
  • Summary

Если объединить High‐Level Design и Low‐Level Design в просто Design, то получим упомянутую выше статью Процесс разработки программного обеспечения.

Like it? Share with friends!
Alena Novikova11/10/2018

Все же, мне кажется, лучше использовать английские названия моделей построения проектов/систем, поскольку они в ходу. Сейчас я делаю проекты waterfall, lean и agile, причем последний имеет наибольшую популярность, поскольку заказчик желает менять (чаще дополнять) требования постоянно.

Да, списки фаз абсолютно правильные. Если хотите посмотреть что все это время делает System/Solution Architect смотрите картинку с фазами архитектуры https://en.m.wikipedia.org/wiki/The_Open_Group_Architecture_Framework

Reply
Alena Novikova11/10/2018

Тут моя любимая картинка о разнице подходов https://www.101ways.com/agile-vs-waterfall-vs-iterative-vs-lean-software-development-in-pictures/

Сейчас мой заказчик считает, что мы работаем agile, а на самом деле это lean :)

Reply
Add comment
See in dairy
Goal

You can publish
your goal here

We can help you achieve it!

310 000

like-minded

tools

for an exciting achievement

Join us!
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?