Software Development
The Software Development Life Cycle (SDLC) is essential for every software developer, guiding projects from conception through deployment and maintenance. It incorporates various development methodologies, including Waterfall, Spiral, and Agile, each with unique advantages and challenges. Effective collaboration among clients, analysts, and developers is crucial in the SDLC stages: Investigation, Design, Development, Testing, Implementation, Support, and Evaluation. Feasibility studies are vital to assessing project viability concerning constraints like budget, timeline, and client capacity.
Software Development
E N D
Presentation Transcript
Software Development Systems Development Life Cycle
What is the SDLC? • Used by every software developer in some form • Encompasses different development styles • Is client-focused • Based on ‘getting it right’
Who is Involved? • Best case – The client, an analyst, a project manager, a designer, a developer • Industry – The client, a manager, developers (& possibly a designer)
Stages of the SDLC • Investigate • Design • Develop / Test • Implement • Support • Evaluate • START AGAIN!
Methods of Development:The Waterfall Method • Used mostly in academic projects • Steps through each process in the SDLC in turn What are the drawbacks?
Methods of Development:The Spiral Method • Used in industry for project with ‘unknowns’ • Any stage may be revisited at any time to alter the client’s requirements What are the drawbacks?
Methods of Development:Agile Development (or RAD) • Used in most industry projects • Creates alliance between client and developer • Focused on delivering in bug free ‘modules’ Why is this used in industry?
What is Feasibility? • Every computing project should have a feasibility study included. • This is an initial analysis to determine whether the project is feasible within the constraints placed upon it. What constraints could be placed on a computing project?
What is involved in Feasibility? • Can you actually build this? • What are the constraints of your project (TOES!) • Can your client implement & use this? • Can your client afford this? (if not, you don’t get paid!) • Can you complete this (and your report) by the deadline? In here, plan out your work using a timetable or Gantt Chart
Investigations • If the project is feasible, first get your facts right! • Fact finding: • Questionnaires • Observation • Data Gathering • Interviews Can I read my client’s mind??
System Requirements • User interface requirements • Processing requirements • Storage requirements • Control Requirements