Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

10
Как правильно создать документы с требованиями?
Прямо сейчас мой руководитель создает документацию / спецификации требований для меня, используя программное обеспечение для отслеживания ошибок. Это кажется мне ужасной идеей, все требования предъявляются к этим маленьким билетам, и мне нужно щелкнуть эту тупую веб-форму, чтобы получить требования. Что такое нормальное программное решение для требований / спецификаций программного обеспечения? …

2
Использует ли интеграционное тестирование макеты?
В настоящее время я нахожусь в классе для тестирования программного обеспечения, где для нашего семестрового проекта мы должны выполнить несколько типов тестирования, таких как модульное тестирование и интеграционное тестирование. Для интеграционного тестирования профессор сказал использовать для нашего интеграционного тестирования макеты и библиотеки-имитаторы (такие как EasyMock и Mockito). Я довольно смущен, …

3
Где авторизация вписывается в многоуровневую архитектуру?
Как правило, я размещаю решения об авторизации в своих контроллерах на стороне сервера. В последнее время это были конечные точки RESTful, но я думаю, что то же самое относится и к архитектуре типов MVC. Ради аргумента предположим, что это авторизация на основе ролей. Защищенный метод будет аннотирован или проверен и …

2
Почему конструктор должен быть внутренним классом, а не в своем собственном файле классов?
Многие Builder Patternпримеры делают Builderвнутренний класс объекта, который он создает. Это имеет некоторый смысл, поскольку указывает на то, что Builderстроит. Однако в статически типизированном языке мы знаем, что Builderстроит. С другой стороны, если Builderэто внутренний класс, вы должны знать, какой класс Builderстроит, не заглядывая внутрь Builder. Кроме того, наличие конструктора …

6
При каком размере данных становится выгодным переходить с SQL на NoSQL?
Как программист реляционных баз данных (большую часть времени) я читал статьи о том, как реляционные базы данных не масштабируются, и о таких решениях NoSQL, как MongoDB. Поскольку большинство баз данных, которые я разработал до сих пор, были небольшими или средними, у меня никогда не было проблем, которые не были бы …

8
Почему использование строковых ключей обычно считается плохой идеей?
Это беспокоило меня некоторое время. В большинстве случаев, когда речь идет о хранении данных в таких структурах, как хеш-таблицы, программисты, книги и статьи, настаивают на том, что индексация элементов в указанных структурах по значениям String считается плохой практикой. Тем не менее, до сих пор я не нашел ни одного такого …

5
Альтернативы шаблону хранилища для инкапсуляции логики ORM?
Мне просто нужно было отключить ORM, и это было довольно сложной задачей, потому что логика запросов просачивалась повсюду. Если бы мне когда-либо приходилось разрабатывать новое приложение, я бы предпочел инкапсулировать всю логику запросов (используя ORM), чтобы защитить ее от изменений в будущем. Шаблон репозитория довольно сложен для кодирования и поддержки, …

6
Должна ли быть определена строковая константа, если она будет использоваться только один раз?
Мы реализуем адаптер для Jaxen (библиотека XPath для Java), который позволяет нам использовать XPath для доступа к модели данных нашего приложения. Это делается путем реализации классов, которые отображают строки (переданные нам из Jaxen) в элементы нашей модели данных. По нашим оценкам, нам потребуется около 100 классов с более чем 1000 …

5
Как REST API подходит для домена, основанного на командах / действиях?
В этой статье автор утверждает, что Иногда требуется представить в API операцию, которая по своей природе не является RESTful. и это Если API имеет слишком много действий, то это указывает на то, что он был разработан с точки зрения RPC, а не с использованием принципов RESTful, или что данный API, …

8
Есть ли термины «истинный», «ложный» и переключающий логическое значение? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто в прошлом году . Допустим, я пытаюсь описать свой код на техническом совещании. Сначала я установил логическое foobarзначениеtrue …

4
В чем разница между моделью Actor и микросервисами?
Оба кажутся параллельными MPI-сетями, связывающими процессы. Я идентифицирую актеров с услугами. Являются ли актеры более динамичными (вы можете создавать их и убивать как дышащих, тогда как сервисная сеть более статична) или как?

6
Начинающий: почему операции не содержатся в выходных командах?
Я просматриваю вводную книгу по программированию, в которой приведен простой пример псевдокода: Start input myNumber set myAnswer = myNumber * 2 output myAnswer Stop Почему мы не можем опустить создание другой переменной с именем myAnswerи просто поместить операцию в выходную команду, например так: Start input myNumber output myNumber * 2 …

6
Я нарушаю практику ООП с этой архитектурой?
У меня есть веб-приложение. Я не верю, что технология важна. Структура представляет собой N-уровневое приложение, показанное на рисунке слева. Есть 3 слоя. UI (шаблон MVC), уровень бизнес-логики (BLL) и уровень доступа к данным (DAL) Проблема, которую я имею, состоит в том, что мой BLL огромен, поскольку в нем есть логика …

8
Ложь 2: код должен быть разработан вокруг модели мира? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Я недавно прочитал сообщение в блоге « Три больших лжи», и мне трудно оправдать …

3
В C #, почему переменные, объявленные внутри блока try, ограничены в области видимости?
Я хочу добавить обработку ошибок в: var firstVariable = 1; var secondVariable = firstVariable; Ниже не будет компилироваться: try { var firstVariable = 1; } catch {} try { var secondVariable = firstVariable; } catch {} Почему блок try catch должен влиять на область видимости переменных, как это делают другие …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.