02-11-2016, 03:34 PM
1463596980-finalresearchpaper.docx (Size: 318.23 KB / Downloads: 3)
Abstract
Assign is a secure web-based software project management tool that has the purpose of maintaining and controlling amity university projects, and documents. This tool provides students with a set of functionalities that allow them to put project management stages, progress report, chat option, report version control techniques in to an automated manner. The automation helps students to deliver their project with higher level of quality more efficiently and effectively, with the involvement of their mentors.
1. Introduction
With the advance of the knowledge of students/mentors, the need for software development has been increasing. Furthermore, seeing the increase in the scale and complexity in software development, it has been difficult for students to complete their project within the time limits. It is necessary to sufficiently understand the applied software project development process. A software development process may be defined as a group of activities performed by developers (students), aiming at building and maintaining software system and it’s connected with products, such as, project plans, documentation, code, and testing. The use of automated project management tools contributes to extend the standard in software project and management processes. It additionallydevelops productivity and quality metrics, which are considered the most vital ones within the project management context.
The use of a software system project management tool enables the creation of a trustworthy database that helps the project development team in retrievinginformation from previous and current project. This databasefacilitates, speeds, and enhances the decision-making process. On the other hand, the absence of a software system project management tool in the student life makes the knowledge acquisition and sharing process moretough. Whenever a management tool isn't used, the software system development team hardly identifies the silent data connected to any project.
Most project management tools should have 3 main characteristics: the first one is that the ability to organize the activities, and resources concerned within the project management; the other is that the ability to store the information received, produced, and created obtainable throughout the project, and management the changes in these records by storing all the versions of the documents; and therefore the third one is to support the creation of work-flow progress among the development teams(students), and between them and there mentor.
Assign was developed considering these 2characteristics, and, in addition to it, it includes the security of the project, Assign applied O-lap security in the tool which is used to encapsulate all the data of the project. Assign is also prevented from the out-side attack the, cross side scripting is used in this tool to analysis optimize secure form foreign-users. Its main objective is to supply pointers concerning parts within the quality system, ideas and practices, which impact in getting quality in project management.
2. A Process Model
This section gives a brief about the process model for software project management which is applied in our tool. In this model, software development projects are divided into following: a software project contains lot of activities which are followed in order to develop the final target project, and during this journey the number of intermediate products is created by project development team using different tools and software.
We consider five major stages of SDLC (software development life cycle) for software project management. These are Research and analysis, Design, Implementation and coding, Testing, and Maintenance.
o Research and Analysis:In this stage requirements are gathered. This stage is the main focus of the project; whole project depends upon this stage. It determines many things: how your project is different from previous projects? What is the need of your project? Which methodology will be adopted? These are general questions that get answered during this stage with the involvement of your mentor. After this research is analyzed for their validity and the possibility.
o Design: In this stage the project and software is designed from the requirement specifications which are covered in the first stage. Project Design helps in specifying software and hardware needs and also helps in defining overall system architecture.
In this stage testing strategy is also defined, what to test and how to test.
o Implementation / Coding: After the completion of design stage, the work is divided into modules/units and implementation work is started. This is the longest and important stage of the software development life cycle.
o Testing: After the implementation is completed it is tested against the requirements to make sure that the project/system is actually meeting the needs which are addressed and collected during the first stage.
o Maintenance: Once when you submitted your project, if it is coming in use then the actual problems comes up, that needs to be solved from time to time. This stage where the care is taken for the development system is known as maintenance.
3. A work induction mechanism
In this section, we propose a framework for introducing project management work between student and mentor.
From the point of view of project management, we involve various activities performed during project management(creating specification, testing, coding, etc.) performed in a project as follows: in the planning stage, the project manager defines the activities, makes schedules and assigns re- sources to each activity. As the workers have their own schedules, the project manager must make these plans taking the availability of workers into account. After the plan is fixed, the project manager issues tasks to the workers based on the plan. In the execution stage, activities can be started when the preceding activities have been satisfactorily completed. After an activity is started, the workers report on the progress of their assigned activities. Based on the progress reports, the project manager ascertains the progress and confirms whether or not the activities can be continued as planned in the schedules. If some problems occur, he or she must deal with them.
In this manner, in relation to project management, various actions are triggered, and a variety of data are set and or updated when the actions are triggered. The information must be provided to the appropriate persons at an appropriate time. Accordingly, we propose a finite state machine model which represents the actions triggered for each activity by the project manager and workers in relation to project management work and the states which are changed by these actions (we represent these states as an attribute ‘Status’).
Figure 2 shows the actions and the status values. We used the dynamic model of the OMT methodology for the notation.
Overview of the system
Our system includes project planning and progress monitoring facilities. In the planning stage, the users define the resources which belong to a project and the overall process of the project. Then they allocate resources and schedules to each activity. Each planning task is carried out using a project data definition tool, a process modeler, and a scheduler. In the execution stage, our system provides facilities which support communication between the project manager and workers, and impact analysis facilities. The mechanism of impact analysis facilities has already been described. The communication support facilities are provided by passing messages between the project manager’s user interfaces.
4.2 System architecture
It is based on student-server architecture. Work instructions are achieved by message passing. All the management data in a project is stored in a central project database. Our project is one adaptation of their architecture, because a project management system is a kind of multi-user software engineering environment. A similar architecture is also seen in the MELMAC software engineering environment, which is aimed at supporting process definition, verification, and guidance. This system is composed by the following components: Q Project manager’s monitor (Server) The server sends messages in order to issue tasks to workers based on the project plans. Messages are sent to and from between the project manager and workers via the message server. The message server also communicates with an inference engine in order to pro- vide warnings of delayed activities. Furthermore, the server acts as a database server which manages the project database. We assume that the system is used by the project manager who issues work instructions, and multiple workers who asynchronously report on the progress and ask for approval when their assigned activity is finished. The project database is updated according to such actions, at which time the updated information must be provided to the appropriate per- sons and displayed on their user interfaces. Such consistency between the database and the displayed in- formation is maintained by a display manager. It also receives messages issue % by the project mentor and displays the information on the developers’ user interfaces. The developers’ monitor also has a display manager in order to maintain the consistency between the database and the displayed information.
4.3 Object model and its behavior
This section describes the object model of our sys- tem. Figure 5 shows the objects used in our system and their relationships. In order to represent the concept of activities, we introduced three classes: ‘Activity’ objects, which man- ages the static information of an activity, and ‘Activity State’ objects, which manages the dynamic information of an activity. ‘Activity State’ is also associated with ‘Activity State Transition’ objects, which has an attribute ‘status’ that represents the state of an activity, and an attribute ‘time’ to indicate the time at which the status value is changed. The state transition of an activity is managed by creating an instance of ‘Activity State Transition’ when an action changes the status of an activity, and by managing such instances historically. In order to represent the concept of resources, we also introduced ‘Resource’ objects and ‘Resource State’ objects. ‘Time Period’ object has the attributes of ‘start time’ and ‘finish time’. This object is the basic component of ‘Calendar’. Each person has his/her own calendar. The time period assigned to each activity can be determined through ‘Assigned Capacity’ objects. These objects incorporate workloads which represent the ratio of required efforts/assigned efforts. For example, when an activity is estimated to take 5 days and 10 days are assigned to the activity, then the Object model and its behavior
workload is 50 %. ‘Goal State’ objects play the role of triggering work induction to an activity, based on the status of the preceding activities and on the status of the resources which are assigned to the activity. ‘Activity’, ‘Goal State’, and ‘Resource’ change status at every moment. In order to manage state transitions, we introduced ‘Activity State Transition’, and ‘State Transition’ objects, which hold the status value and its changed time, and associated them with ‘Activity State’, ‘Goal State’, and ‘Resource State’. ‘State Transition’ is used to hold the status values of ‘Goal State’ and ‘Resource’, and its changed time. ‘State Transition’ associated with ‘Goal State’ holds the status values which are necessary in order to drive an activity, whereas ‘State Transition’ associated with Re- source holds the actual workload at a point in time as a status value. ‘Activity State Transition’ holds the status values shown in Figure 2, ‘consumed efforts’, and ‘degree of progress’ as attributes.
5 Summary and Future Work
This paper has proposed a framework which sup- ports the cooperative work in software project management between the project manager and workers. That is, we have proposed a finite state machine model which represents the actions triggered for each activity from the viewpoint of project management and the states changed by the actions. When each action is triggered, various constraints are checked and the necessary information is provided to the appropriate persons. The destination of such information is determined by the relationships specified in the process model (relationships between activities and between activities and the resources assigned to them). We have described the architecture and an object model of this prototype.