Showing posts with label Project Management. Show all posts
Showing posts with label Project Management. Show all posts

Sunday, July 8, 2018

Learn to do project using PHP and MySQL


I uploaded a simple starting level project created using PHP and MySQL (link https://phpfromexample.blogspot.com/). This is a "Installment Payment System" for an electronic store, but you can use it for any other similar business. This "Acme Electronics" is an electronic item retailer who sells items to its customers on easy payment schemes. Customers can buy electronic products from this retailer and pay by monthly installments.

So our client want to have a system that can record customer details, sales records, and payment details. Customer want to track each customer's sales and details of installment payments and how many monthly premiums to pay.

The system was created using PHP and MySQL so the customer can host the system in an online web server and access to the system from any where any time.

This posted system developed only for educational purpose and there are so many further developments needed it to run in a real environment. This is to learn programming using PHP and MySQL and after studying the code and database you will gain good knowledge in how to develop a system for your final project.

It is not advisable to use the posted system as it is for any kind of academic project. You can gain ideas and learn from source code and develop your own system to submit for the project.

NOTE:
Acme Electronics is a fictional organization and this system does not developed based on any real requirement. This is a fictional project for students to learn about programming using PHP and MySQL.


Link to the project https://phpfromexample.blogspot.com/

Thursday, October 6, 2016

Project Planning, Scheduling and Controlling



A typical software project comprises a lot of activities/processes. These activities belong to two broad categories:

  1. Technical activities
  2. Manage€rial activities


In software development projects, requirement analysis, design, implementation etc are the main activities while project planning and control are the managerial activities. Technical activities result in the use of various products and reports by managerial activities to determine, for example, the progress of the project. Managerial activities provide controls for technical activities.

Projects must be carefully planned. The planning process results in a project plan. When the project has started, its execution must be controlled.

For software development projects, planning usually involves:

  • The determination of software scope.
  • Estimations
  • Prediction concerning h/w and s/w resources.
  • Risk analysis(potential Risk & possible solution)
  • Project scheduling
  • Staff organization panning.


Project control/monitoring is a continuing activity. The managers must keep track of the progress of the project and compare actual and planned progress and cost. Although most organization have formal established mechanisms for monitoring, a skilled manager can often form a clear picture of what is going on by informal discussion with project staff.

A software development plan should be used as the driver for the project. The initial plan is not static but should be modified as the project progresses and more and better information becomes available

Project management functions

  • Scheduling
  • Staffing
  • Overlook operations
  • Appraisal


Scheduling
Scheduling is a form of planning, which is made in order to assist project teams to stick to deadlines and avoid exceeding project time lines. It involves analyzing each individual task and then assigning a suitable time limit for each activity. Scheduling usually takes a more detailed form where time lines are specified in terms of earliest start times, earliest finish times, latest start times, latest finish times, duration and slack. Scheduling projects offer many benefits to project teams.

  • Provides a measure of performance in terms of time requirements.
  • Ensures early identification of slow performance which could be corrected at early stages of the projects.
  • Avoids delayed completions which tend to dissatisfy customers and bring penalties to the organization.


A project consists of a series of activities/task. Some activities can be carried out in parallel so order of the activities is not important. Usually however, some activities must precede some others, for example implementation must precede testing, design must precede implementation etc. As we know each activity should have a well defined beginning and end.

Activity usually requires resources such as people, computer, time and always have certain duration. Project scheduling involves the scheduling of all activities so that the workforce is optimally used.

Several techniques are available to support scheduling. The output from the scheduling process is usually a set of chats showing the work breakdown, task dependencies and staff allocation.

One of the most popular tools to represent the set of activities and their constraints rs an activity network(PERT-Project Evaluation & Review Technique)

Commonly used techniques of scheduling include:

  • Gantt Charts - A form of line based chart which indicates time on one axis and activities on the other. It is easy to interpret and diagrammatically represents a basic schedule.
  • Critical Path Analysis (CPA) / Program evaluation review technique (PERT) - A more complex form of scheduling which enables users to calculate slack and float times as well as deal with many varied forms of activities.


Activity network:

In many projects certain task must be finished before others can begin. If that is the case, then some form of charting which allows the dependency to be shown must be used. This is where an activity network is very useful. An activity network is one of the best way to enable a project to be viewed as an entity, revealing the logical relationships and inter dependencies between the components activities.



Critical Path
critical path is a sequence of dependent project tasks that have the largest sum of the estimated duration. It is the path that have no slack time built in. If any of these tasks fail behind schedule, the project completion date will be delayed.

Slack Time
The slack time available for any task is equal to the difference between the earliest and the latest completion times.

Note:
Task that have slack time can get behind schedule by an amount less than or equal to that slack time without having an impact on the projects final. completion date. understanding the critical path and slack resources in a project are. indispensable to the project manager Knowledge of such project parameters influences the people management decisions to be made by the project manager. Emphasis can be placed on the critical path tasks' and if necessary, resources might be temporary diverted from tasks with slack time to help get one or more critical tasks back on schedule

Like all software project management software packages' Microsoft project automatically determines a critical path and marks those bars and arrows in a predetermined color (usually red color)

Gantt Chart
A Gantt chart is a simple horizontal bar chart that depicts project tasks against a calendar. Each bar represents a named project task. The tasks are vertically listed in the left hand column. On a Gantt Chart, the horizontal axis is the calendar timeline. The popularity of Gantt charts comes from their simplicity- they are easy to learn, read, prepare and use. Gantt Chart clearly depicts the overlap of the scheduled tasks. Because system development tasks frequently overlap, this is a major advantage.

Gantt Chart Example:



Staffing
Staffing is concerned with selecting the right people into a project team, identifying their talents and skills and then assigning them to tasks which they are likely to best perform. Like any other resource the staff resource is also likely to be constrained. The project manager should attempt to do best with the team he has been provided.

In simple terms it is selecting the right individual, with the right skills for the right job/task.

Overlook Operations
Overlooking operations refers to a control mechanism which is used to identify inappropriate (poor) performance and adjust performance to suit expected standards. The process takes the following form.



Appraisal
This is the final function in a project. It involves the comparison of overall performance with initial and revised standards in an attempt to identify non-compliance situations and the reasons for such situations. The overall exercise is done in an effort to;

  • Analyze the successful of the current project and determine reward schemes for those involved.
  • Identify weaknesses and take corrective measures in order to improve future performance.


Project Milestones:
A milestone is an end-point of a software process activity/task (end of requirement analysis. end of detailed design, end of integration & testing etc) resulting in a formal progress report that is presented to management.

So milestones are characterized by finished Documentation. As software managers rely on documentation, milestones play a very important part in project monitoring and control. Therefore, when planning a project, a series of milestones should be established. Of course, indefinite milestones must be avoided

Milestones should be carefully planned. If they are too frequent, too much time to spent on preparing documentation. If they are infrequent, project control is difficult" Some project activities do not have to end at a milestone. Many milestones result in simple documentation, for example, a short report that integration testing has been completed.

Some milestones result in deliverable (i.e. documents/products delivered to the customer). Such milestones usually represent end points of major stages such as requirements analysis, design, implementation etc. In waterfall model of the software process, milestones can be easily defined.


Saturday, October 1, 2016

Project Management - Lecture 01



Many large software projects failed in the 1960's and 1970s. The delivered software was to late, unreliable, cost too much etc. Some projects were abandoned" All these problem contributed to software crisis. The software crisis was mainly caused by the use of insufficient management and the software development techniques and tools which were suitable for small scale projects but did not scale up to large projects'

Project management is broadly similar to the overall management function of an organization. this however restricted in scope and is mainly concerned with managing individuality identifiable activities of relatively short time duration (usually less than l year)

Project management involves :


  • Identifying project objectives
  • Identifying Project deadlines
  • The forming of project teams (ie : Selecting members, identifying talents and skills, etc)
  • prioritizing project requirements and obtaining the maximum possible set of resources at the minimum possible cost
  • Scheduling of activities and assigning of tasks
  • implementing Plans
  • Appraise Project Performance


What is Project Management ?
Project management is the process of planning, organizing, and managing tasks and resources to accomplish a defined objective, usually within constraints on time, resources, or cost

Overview of software project management?

Software managers primarily responsible for software project management. This main activity varies tremendously. It depends on the organization, the nature of the project etc. there are however, two main generic activities such as

Project planning and scheduling - to identify task, mile stones and deliverable and to draw up a project schedule.

Project control and monitoring - to ensure that the work is carried out to the required standards, on time and within budget.

There are several important sub activities related to project planning and control: These include:


  • Staff management plan
  • Estimation plan(cost, time, staffing)
  • Quality management plan
  • Configuration management plan( especially important for software maintenance projects).


Software project management is different from other types of engineering project management in number of ways.


  • They are intangible. The project manager is dependent on documentation to review the progress of the project.
  • We do not have a clear understanding of the software process and there is no standard process for a product in software
  • Large software systems are often one off projects(they are distinct from previous projects, so historical experience is of limited value).

Important Notice!

Dear students and friends. When you commenting please do not mention your email address. Because your email address will be publicly available and visible to all. Soon, it will start sending tons of spams because email crawlers can extract your email from feed text.

To contact me directly regarding any inquiry you may send an email to info@bcslectures.website and I will reply accordingly.