Автор работы: Пользователь скрыл имя, 14 Декабря 2014 в 13:35, отчет по практике
Эпам системз — крупнейший поставщик услуг в области разработки программного обеспечения и решений на территории России, стран СНГ, Центральной и Восточной Европы
Компания “Эпам системз”(EPAM) была основана в 1993 году. За время работы реализовано огромное количество проектов в странах СНГ и по всему миру. Понимание специфики отечественного бизнеса и окружающей среды, в том числе законодательной, а также размер и стабильность компании сделали EPAM лидером в консалтинге и разработке программного обеспечения в Центральной и Восточной Европе.
Услуги, оказываемые компанией:
К основным чертам, характеризующим компанию можно отнести следующие:
География предприятия насчитывает 29 офисов в 9 странах мира и 21 центр разработок в СНГ. Количество сотрудников насчитывает свыше 4500 специалистов.
В Беларуси находится наибольший процент сотрудников Epam. Белорусские офисы – одни из старейших. В Минске сосредоточены основные кадровые ресурсы: четырёх из восьми самых крупных и важных клиентов/проектов Epam Systems – Thomson Reuters, Oracle, ATG и Renaissance Capital. Минск является также местом, где предоставляется ряд уникальных услуг производства:
Партнеры по решениям и технологиям — ведущие мировые производители программного обеспечения, а также разработчики инновационных технологий, необходимых для создания передового программного обеспечения, среди которых такие фирмы, как SAP, Microsoft, BEA Systems, IBM, Novell, Oracle, Sun Microsystems, ABBYY, Datalex, Hyperion, Interwoven, LeverX, LogicLibrary, Retek, Knova, Farata Systems.
Сочетание экспертных знаний, которыми владеют партнеры фирмы по консалтингу, и передового опыта разработки программного обеспечения для лидеров рейтинга Global 500 позволяет компании предлагать оптимальные решения для различных сегментов рынка. Среди партнёров по консалтингу можно выделить CoreMatrix Systems, Datalex, Echo International, IMG, Madison Consulting Group, Solutionz Group.
Первостепенной задачей производственной практики было ознакомление со структурой предприятия, изучение документации, прав и обязанностей сотрудников и руководства. В п.1 эти вопросы были кратко освещены. Дальнейшее задание технического характера. Было предложено ознакомиться с проектом и выполнить одно из заданий, требовавшееся для дальнейшей разработки.
Проект представляет собой систему тестирования пользователей на предмет знаний и умений работать с наиболее востребованными и используемыми продуктами корпорации Microsoft: операционные системы Windows и пакет офисных программ MS Office. Разработка начиналась лет 7 назад в Венгрии. Это была симуляция MS Office 2003 и ОС Windows XP. В настоящее время ведётся разработка симуляций ОС Windows 7 и MS Office 2010.
Основная идея проекта заключается в следующем. Пользователь выбирает задание, загружается симулируемое приложение, определённым образом настроенное на выполнение текущей задачи. Например, если это MS Word, то приложение загружается уже с каким-то начальным текстом, графиками, рисунками. Могут быть настроены границы, вид страницы, форматирование текста, нумерация страницы, цвет шрифта и фона и т. д. Эта функциональность достигается посредствам конфигурации из xml файлов. Затем экзаменуемый читает задание и начинает его выполнять. В процессе выполнения пользователь осуществляет какие-то действия, информация о которых пишется в лог. Параллельно логированию ведётся проверка команд, которые создаются во время действий тестируемого на совпадение (частичное совпадение, попадание в границы массивов и т.д.) с необходимыми командами и их параметрами.
Каждая команда представляет собой класс, реализующий интерфейс ICommand, в которые в качастве generic-параметра передаётся класс приложения – класс, характеризующий конкретное симулируемое приложение: WordApplication, ExcelApplication и т.д. Этот класс должен реализовывать ряд интерфейсои может содержать поля и методы, логические значения которых не связаны с формами приложений. Такой подход призван разделить представление данных от их обработки. Это способствует лучшей разделяемости и слабой связанности исходного кода, а также облегчает большие файлы, содержащие исходный код класса формы.
Команды помечаются одним из специальных атрибутов: [NonReportingСommand], [ReportingOnlyCommand], [ReflectedCommand]. Выбор конкретного из них связан лишь с логикой исполнения команды: должна ли она исполнять какие-то действия или достаточно просто сообщить что в приложении что-то изменилось и на этом закончить выполнение команды.
Любая команда включает в себя Application, Object, Action и параметры. Пример команды, используемой в симуляции MS Word:
namespace Word.Commands
{
[ReportGoal("Text", "Copy", "User copied into clipboard text {0}")]
class Copy : ReflectedWordCommand
{
private string _copiedText;
public Copy(PathWay pathway) : base(pathway)
{
}
[CaseSensitiveParameter(1, "Copied text")]
public string CopiedText
{
get { return _copiedText; }
}
protected override void OnInitialized()
{
_copiedText = WordControl.GetSelectedText();
}
protected override void Execute()
{
var hilightedText = new HilightedText();
hilightedText.
DesktopEngine.Clipboard.Copy(
WordControl.Copy();
}
}
}
Приведённая выше команда используется для копирования текста. В методе Execute реализована вся функциональность копирования. А параметр CopiedText, помеченный атрибутом CaseSensitiveParameter будет использоваться для сверки скопированного текста с тем текстом, который нужно было скопировать по заданию. CaseSensitiveParameter определяет способ сравнения параметров команды с заданными. Возможны следующие виды сравнения:
Каждый из этих классов определяет специфику сравнения параметров команд с заданными параметрами для прохождения теста.
Существуют действия, которые пользователю выполнять не разрешается. Например, выбирать определённый вид документа, или выбирать двухстороннюю печать документа. Для этих целей в системе используется механизм IncorrectAction.
Важной особенностью является возможность сохранять и загружать приложения с начальной конфигурацией. Это делается при помощи специальных конфигурационных классов, которые используются ядром системы для сериализации и десериализации в xml конфигурационные фалы. Пример такого класса приводится ниже.
namespace Vista.Applications.Office2007.
{
[ConfigurationOption("
public class HeaderFooterPositionOption : WordNodeOption<HeaderFooterPos
{
public override void Apply()
{
int headerFooterPosition;
if (int.TryParse(Settings.Value, out headerFooterPosition))
{
App.MainForm.
}
}
protected override void SaveState()
{
if (App.MainForm.
{
Settings.Value = App.MainForm.
}
}
public override bool IsSaved
{
get { return !string.IsNullOrEmpty(
}
}
}
Кроме этих базовых возможностей система включает в себя большой набор базовых компонент, посредствам которых был реализован пользовательский интерфейс. Основой большинства компонент являются сторонние DevExpress контролы, которые уже содержат в себе весомую часть необходимой функциональности, связанной в большей степени с отрисовкой. Это позволило серьёзно упростить разработку приложения и значительно сократить сроки сдачи проекта.
В качестве задания на учебную практику было предложено реализовать Find&Replace dialog для симуляции MS Office Word 2010. Ниже приводится спецификация.
1. Preconditions
1.1. Word 2010 application is open.
2. Features
2.1. Replace Text
Works the same as described in Word 2007 Misc - find and replace, p. 2.
2.2. Find Text
2.2.1. Finding the required text scores the goal. Supported pathways:
2.2.1.1. via Navigation pane
2.2.1.2. via Find and Replace dialog
3. UI Specification
3.1. Navigation Pane
3.1.1. Triggers:
3.1.1.1. Ctrl+F
3.1.1.2. Ribbon -> Home tab -> Editing group -> Find button
3.1.1.3. Ribbon -> Home tab -> Editing group -> Find button's menu -> Find option.
3.1.1.4. Ribbon -> View tab -> Show group -> Navigation Pane check box.
1) Search box animation on Navigation pane start is not supported - to reduce effort.
2) When a Navigation pane is invoked using one of the triggers in p. 3.1.1.1. - 3.1.1.3, the check-box in the Ribbon -> View tab -> Show group becomes checked.
3.1.2. Major Components
1) Caption: Navigation
2) Task pane options arrow: neutral. Tooltip: "Task Pane Options" The navigation pane is always docked, and can't be moved or re-sized - confirmed.
3) button: closes the navigation pane. Check box in Ribbon -> View tab -> Show group becomes unchecked. Tooltip: "Close"
1) Default text: Search Document
2) The search is performed dynamically: the typed in characters are highlighted in the 1st search result as they appear in the search box.
Highlighting of all the available search results is not supported, the highlight color remains as in Word 2007 simulation - to reduce effort, confirmed.
3) Selecting the word in the document and activating search (see triggers in p. 3.1.1.1, 3.1.1.3, 3.1.1.4) puts the selected text in the search text box. The search box focus animation is not supported - confirmed.
4) Search history is not supported - confirmed.
1) Search
Tooltip: "Find Options and additional search commands"
If there is no text in the search text box, Search button invokes a submenu:
a) "Advanced Find..." invokes Find and replace dialog, Find tab is active.
b) "Replace..." invokes Find and replace dialog, Replace tab is active.
c) "Go to..." invokes Find and replace dialog, Find tab is active (unlike the real application - confirmed).
d) All the other links are neutral.
2) Cancel
a) If there is any text in the search text box, the search button is changed to Cancel button (see screenshot below).
b) Tooltip: "Click to end your search and scroll back to your original place in the document."
c) On pressing the Cancel button:
Tooltip: "Find Options and additional search commands" Works the same as described for Search button above.
3.1.2.3. Tabs (C)
3.1.2.3.1. Headings list (C1) Neutral. Tooltip: "Browse the headings in your document"
3.1.2.3.2. Pages list (C2) Neutral. Tooltip: "Browse the pages in your document"
3.1.2.3.3. Search results list (C3) Default tab. Tooltip: "Browse the results from your current search"
3.1.2.4. Search Results Pane (D)
3.1.2.4.1. If the search field (p. "3.1.2.2.1. Search Box (B1)") is empty, the following text is displayed:
"You can search for text in your document by typing in the search box above.
Click the Magnifying Glass button to find commands to search for objects, such as Graphics, Tables, Equations, or Comments."
3.1.2.4.2. If the search field contains an existing text in the document:
Showing page numbers only is supported, no section headers - confirmed.
Информация о работе Отчет по производственной практике в Компании “Эпам системз”