Project Management: Overview

Project management is the essential part of any kind of project. “A good management cannot guarantee project success. However, bad management usually results in project failure”. Project Management technique and tools will help project manager in planning and scheduling, proposal writing, monitoring, and reporting. Project Management main aim to make Project success. A project is said to be success if and only of it was delivered on time, in budget, and meet the quality and requirements of the user.

Project Management activities are different form project- to-project and company-to-company, but typical most of the project management activities can be originated to following: Project planning, Project scheduling, Project monitoring and controlling, Project reporting and Risk management.

Defining a Project Plane is initial and important step for any kind of project. “A project plan set out the resources available to the project, the work breakdown and a schedule for carrying out the work. In some organizations, the project plan is a single document that includes the different type of plans such as Quality plan, validation plan, configuration management plan, maintenance plan, and staff development plan”(Ian Sommerville, “Software Engineering, 8 ed, Addison-Wesley, 2007”).

Project scheduling is another most important and difficult job for project manager. Before scheduling manager and developers (Employees) should set together and identify the task involved in the project, estimate the time for each task, and also identify the dependency tasks. By doing so project team can identify the parallel tasks and make sure to distribute the available resources throughout the schedule. Project managers should not assume that everything will go according to schedule; they should consider some of the internal and/or external factors that might affect the schedule. So it will be a good practice to add some delay days while developing schedule.

Project monitoring and controlling are continues process of a project manager. “Manager must keep track of task and progress of the team members, compare actual progress with the project plan, verify the completion of the project milestones, project deliverables, and set standards and ensure that they are followed”. A milestone is a recognizable end point of a process activity in a formal output such as a report, which can be presented to management. “Milestones can also be internal project results that are used by project manager to check project progress but which are not deliverable to customer” (Ian Sommerville, “Software Engineering, 8 ed, Addison-Wesley, 2007”). Project deliverables are end results of some project activity that will be delivered to the customer. Deliverables are usually milestones, but all milestones may not be deliverables.

Project reporting is the process that will be carried out by the project manager as needed by the upper management. Usually reports such as task progress, milestones, changes in schedule, resources planning, and some other will be reported to management, sometimes to customers also if required. Most managers use Gantt charts to explain and show the status of project while reporting.

Risk management is another important job that every project manager must address. Identifying the risk involved in the project is the key issue for the project manager. It might be Project Risk that affect project schedule or resources, Product risk that affect quality or performance of developing product, Business risk that affect organization development that project manager should address during the development of risk management plan.

Let’s consider this example as a project: You and your friends are willing to participate in a school contest which you need to submit a video about 10 min length.

Now handle this with project management. First develop a to-do list.

To-do List:

  1. Decide a concept for making a video.
  2. Develop project plan and estimate cost of the project
  3. Develop schedule
  4. Write script for video
  5. Assign roles
  6. Do a rehearsal
  7. Shoot video
  8. Make music
  9. Do post production work
  10. Write CD and mail it.

These might be typical tasks involved in making a short video. After deciding a concept, develop a project plane and estimate the cost of project. Based on the concept make schedule. After making schedule, make a table like this to identify parallel tasks and dependencies.

Task ID Task Name Duration(days) Dependencies
T1 Write script for video 3
T2 Assign roles 1 T1
T3 Do a rehearsal 2 T2
T4 Shoot video 4 T3
T5 Make music 3 T1
T6 Do post production work 5 T4, T5
T7 Write CD and Mail it 1 T6

Now we can see which task depend on which takes, we can also identify parallel tasks to work.

Now we can we can make a activity network chart for identifying critical path.

Sample activity chart for critical path

Activity network chart for identifying Critical Path

Now we know that project can be finished on or after 02/06/2012.

Open Source: History

The concept of open source was not new or latest. It was there since the beginning of human culture. For example, cooking recipes and farming tips are shared since the existence of human. They used different terms to share and re share them. Increased interest in software that is freely shared has made it increasingly necessity to define a term for sharing. In early term “free software” was used and later term “open source” was adopted (Open Source, Wikipedia). “Early instances of open source and free software include IBM’s source release of its operating system and other programs in the 1950’s and 1960’s, and the SHARE user group that formed to facilitate the exchange of software”(Fish Frankin M, Jams W. Mckie, Richard B. Mancke 1983).

