Professional Documents
Culture Documents
Software Engineering
Sw Development Process
Software Engineering
Sw Development Process
A set of activities: 0. 1. 2. 3. 4. 5. 6. 7.
Software Engineering
Feasibility Study Project Planning and Management Risk Analysis Requirements Analysis Design Analysis Software Implementation V&V (Verification & Validation) Maintess
3
Sw Development Process
Now and during the next lessons we will present differents kinds of Software Development Processes through some Case Studies
Software Engineering
Software Engineering
Code & Fix
by Alessandro Tomasi Lesson 6
Software Engineering
A Definition
Programming: is the art and/or science of creating a program, a set of instructions for a computer to do some work.
Software Engineering
Programming
Programming often consists of five major steps: 1. Recognizing the need for a program to solve a problem (the Requirements) 2. Writing the program in the programming language of choice (Code) 3. Testing the program to make sure it works 4. Planning the program and selecting the tools to solve the problem (Fix) 5. Update the code with new functionalities
Software Engineering 7
This is the Code and Fix software development and this is your Software Development Process!!!
Software Engineering
Software Engineering
Software Engineering
10
Software Engineering
11
Software Engineering
12
Software Engineering
13
More Disadvantages
inefficient code unreliable code unmaintanable code
Software Engineering
14
An Example
We implement an Address Book in C++ with Code and Fix software development
Software Engineering
15
Software Engineering
16
Address Book
2. Code Implementation:
Use for every element of the address book an array of char Define a struct that contains all these elements Define an array of this struct Save all the data in this array Write search algorithms that operate in the array
17
Software Engineering
A Solution: Sketch
Define this struct:
struct struttura{ char nome[20]; char indirizzo[20]; };
Software Engineering
18
Address Book
4. Fix it
Software Engineering
19
10
Team
11
12
Impact
The problem of managing double addresses The proposed code
struct struttura{ char nome[20]; char indirizzo[20]; } struct struttura{ char nome[20]; char indCasa[20]; char indUfficio[20]; }
and we will have to modify all the code for storing, managing, and printing records
Software Engineering 25
Impact
The problem of managing long names The proposed code
struct struttura{ char nome[20]; char indirizzo[20]; } struct stringa{ char shortN[10]; stringa *next} struct struttura{ stringa nome; stringa indirizzo; }
and we will have to implement the code for inputting, managing, and printing stringa
Software Engineering 26
13