passage three the software development process. training target: in this part , you should try...

Click here to load reader

Upload: justina-anthony

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

  • Passage Three The Software Development Process

  • Training target: In this partyou should try your best to form good reading habits. In order to avoid your ill habits such as regressionyou should read with the card showed to you in the preface of this book. Keep reading the paragraphs from the beginning to the end without stopping.

  • TextIf you always thought that Web development was all about the codeyou would be in for a rude shock. Sureyou need to know how to code. But you also need to know where the code fits into the overall project lifecycle.

  • Take a look at the following diagramPic 3.3which describes the typical stages in a project lifecycle. Wondering what all the bigwords mean? Heres a quick translation:Requirements analysis: Understanding what the customer wants;Design: Figuring out how to give it to him or her;

  • Implementation: Writing the code;System and acceptance testing: Making sure it works as advertised;Maintenance: Keeping it humming and updating it as required;Now let us investigate each stage briefly.

  • Requirements analysis Requirements analysis is the process of understanding the customers needsand capturing them in a formal document. A requirements document also sets the direction for the developer or development team and provides the basis for the software testing procedure. Requirements analysis is a largely iterative process; the end result is a document outlining the broad requirements of the customer. You can begin this process by asking your customer some basic questions.

  • Based on the answers you getfurther questions will arise and need to be answered; this iterative learning process should result in your obtaining a fairly clear overview of the items to be addressed in your document. This information will also play a critical role in helping you estimate the likely time and cost for the project.

  • Once you have some ideas of the customers needsthe next step is to outline these broad requirements in a document.This document contains an overview of the features to be included in the softwareand serves to demarcate the scope of the project.It also helps to give your customer confidence that youve understood his or her needsand that you have the skills necessary to take things to the next stage.

  • Design With that first phase out of the wayits time to move on to what I personally find to be the most challenging phase of any software projectdesign. This is when you meditate on the requirements defined previously and design the architecture of your application so that it satisfies all of themwhile simultaneously meeting the goals of stabilitysecurityperformance and maintainability. Needless to saythis isnt easybut it will get your creative juices flowing.

  • Once youve got your customers agreement on the base requirements of the software to be developedandhopefullyan advance paymentits time to put together a software development and management plan. This plan serves as the controlling document for the projectand it defines the processesresponsibilities and priorities for everyone associated with the project.The person in charge of the project uses this to assign appropriate roles and responsibilities to all stakeholders in the projectboth customer and vendor.

  • Typicallythis software development planalso sometimes referred to as a project implementation planis split into several large sectionsincluding introductionproject organizationmanagerial processestechnical processesquality assurance processesschedules and resources.

  • The end result is a clear outline of expectations at both sides of the tableand a concise snapshot of the project path and development activities needed to achieve the goal.

  • Implementation Once the systems major components have been identifiedwe can begin to develop them. And the programmers come into play. There are several programming languages available such as Visual C++JavaDelphiPower Builder etc. During this stageour task is coding. Of coursethere are a lot of skills that will help you finish your job efficiently. That needs practical experience. That may be a reason why a sophisticated programmers salary will be much higher.

  • TestingIn this stageour task is to remove bugs from our programsor we can call it debug. The first step is correcting mechanical errors such as incorrect punctuation or spellingand the compiler or interpreter usually spots them. Much more difficult is finding and correcting logical errorsor bugs. Careful planning is the keyand good planning simplifies program debug.

  • Maintenance Once a program is completedmaintenance begins. Since it is impossible to test many large programs exhaustivelybugs can slip through the debug stageonly to show up months and even years later.

  • Fixing such bug is an important maintenance task. More significant is the need to update a program to keep it current. For examplebecause income tax rates change frequentlya payroll program must be constantly updated. The keys to maintenance are careful planninggood documentation and good program design.

  • Introduction to Software Risk&Risk Management What is Risk? Risk is defined as the possibility of suffering harm or loss; danger. Even if we are not familiar with the formal definitionmost of us have an innate sense of risk. We are aware of the potential dangers that permeate even simple daily activitiesfrom getting injured when crossing the street to having a heart attack because our cholesterol level is too high. Experienceor a parenthas taught us to look at both ways before stepping off the curb and most of us at least think twice before ordering a steak. Indeedwe manage personal risks every day.

  • Risks in Software Project Management Unlike the hazards of daily livingthe dangers in the young and emerging field of software engineering must often be learned without the benefit of lifelong exposure. A more deliberate approach is required.

  • Such an approach involves studying the experience of successful project managers as well as keeping up with the leading writers and thinkers in the field. One such writer in the area of risks is Dr. Barry W. Boehm. In his article Software Risk Management: Principles and Practices he lists the following top 9 software risk items:

  • 1.Personnel Shortfalls;2.Unrealistic schedules and budgets;3.Developing the wrong functions and properties;4.Developing the wrong user interface;5.Continuing stream of requirements changes;6.Shortfalls in externally furnished components;7.Shortfalls in externally performed tasks;8.Real-time performance shortfalls;9.Straining computer-science capabilities.

  • How to Manage In the same articleDr. Boehm describes risk management as being comprised of the following activities: Risk Assessmentfiguring out what the risks are and what to focus on making a list of all of the potential dangers that will affect the project assessing the probability of occurrence and potential loss of each item listed ranking the itemsfrom most to least dangerous

  • Risk Controldoing something about them coming up with techniques and strategies to mitigate the highest ordered risk implementing the strategies to resolve the high ordered risk factors monitoring the effectiveness of the strategies and changing the levels of risk throughout the project

  • Key words project lifecycle maintenance capture stability performance maintainability debugbug

  • The End