Netscape has announced to release it source code of Navigator, which was proprietary web browser that was popular in 1990’s; lead some group of individuals in free software movement to held a conference at Pala Alto, California for discussion on how to use the free source code. Among them Christine Peterson suggested open source instead of free software, Tiemann suggested ‘sourceware’ a new term. The assembled developers took a vote, and the winner “open source” was announced at press conference. Eric S. Raymond made the first public call to free software community to adopt the new term “open source” (Eric S. Raymond, 1988). Later the Open Source Initiative was formed shortly.

Software Engineering:Chap. 6 Software Requirements

6.3 Discover the ambiguities or omissions in the following statements of the requriements for the parts of a ticket-issuing system.

An automated ticket-issuing system sells rail tickets. Users Select their desctination and input a credit card and a personal identification number. The rail ticket is issued and there credit card and a personal identification number. The rail ticket is issued and their cradit card account charged. When the user presses the start button, a menu display of potential destinations is activated along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit trsansaction has been validated, the ticket is issued.

Ans. If a user want to buy multiple tickets,user doesn’t have option.

If user want to cancel tickets, user doesn’t have option.

Users cannot buy tickets with cash.

There was ambiguity in how potential destinations is activated.

6.6 Using the technique suggested here, where natural language is presented in a standard way, writ plausible user requirements for the following function:

♦ An unattended petrol (gas) pump system that includes a credit card reader. The customer swipes the card through the reader and then specifies the amount of fuel required. The fuel is delivered and the customers account debited.

Ans.

Function: Unattended petrol pump system

Description: Validate user card by checking the card number and user pin,then approve requested amount of fuel required.

Input: Swipes credit card for account details, use numpad for specifying the amount of fuel required.

Source: Credit Card reader,numpad on system.

Output: Fuel from nozzle.

Destination: Main Control System.

Acton: Pump the gas. Compute the amount of fuel requested and deduct amount from card. If card was not valid then alert user and cancel the process.

Requires : Credit Card.

Pre condition: Credit card must be a valid one.

Post Condition : Charge the card with requested amount,fuel pumped.

Side effects : None.

Software Engineering:Chap. 14 Object-oriented design

14.1 Explain why adopting an approach to design that is based on loosely coupled objects that hide information about their representation schould lead to design that may be readily modified.

Ans. “Changing the internal details of an object is unlikely to affect any other system objects”. If the objects are loosely coupled “it is usually straightforward to introduce new objects without significant effects on the rest of the system”. These reasons lead to a design that may be readily modified.

14.4 Using the UML graphical notation for object classes, design the following object classes identifying attributes and operations. Use your own experience to decide on the attributes and operations that schould be associated with the objects: A telephone, A printer for a personal computer, a personal stereo system, A bank account, Alibrary catalogue.

Ans.

14.7 Do Sequence diagram for peterol station only.

♦ A petrol (gas) station is to be set up for fully automated operation. Drivers swipe their credit card through a reader connected to the pump; the card is verified by communication with a credit company computer; and a fuel limit is estiablished. The driver may then take the fuel requried. When fuel delivery is complete and the pump hose is returned to its holster, the driver’s credit account is debited with the cost of thr fuel taken. the credit card is returned after debiting. If the card is invalid, the pump returns it before fule is dispensed.

Ans.


Software Engineering:Chap. 7 Requirements engineering processes

7.1 “Suggest who might be stakeholders in a university student record system. Explain why it is almost inevitable that the requirements of different stakeholders will conflict in some way.”
Ans. Stakeholders: Students,Admission Department,Faculty,Academic Adviser,Department of library, Department In-charge, Office of Student Employment.
“Different stakeholder have different requirements, which they may express in different ways”.
“Political factors may influence the requirements of system” and cause conflict.
One of the main reason for conflict was involvement of multiple stakeholders.
7.5 “Using your knowledge of how an ATM is used, develop a set of use-cases that could serve as a basis for understanding the requirements for an atm system.”
(Provide only descriptive names for the use case and sketch a use case diagram.)
Ans.