Ameliorated Methodology For The Design Of Project Data Flow Diagram. Mr. Anilkumar Hulsure Department of Information Technology, D.Y.Patil College of Engineering Akurdi, Pune anil.hulsure@gmail.com A B S T R A C T Project is a temporary endeavor to Create / Develop a product, service, or result. The project differs from ongoing business activities like implementing the automated information system tools or activities involved in the software maintenance. The activities of the project are to be performed in a sequence and sometimes repetitive and iterative clusters of project processes. The project management Institute, inc., (PMI) has prepared a de facto standard procedure for managing general projects in which, various processes are sequenced in the chronological order of project life cycle (PLC) phases and classified in various knowledge areas encompassing time, scope, resources, cost, communication, quality, integration, procurement and risks. Unlike other projects, the software development is invisible, complex and flexible. Therefore software development projects directly or implicitly need to overcome these lacunae [1]. This is possible if, the software project develops each relevant software incorporating its development life cycle (SDLC) stages. The software development is performed either in SDLC phases or through swelled spires of these phases in the spiral order. Index Terms : PLC(project life cycle),sdlc(software development life cycle ),PMI(project management Institute), Project Charter, DFD(Data Flow Diagram),PWFD(Project Work Flow Diagram). I. INTRODUCTION There is a need to study the software development project processes in three dimensions viz., PLC, knowledge areas, and SDLC. Since errors within SDLC stages are growing exponentially in the chronological subsequent stages, there is always a need to detect & correct them in the appropriate processes. Thus, the de facto standard processes of PMI are either need to be modified or replaced with newer processes or deleted as irrelevant. Moreover, there are two types of additions of clusters of activities. During the evolution of the project, the requirements of the ensuing software keep on changing due to the changing needs of the client business. So there should be a cluster of activities that manage the evolutionary change requirements[1]. Due to the rapid advancement in the information technology, the tools & techniques involved in the project management activities may change during the project progress, as a result, the software process will become dynamic entity. So there is a need to have additional cluster of activities called process management activity. There is a necessity to study the software project management as a separate discipline owing to the nature and development of software product. The other products can perform their activities independently, whereas the software product performs its activities in conjunction with its environment comprising hardware, firmware, or other software tools. Whenever there is a change in the environment, the software needs to be either modified or compromised with quality, fault tolerance capability. The quality of other products may be dampened due to ageing or wear & tear outs, but the quality of the software dampens due to non-compatibility of the environment and not with wear & tear of ageing. II. PROJECT MANAGEMENT 767 2015, IJAFRC and NCRTIT 2015 All Rights Reserved www.ijafrc.org
Project Management is a fascinating and intriguing mixture of technical & managerial aspects [1]. It answers what and how about the realization of the system. The success rate of the software development project is pathetically as low as to the tune of around 30-40%. Especially, when the software is built on the object oriented technology, the success rate is pathetically low to the tune of less than 20%. Computerworld, a leading systems magazine, published the results of This data shows that projects are not always successful. The national audit office of UK has identified factors for projects failure. The prominent factors for failure are lack of skills, proven approach to project management and lack of skills required for the software development. Thus, huge amount of human resource is wasted in the unsuccessful projects, in spite of using historical prototypes for the realization of projects. In other types of projects, involving development of tangible products, the success rate is much higher. The software project management (SPM) plays vital role in overcoming these lapses of software development. The principles of software project management are more persistent than software development activities, though, still it has not been immune to change. The project management institute (PMI) has identified the general project phases, the possible knowledge areas within which the de facto standard project processes are to be executed. Each project process is identified with input, output, and tools & techniques used. PMI has identified 42 such processes to be executed either in sequential or in sequential clusters of processes such that within each cluster, some processes may be activated recursively or iteratively. These processes are appropriately placed in the two dimensional plane with PLC phases & knowledge areas as axes. There is vast difference between other products, services or results and the software product. Most of the other products are tangible and utilizable independently or dependable on constant environment. The SPM differs from other project managements having the following specific characteristics [2], Invisibility: Other project progress can be seen and touched, but Software project progress cannot be seen. So to understand the progress, strong deliverables have to be developed. These deliverables may be at some milestones of the project and need to produce deliverables. To enable the stakeholders to understand the project progress, these need to produce appropriate strong deliverables in the form of documents produced through a specific semiotics. Complexity: The cost of other Engineering products can be determined based on its quality, and other constraints, but the cost of software products is not static and cannot be estimated so easily, as it is developed with complex sequence of around 40 activities. However, to reduce the difference between the estimated cost and the allocated budget, efficient cost estimation methodologies need to be used. To avoid rework of activities, the design should be very accurate and cover all facets of the ensuing software. Conformity: The other engineering products might have developed with complex group of activities, but the product, or intermediate product of each individual activity follows some consistent physical laws. But software developers have to conform to the requirements of human clients or organizations. The error detection in the ensuing soft ware should be very strong. Thus, all stages of software testing are to be carried out rigorously. Because of lapses in collective memory, in internal communication, or in effective decision making, the requirements are inconsistent. Flexibility: The ease of incorporating the change in software may be its strength. But the same may be weakness, if the change needed for producing compatibility of interfaces to physical or organizational system. To carry out the compatibility to other software and data, the development of middleware may be added advantage. 768 2015, IJAFRC and NCRTIT 2015 All Rights Reserved www.ijafrc.org
Figure 1. Project Management The quality of the software product in a phase depends on the quality that it undergoes in all its previous phases. When the product quality in the previous phase has some defects, these defects have ripple effect on the later phases. Therefore, *- the software projects processes need to correct these errors in the same SDLC phase as and when they are detected. In addition to the above two major differences, the presence of SDLC compels positioning of software project processes to be identified in 3-Dimensional space formed with knowledge area, project life cycle phases and software life cycle phases as three mutually perpendicular directions, instead of 2-Dimensional plane. In addition, if the duration of software development project is little long, the base requirements (on whose base the project is undertaken) keep on changing due to either the change in business norms or the business evolution. The changes may be incorporated in any of the development phases. Thus, the general project processes need to undergo drastic change in their activities to accommodate naturalness (to maintain the compatibility due to quality enhancement in the environment), correctness & completeness (to correct the defects) and to accommodate 3-Dimensional perspective (based on project life cycle phases, knowledge areas, and software development life cycle stages). The processes can be represented as solid bricks within the rectangular box (as shown in the figure below). The box may contain some hollow bricks i.e. without any project purposes. These processes, though are designed on the lines of PMI processes drastically undergo modifications, alterations, replacements, deletions, and additions. III. METHODOLOGY FOR THE DESIGN OF PROJECT DATA FLOW DIAGRAM 1. Treat the entire project work as a single node and design project flow diagram 2. Decompose the node according to any of the three project space components such as knowledge areas, project life cycle phase, and software development life cycle stage. Each level node need to be divided once with respect to any of the project space components. The order of decomposition 769 2015, IJAFRC and NCRTIT 2015 All Rights Reserved www.ijafrc.org
is immaterial and also all nodes of the same level need not be decomposed with respect to same project space component[2]. 3. Each leaf node is the intersection of knowledge area, project life cycle phase, and software development life cycle stage. 4. Identify the referenced and defined attributes of each activity (The purpose is to sequence these activities in a 3-D space by identifying sequential, concurrent, iterative or recursive activities). 5. Let 'R i' denote the referenced attributes and 'D i' denote the defined attributes of the process 'P i' (are equal to1 to n). Here, the referenced attributes set R i can be obtained by the input or the values of the input of the standard process of software project management that matches with P i. Similarly, the defined attributes set D i can be obtained by the output or the values of the output of that process of software project management that matches with P i. In the worst case, if any of the software project management does not match, then the input/output of the activity is obtained by the organizational process assets. 6. Now from "Abstract view elements activity", we obtain two data dictionaries containing[1] a. Actor A i, its corresponding referenced interface attributes (A r i), and Defined interface attributes(a d i). b. Class name, its referenced attributes (C r i), and defined attributes (C d i). 7. For each P i, Compute R i A d j for j = 1 to n. Compute R i C d j for j = 1 to n and R i D j where j i varies from 1 to n. 8. For each P i, Compute D i A r j for j = 1 to n. Compute D i C r j for j = 1 to n and D i R j where j i varies from 1 to n. 9. Store the above computations in separate data dictionaries in the descending order of number of elements. 10. Read the data dictionary entries from k = 1 to n. R i - R i A d k, R i = R i - R i A d k. 11. Actor = A k; Inflow = A d k. Repeat the process till R i = ø 12. Read the data dictionary entries from k = 1 to n. R i - R i C d k, Ri = R i - R i C d k. 13. Class = C k; Inflow = C d k. Repeat the process till R i = ø 14. Read the data dictionary entries from k = 1 to n. R i - R i D k, Ri = R i - R i D k. Process = p k; Inflow = D k. Repeat the process till R i = ø 15. Read the data dictionary entries from k = 1 to n. D i - D i A r k, Di = D i - D i A r k. a. Actor = A k; Inflow = A r k. Repeat the process till R i = ø 16. Read the data dictionary entries from k = 1 to n. D i - D i C r k, Di = D i - D i C r k. a. Class = C k; Inflow = C r k. Repeat the process till R i = ø 17. Read the data dictionary entries from k = 1 to n. D i - D i D k, Di = D i - D i D k. a. Process = P k; Inflow = R k. Repeat the process till D i = ø 18. Design first cut DFD with respect to P i 19. Repeat steps 1 to 15 for i = 1 to n. 20. Combine all the first cut DFDs using the following table. A A d C C d P r R P P d D C C r A A r A1 P,T,R -- -- -- -- P1 P2, P3 SI DS1 P,T,R,SI -- -- -- -- DS1, DS2 P, XY P1 SI P2 P1 -- -- -- A2 TA 770 2015, IJAFRC and NCRTIT 2015 All Rights Reserved www.ijafrc.org
-- -- -- -- P1 SI P3 P1 -- DS2 XX -- -- A Input From Actor P d Connection From Current Process To Another Processes A d Input Data Flow From Actor D Output Data Flow From Current Process To Other Process C Input From Data Store To Process C Output From Current Process To Data Store C d Input Data Flow From Data Store To Process C r Output Data Flow From Current Process To Data Store P r Input From Process (Process Name) To Current Process A Output From Current Process To Actor R Input Data Flow From Process To Current Process A r Output Data Flow From Current Process To Actor P Current Process Name 21. Consider the entry P = p i. If R for r = r 1; then search for entry P = p r1 ; in P = p r1 if R and D are NULL ;then Update P i = p i p r1; p r = p r - p r1 22. Consider the entry P = p i. If D for d = d 1; then search for entry P = p d1 ; in P = p d1 if R and D are NULL ; then Update P i = p i p d1; p d1 = p d - p d1 23. Consider the entry P = p i. If C = c i, c j for i j; then C d 1 <-- C d 2 then c i = c i c j 24. Consider the entry P = p i. If C = c k, c l for k l; then C r 1 <-- C r 2 then c k = c k c l 25. Draw DFD for the above updated table. IV. CONCLUSION Emphasize various activities to be performed in the software development project, distinguish software development project from its ongoing utility of the software. to embed appropriately the relevant activities of the software development project in 3-D space so as to identify the sequence, concurrency, iteration, and recursion of the activities of each individual activity. emphasize the greater role of various design diagrams with meaning & purpose. To highlight how the software project management differs from other project management. V. REFERENCES [1] Chikkamannur, A.A.; Handigund, S.M., "An ameliorated methodology to design normalized relations," Computer Systems and Applications, 2009. AICCSA 2009. IEEE/ACS International Conference on, vol., no., pp.861,864, 10-13 May 2009 doi: 10.1109/AICCSA.2009.5069431. [2] An ameliorated methodology for the abstraction of object class structures for an information system Handigund, S.M. ; Bhat, S. Computer Applications and Industrial Electronics (ICCAIE), 2010 International Conference on DOI: 10.1109/ICCAIE.2010.5735104 Publication Year: 2010, Page(s): 362 367. 771 2015, IJAFRC and NCRTIT 2015 All Rights Reserved www.ijafrc.org