Project Assignment Software Project Management

J.E.D.I

6.9 Exercises

6.9.1 Specifying a Test Case

1. Using the Basic Path Testing, write the test cases that must be done for the method retrieving an athlete record. Determine the cyclomatic complexity of the code to determine the number of independent paths. Each of this path becomes one test case.

6.9.2 Specifying System Test Cases

1. Write the system test cases for the Coach Information Maintenance System. 2. Write the system test cases for the Squad and Team Maintenance System.

6.10 Project Assignment

The objective of the project assignment is to reinforce the knowledge and skills gained in this chapter. Particularly, they are: 1. Defining the test cases. 2. Defining the system test cases. 3. Tracking the revision and testing using the Requirements Traceability Matrix. MAJOR WORK PRODUCTS: 1. Test Cases 2. System Test Cases 3. Test Results Software Engineering 302 J.E.D.I 7 Introduction to Software Project Management Building a computer software include a variety of phases, activities and tasks. Some of these activities are done iteratively in order for the computer software be completed and delivered to the end-users for their operation. However, before the development can proceed, end-users and developers need estimates on how long the project will proceed and how much it will cost. It is not the intention of this chapter to give a full-blown discussion of software project management. That is reserved for a Software Project Management Course. The discussion in this chapter would revolve around project management concepts that will help the group manage class-based software development projects.

7.1 Software Project Management

Software project management is defined as the process of managing, allocating, and timing resources to develop computer software that meets requirements. It is a systematic integration of technical, human and financial resources to achieve software development goals and objectives done in an efficient and expedient manner. Figure 7.1 shows the project management process. Software Engineering 303 Figure 7.1 Project Management Process Problem Identification Problem Definition Project Planning Organizing Resource Allocation Scheduling Project Tracking, Reporting and Controlling Project Termination J.E.D.I It consists of eight 8 tasks. Problem Identification It is a task where a proposed project is identified, defined and justified. The proposed project may be a new product, implementation of a new process or an improvement of existing facilities. Problem Definition It is a task where the purpose of the project is clarified. The mission statement of the software project is the main output of this task. It should specify how project management may be used to avoid missed deadlines, poor scheduling, inadequate resource allocation, lack of coordination, poor quality and conflicting priorities. Project Planning It is a task that defines the project plan. The project plan outlines a series of actions or steps needed to develop a work product or accomplish a goal. It specifies how to initiate a project and execute its objectives. Common components of the project plan include project objectives, project definition, team organization and performance criteria or validation criteria. Project Organization It is a task that specifies how to integrate the functions of the personnel in a project. It is usually done concurrently with project planning. It requires the skill of directing, guiding and supervising the project personnel. It is necessary that clear expectations for each personnel and how their job functions contribute in the overall goals of the project is identified. Resource Allocation It is the task of allocating resources such as money, people, equipment, tools, facilities, information, skills etc. to the project in order to achieve software goals and objectives. Project Scheduling It is the task of allocating resources so that overall project objectives are achieved within a reasonable time span. It involves the assignment of time periods to specific tasks within the work schedule. It uses techniques such as resource availability analysis human, material, money and scheduling techniques PERT, CPM, Gantt Charts. Tracking, Reporting and Controlling It is a task that involves checking whether or not project results conform to project plans and performance specification. Controlling involves identifying and implementing proper actions to correct unacceptable deviations from expected performance. It involves the process of measuring the relationship between planned performance and actual performance with respect to project objectives. The variables to be measured, the measurement scales, and the measuring approaches should be clearly specified during planning activity. Corrective action may be rescheduling, reallocation of resources or expedition of task performance. Project Termination It is that task that involves submission of final report, the power-on of new equipment, or the signing of a release order. It may trigger follow-ups or spin-off projects. Software Engineering 304 J.E.D.I

7.2 Problem Identification and Definition