Задание по проектированию программы

При выполнии теста на должность PHP-девелопера в иностранную компанию неожиданно наткнулся на задание, которое ввело меня в ступор и заметно снизило самооценку. Задание я не выполнил, но теперь оно меня гложит.

In large IT company employees are working on many different projects. For controlling the project, it is crucial to know how much time the employees needed for the implementation of projects.
Please conceptually design an application with which it is possible to detect the time required. To do so, please complete the following prerequisites:
− the company has a TCP / IP based network
− the acquisition should be integrated as much as possible
− there must be a central evaluation option
Please create the following information in a Word document:
− general structure of the application (components, communications, etc.)
− proposals for technologies to be used
− important classes / modules and their relationships

Я даже не знаю, как сформулировать вопрос, потому что никогда подобным не занимался. Одно дело создать структуру классов, на в данном случае это лишь малая часть задания. Я бросился за книги (Code complete, Domain Driven Design), но они достаточно объёмны и я даже не знаю, в правильном ли направлении двигаюсь.

А вопрос, собственно, в том, что нужно делать/читать/смотреть, чтобы быть в состоянии подобное задание выполнить. Хотя бы минимально.
  • Вопрос задан
  • 2715 просмотров
Пригласить эксперта
Ответы на вопрос 1
bobermaniac
@bobermaniac
Насколько я понимаю, следует обладать минимальным здравым смыслом.

Насколько я понимаю, речь идет о том, чтобы создать автоматизированную систему учета времени по конкретным проектам с возможностью нахождения агрегатов. В простейшем случае это может быть обычный таймер, который запускается вместе с системой и переключается пользователем при смене проекта. Остальное — клиент/сервер, коммуникации, классы — тривиально, обычная БД, в которой хранятся записи вида «пользователь А работал над проектом Б в течение С часов Д (дата)», коммуникации через что-там-у-вас-в-похапе-принято-не-знаю-для-сокетов.

Для чего-то более сложного необходимо понимание того, что такое проект в данной компании, как именно происходит работа над ним и какие инструменты используются. Тогда можно обойтись без вмешательства пользователя вовсе. Но это уже тонкости, насколько я понимаю.

Вообще, странно, что такая задача дается на php, потому что php здесь подойдет только для сервера, а он как раз технологически тривиален, самая интересная часть — клиентская.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы