Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding the Software Development Life Cycle: Roles, Phases, and Importance, Slides of Programming for Engineers

An introduction to the software development life cycle (sdlc), explaining the importance of engineering software, the roles of developers and managers, and the different phases of sdlc. It covers topics such as separation of concerns, activities and phases, and the business of software development.

Typology: Slides

2011/2012

Uploaded on 07/25/2012

hun_i
hun_i 🇮🇳

3.7

(3)

61 documents

1 / 25

Toggle sidebar

Partial preview of the text

Download Understanding the Software Development Life Cycle: Roles, Phases, and Importance and more Slides Programming for Engineers in PDF only on Docsity! Introduction to Software Development Life Cycle docsity.com The software lifecycle  Software engineering is the discipline for understanding the software design process, or development life cycle  In development of software product, we consider two main parties: I. The customer who requires the use of product II. The developer who must provide the product docsity.com Why bother to ‘engineer’ software? Why not just write it?  We need to deliver systems on time and in budget.  We need to be able to predict the time and budget within which we can deliver systems.  It is very unlikely that as individuals we will be able to understand the whole (or even a large part) of the overall problem to be solved.  We need to be able to predict, provide, and prove a guaranteed level of quality in our software. docsity.com Concepts of Software Development How software development works. 1. Separation of Concerns 2. Different activities and phases 3. Phases in the Lifecycle 4. The Software Business docsity.com 1 Separation of Concerns  In software engineering it’s important to know what to do and when.  It’s just as important to know what not to do and when not to do it.  The same goes for information: it should go in some places and not others. docsity.com Teamwork v individual effort  Developers rarely work alone (remember, you probably won’t be able to address the whole problem).  People who become professional developers are well advised to acquire team skills, and to learn a bit about human relations. docsity.com 2. Different activities and phases  The process of developing a piece of software can be broken down into different activities, such as “coding” and “testing”  These activities are called “phases”. They have names that describe their main objective.  The primary “product” of each phase will vary, but the products are (in most cases) documents.  The phases make up the “Software Lifecycle” docsity.com 3. Phases of the Software Lifecycle  There are several lifecycle models.  The names of the phases differs according to which model is used.  The model chosen for the software development effort may depend upon factors such as team size, company organisation, client, and project. docsity.com Programming  Programming or coding is the activity all developers know and (hopefully) love.  If this activity is to be fast and effective, the programming assignment needs to be written so that it is complete and easy to follow. docsity.com Testing  When the program has been written, compiled and is ready to execute, the important questions arise:  “Did we build what we said we would?”  “Is this what the end user needs?”  “Is this what the client expected?”  Finding the answers relies on testing.  Testing is determined by the “Test Plan”. docsity.com Changing the program  Once testing has begun, inconsistencies, programming defects and errors (“bugs”) and “needed enhancements” will be uncovered. These issues will mean that the program will have to be changed. This is called “maintenance”. It can continue after the software is released.  When the program is changed, it will need to be tested again. docsity.com Time to Market  Commercial software development lives with business realities. If it is never completed it cannot be sold. If it is not sold, it is useless.  Good ideas are not unique. If they are not quickly moved to market, a competitor can move a product to market and “grab market share”  The time period during which an idea could make money is sometimes called the “market window”. docsity.com Perceived Software Quality  Quality has many dimensions. It exists in the eye of the beholder.  If an application is seen as “low quality” by the end users, it will not be used, no matter how great the developer thinks it is.  If an application is seen as “high quality” by the end users it will be used in spite of its shortcomings and flaws. docsity.com The Software Development Team  Software development teams are composed of individuals with different (and often changing) responsibilities.  There are many “paradigms” (or models) of how teams should be organised and the effort distributed.  Bigger teams are harder to manage. docsity.com
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved