<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Formalization of the software module development using matrix  forms </article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Igor V. Kovalev</string-name>
          <email>kovalev.fsu@mail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasiliy V. Losev</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikhail V. Saramud</string-name>
          <email>msaramud@gmail.com</email>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Petr A. Kuznetsov</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexandra S. Lifar</string-name>
          <email>alifar15@mail.ru</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>China Aviation Industry General Aircraft Zhejiang Institute Co., Ltd</institution>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Federal State Budgetary Educational Institution of Higher Education "Krasnoyarsk State Agrarian University”</institution>
          ,
          <addr-line>90, Mira Av., Krasnoyarsk, 660049, Russian Federation</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Krasnoyarsk Science and Technology City Hall of the Russian Union of Scientific and Engineering Associations</institution>
          ,
          <addr-line>61, Uritskogo street, Krasnoyarsk, 660049, Russian Federation</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Reshetnev Siberian State University of Science and Technology</institution>
          ,
          <addr-line>31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation</addr-line>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Siberian federal university</institution>
          ,
          <addr-line>79 Svobodny pr., Krasnoyarsk, 660041, Russian Federation</addr-line>
        </aff>
      </contrib-group>
      <fpage>169</fpage>
      <lpage>174</lpage>
      <abstract>
        <p>  The article considers the formalized approach to develop a multi-user document exchange system based on a matrix form of data representation. The multi-stage development of modular software by several participants is presented as basic process. The algorithmic implementation of information flows in the context of software development is presented. The document life cycle model is described using the UML diagrams. The considered algorithm contains a hierarchical document flow structure with the subordination of some documents to others. According document flow the participant interaction model of software development process is considered. The model of administrative document flow includes the following roles (owners): the product development manager; the customer representative; the developer; the tester. As a result, the presented matrices fully describe the graph of the considered document flow process. The formalized approach based on the matrix form of representation can be used as input data for multi-user systems' algorithmization in solving modular software design problems.</p>
      </abstract>
      <kwd-group>
        <kwd>1  Matrix form</kwd>
        <kwd>document</kwd>
        <kwd>module</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction </title>
      <p>
        Nowadays, many software design methods (software) are developed and unified approaches for
different categories are established [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. One of the features of modular design is the possibility of using
formalized approaches. Let us consider a similar approach the matrix form of representation of
multiuser systems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], such as document exchange. The representation of information flows passing through
the document management system (DMS) is formalized in the form of a visual graph model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. The matrix form of data presentation </title>
      <p>
        As a basic, consider the process of software module developing with the following tasks: module
developing, its testing and accepting as an element of common software package [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Moreover,
checking the accepted task adequacy and verification is carried out as well as the developed software
module is archived at the final stage of development.
      </p>
      <p>Supposed the forms F1...F8 are documents used in simulated process: F1 – development assignment
form; F2 - form of the task approval document; F3 - assignment to the developer; F4 - development
report; F5 - test report; F6 - notice of test results; F7 - notice of development results (claim letter); F8
acceptance certificate.</p>
      <p>Supposed the actions A1...A4 are procedures performed on the documents for changing states in the
simulated process: A1.1...1.7 – document creation; A2 - document approval; A3.1…3.2 – document sending;
A4 –archiving.</p>
      <p>Supposed the performers P1…P4 are performers of action in simulated process: P1 – product
development manager; P2 - customer representative; P3 – developer; P4 - software tester (Figure 1:).</p>
      <p>In the framework of specified paths there are three document flow scenarios. According to three
document flow scenarios let us build a document flow matrixes. Performers in different scenarios are
highlighted differently. At the first step the product development manager issues a development task
and the customer's representative approves it.
 
Table 1  
The document flow matrix. Step 1 </p>
      <p>The product development manager issues a development order to the developer. Further, the
developer issues a report based on his work results.</p>
      <p>The developer sends a development report to the tester. Depending on the development results tester
he issues the test report with possible notices and forward it.
 
 
 
F5 </p>
      <p>F6 </p>
      <p>F7 
F5 </p>
      <p>F6 </p>
      <p>F7 
 
 
 
 </p>
      <p>According to the first scenario, the report is approved by the product development manager. In the
second scenario, the developer issues a new development report with adjustments (and the previous
step is repeated). The second scenario is bold italic highlighted in the matrix.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Document lifecycle model in document management system </title>
      <p>Based on the obtained scenarios, let us consider an algorithmic implementation of the information
flows in the context of software development. The algorithmic implementation is presented in the form
of UML diagrams (Figure 2:).</p>
      <p>According to this model, software development includes the following:</p>
      <p>F6 
P4 
 
P4 
 
F6 </p>
      <p>If the customer's requirements are satisfied, the customer accepts the development results and the
product development manager archives its. If there are any notices (the third scenario begins) the
customer forms claim letter and sends it to the product development manager.</p>
      <p>In the case of the first scenario, the project is archived. In the case of the third scenario, the product
development manager produces an updated development task and sends it to the developer (then the
third step is repeated). The third scenario is underscore highlighted.</p>
      <p>Setting the task for software development. A task for software development is formed.</p>
      <p> The development mark is entered into the project documentation registration log. The service
note for the specific module development is drawn up.</p>
      <p> After drawing up the development assignment it is agreed with the customer.
 The development task is sent for correction in case the customer has any corrections.
 After (possible) adjustment, the task is passed to the developer to create a software module.
 The developer creates the module algorithms and issues the development report based on work
results.</p>
      <p> The source modules text is added to the set of documents.</p>
      <p> The developed software module is sent for testing and corresponding record is made in the
documentation/</p>
      <p> If the test is successful, the module is sent to the customer verification. If not, it is submitted to
the developer for correction.</p>
      <p> The final development report is generated in a form suitable for the archiving in case the
customer has no comments. If there are any comments the task is sent for re-approval with the product
development manager.</p>
      <p>
        The considered algorithm contains a hierarchical document flow structure with the subordination of
some documents to others [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Documents based on orders, administrative notes or instructions retain
their link. Also, this algorithm assumes the new document release notification as well as the ability to
track the development process (journal) for persons involved in the development process. In general,
the layout is consistent with the ideas of building a document management system.
      </p>
      <p>According document flow the participant interaction model of software development process is
considered (Figure 3:).</p>
      <p>The model of administrative document flow includes the following roles (owners): the product
development manager; customer representative; developer; tester.</p>
      <p>The product development manager is responsible for the formation of main development assignment
agreed with customer representative. Firstly, the product development manager carries out approval at
the customer representative taking into account software comments and requirements. Responsible
performers are assigned for certain tasks. After agreement with the customer representative, the product
development manager gives the development assignment to programmer.</p>
      <p>During the development the process is controlled by organizing a time control system. Programmers
return results of each software module in the form of development reports. After the modules are
developed they are sent for testing.</p>
      <p>Testing determines the module suitability for operation and the high-quality performance of all the
required functions. Programmers responsible for development submit development reports for testing.
The tester combines modules into single software package and tests software. If the test is successful
and no customer comments the project modules are archived and the final project is put into operation
by the customer.</p>
      <p>
        This diagram describes the normal development scenario without comments. Scenarios with notice
are described by a similar model. If the module does not pass the test, it is sent for revision [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>The project is submitted for approving with the customer in case of successful test. If there are
comments the product development manager issues a new development assignment. The final project’s
modules are archived and the final project is put into operation by the customer in case of comments
absences.</p>
      <p>Thus, the presented matrices fully describe the graph of the considered document flow process. The
formalized approach based on the matrix form of representation can be used as input data for multi-user
systems' algorithmization in solving modular software design problems.</p>
    </sec>
    <sec id="sec-4">
      <title>4. References </title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Langer</surname>
          </string-name>
          , Guide to Software Development,
          <article-title>Designing and Managing the Life Cycle (</article-title>
          <year>2012</year>
          ) 354. Springer London.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Molnár</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Benczúr</surname>
          </string-name>
          ,
          <article-title>"Modeling Information Systems from the Viewpoint of Active Documents"</article-title>
          ,
          <source>Vietnam Journal of Computer Science</source>
          <volume>2</volume>
          (
          <issue>4</issue>
          ) (
          <year>2015</year>
          )
          <fpage>229</fpage>
          -
          <lpage>241</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Krukovskiy,
          <article-title>Graph model of composite workflow</article-title>
          ,
          <source>Mathematical Machines and Systems</source>
          <volume>1</volume>
          (
          <issue>120</issue>
          ) (
          <year>2005</year>
          )
          <fpage>136</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Poskonin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. O.</given-names>
            <surname>Kalinin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. V.</given-names>
            <surname>Kovalev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Saramud</surname>
          </string-name>
          ,
          <article-title>Optimization of electronic document management systems by means of encoding and visualization of stored data in the integrated development environment</article-title>
          ,
          <source>MATEC Web of Conferences 226</source>
          <volume>04021</volume>
          (
          <year>2018</year>
          ).
          <source>DOI: 0</source>
          .1051/matecconf/201822604021.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>I. Paramonova</surname>
          </string-name>
          ,
          <article-title>"Electronic Document-Management Systems: A Classification and New Opportunities for A Scientific Technical Library"</article-title>
          ,
          <source>Scientific and Technical Information Processing</source>
          <volume>43</volume>
          (
          <issue>3</issue>
          ) (
          <year>2016</year>
          )
          <fpage>136</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>I. V.</given-names>
            <surname>Kovalev</surname>
          </string-name>
          et al.,
          <source>J. Phys.: Conf. Ser. 1679</source>
          <volume>052037</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>