Job

In the framework of the practical part of the course you will have developed end-to-end example: application «project Management - Tasks» (module IC for project management).

The first part of the practical exercises will be devoted to the development of basic technologies, such as C#, databases, client technology, etc., the second part will include a study of the possibilities of the platform Flexberry to efficiently create applications.

General description of the subject area

You want to develop a project management module. The project consists of a set of tasks, each of which has a contractor and the period of performance.

Specifications:

  • The application is implemented as a ASP.NET WebForms application.
  • Data is stored in the database MSSQL Server.

Practical task no 1 - server development (C#, .NET ASP.NET)

Will be required for implementation:

  • Microsoft Visual Studio 2015
  • Git for Windows

Job. Part 1.

You want to implement an algorithm to determine the date of completion of the project on the basis of the duration of constituent tasks and sequence information in the performance of tasks (when the next task cannot be started until the previous one is finished). For simplicity, we assume the end date excluding the public holidays. A standard workweek consisting of 40 hours. The algorithm is passed an array of the tasks of the aforesaid number, start date, duration and number of the predecessor task. The output is supposed to be the end date of the project.

The implementation should be done .net-libraries and to prepare unit tests for it (supplementing written in the beginning, for a more complete code coverage), to show the percentage of code coverage from unit tests (the more the better). The source of data on working days to make a substitute.

Job. Part 2.

Implement a simple ASP.NET WebForms-application (at this stage, no database), which contains the components (. ascx controls), realizowa:

  1. Calculation of project end date based on user input about the tasks of this project (component needs to use the library from the task above).
  2. The calculation of the increased complexity for the project, with indication of admission of excess of the percentage (field a base complexity, the field for entering the tolerance button, the unit displays the result).

Providing performance verification

The implemented solution (Visual Studio Solution) to put it all in a repository on GitHub (the solution must compile and run). A link to the repository to provide the teachers of the course.

Practical exercise No. 2 - Client-side development (HTML, CSS, JS, jQuery)

Will be required for implementation:

  • Code editor for client development: Visual Studio Code, Atom, Sublime Text, etc.
  • Git for Windows

Job

With use of opportunities HTML, CSS, JS, jQuery mark up a form that will display a list of tasks for each artist for each day in the form of blocks with a brief description. The blocks should be placed from top to bottom. In the case when the contractor on a particular day assigned to multiple tasks concurrently, tasks are placed horizontally. As tasks are given the opportunity to click on a field indicating the status of specific tasks and change the status to “Completed” or “Cancelled” if the task cannot be executed. Must also be able to transfer tasks from the block one day to another (by dragging it with mouse or buttons).

to deliver results

Implemented project to place in a repository on GitHub in the form of embedded pages GitHub Pages that allows you to view the finished result. A link to the published repository and thus the project to provide teachers of the course.

Practical exercise No. 3 - the Database

Will be required for implementation:

  • Microsoft SQL Server
  • Microsoft SQL Server Management Studio
  • Git for Windows

Job

For the specified subject area to implement the database, fill the database with scripts (at least 5 records per table). Implement scripts to create constraints, indexes. To attach the scripts to create the database and populate, Bacup database.

Prepare SQL scripts to obtain the following information:

  1. Get a list of outstanding tasks for the current project in the order listed.
  2. Withdraw the rating of artists by the number of performed tasks.
  3. Bring 10 tasks with the shortest execution time and 10 tasks with the longest execution time.
  4. To bring artists that have not been assigned any tasks.
  5. For each executor to bring a list of projects in which it participates.

to deliver results

Implemented scripts commit in the GitHub repository. A link to the repository to provide the teachers of the course.

Practical assignment # 4 - Designing the IP

Will be required for implementation:

  • Flexberry Designer

Job

Draw a UML diagram for the designated subject area. The composition of the diagrams is determined by the trainees, but should provide a full description of the subject area.

to deliver results

The result is uploaded in the format of a CRP stage of Flexberry Designer. Stage (a file with the extension *.CRP) should commit to the repository on GitHub, the link to provide the teachers of the course.

the Practical task №5 - Object design and generation applications

Will be required for implementation:

  • Flexberry Designer
  • Microsoft Visual Studio 2015
  • Microsoft SQL Server
  • Git for Windows

Job

Execute object design and generation of ASP.NET applications for the described subject area. As a basis to use the previously implemented the UML model. Generation of the application and the database must be executed by means Flexberry Designer, the application must meet the requirements and be fully functional. Submission must be high quality customized signatures to classes and attributes on the forms should be adequate. The list of forms and attribute composition must correspond to the subject area and cover all of the required business function.

to deliver results

The generated application and the scripts to create the database should be put in a repository on GitHub. To provide teachers with a reference to the repository.

Practical task №6 - Development of business logic applications

Will be required for implementation:

  • Flexberry Designer
  • Microsoft Visual Studio 2015
  • Microsoft SQL Server
  • Git for Windows

Job

In generated using Flexberry Designer application is required to implement the following business logic.

to deliver results

Modified business logic should be included in the development application and sakimichan in the appropriate repository. Link to the repository is available for inspection by the course instructors.

Practical task №7 - Development of the UI application logic

Will be required for implementation:

  • Microsoft Visual Studio 2015
  • Microsoft SQL Server
  • Code editor for client development: Visual Studio Code, Atom, Sublime Text, etc.
  • Git for Windows

Job

to deliver results

Modified UI logic should be included in the development application and sakimichan in the appropriate repository. Link to the repository is available for inspection by the course instructors.

Practical exercise No. 8 - the Functional subsystem Flexberry

Will be required for implementation:

  • Flexberry Designer
  • Microsoft Visual Studio 2015
  • Microsoft SQL Server
  • Git for Windows

Job

The implemented application to configure the subsystem powers. Users must start the application administrator. Authorization form-based. To create a hierarchy of roles, add transactions to view the data and to grant rights only to specific users. To configure the roles and assign these roles to users.

To configure the auditing subsystem. In the developed application, all changes to data objects must be recorded in the audit. In the navigation menu, you should add forms of audit that should only be shown to administrators.

to deliver results

The revised application must be seamicro in the appropriate repository. Additionally, the repository must be added to the SQL scripts that need to perform to run an application with a subsystem of powers and audit. Link to the repository is available for inspection by the course instructors.