SlideShare una empresa de Scribd logo
1 de 25
Software Development Revision Personnel Lifecycle Languages HLL constructs & Algorithms Documentation Characteristics Click to select a topic
Personnel Project Manager The head of the development team, this person will  direct  and  monitor  all aspects ( personnel, time-scales, budget ) of the project from start to finish Client The company or organisation who want a new system Systems Analyst Has the task of  gaining an understanding of the client's needs  and  conveying these to the developer or team of developers.  Outlines the basic problem in a   problem specification .  Discovers exactly what the client wants in the solution. The Systems Analyst uses three main methods to find out about what the client wants and how to get them what they want: Experience  (of all stages of software development, technical knowledge and working within time/money/technical restrictions) Analytical Observation & Problem solving  (observing current system functions and how and documents are used) Communication  (with the Clients staff and with the project manager) Programmers Implement the solution Menu Q
Documentation specifies  what the new system has to be capable of doing Requirements Specification (Operational Requirements) states the desired system,  setting out hardware and software specifications  plus any human and organisational implications. System Specification Provides a snap-shot of the development and suggests possible options for solutions Feasibility Study A plan to solve the problem, shows functionality of system System Design A formatted printout of program code with indentation of loops and conditions Structured Listing of Code Menu Q
The Software Development Lifecycle Analysis Testing Documentation Design Evaluation Implementation Maintenance Menu Q
Analysis Analysis is the process of finding out what the client wants and needs and looking at the existing system to find out what the new system needs to do. Systems Analysts can use CASE tools to help them with the analysis phase (and other parts of the software development process) CASE stands for  Computer Aided Software Engineering CASE tools can be used to: * assist the summarising of a project's initial requirements. * allow graphical representation of  modules within a project tree structure allowing  individual modules within a project, to be selected and worked on. * facilities to have program code generated from the design which in turn has been  generated from the specification. * graphical design representation editing. * code editing. * documentation generation which tends to be in Rich Text Format (RTF) allowing data  export to most word processing packages.  * work on networks, different languages and OS Lifecycle Q
Design This is where a plan for the new system is drawn up. The HCI should be designed A variable table be be created to specify any variables required A structure diagram is a graphical approach to designing the main steps of the solution Pseudocode is a textual approach to designing the main steps An indication of Data Flow in the design. A set of Test Data should be created to test the design at this stage.  This will check for errors in the design such as logical errors Lifecycle Q
Implementation Implementation  means taking the  design  template and  converting  it into a form the computer can understand – code. Things to consider: Data Structures The correct types should/must be implemented. Modular Code should be written which defines the subprograms.  Coupling of  existing subprograms that have been stored for use within other  programs e.g  subprograms which search or sort a list of numbers, to  save time and to improve speed and efficiency in development Variable and   Subprograms & functions and variable names should be clear, sensible subprogram names and meaningful. Internal Internal commentary has no effect, but helps when maintenance Commentary activities take place. Loop usage Make sure execution of these is carefully considered, and the proper  'escape' condition has been applied Logic Tests Make sure execution of these is carefully considered, and the logical  test has been applied correctly Lifecycle Q
Testing There are different ways that software should be tested. *** A Dry Run is the process of going through the program in your head and keeping a  note of the different values of variables on paper. This is used to try and eliminate many errors before your run the program. Many programs have a built in ‘trace’ facility which will do this for you. *** A specially designed set of test data is used to test your program when it runs. This test data should include: * A set of  normal , valid data to check for proper operation. * Test at the  limits (extremes)  to see if  boundary  conditions function as expected. *  ‘Exceptional’  data to see how the software will react to  unexpected  data input. Alpha testing is the first stage of whole program testing and takes place with the developers. Beta testing (acceptance testing) is the second stage and often takes place within the company, under actual conditions If programs are made up of different modules, the modules are tested separately then are tested again when they are integrated into the main program.  Lifecycle Q
Documentation User Guide Technical Guide It tells the user how to successfully use the software and tends to be, as far as possible, in non-technical language ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],provide information on aspects of the software and hardware requirements * Both these documents can be supplied in a README or help file.* Lifecycle Q
Evaluation ,[object Object],[object Object],[object Object],[object Object],[object Object],The evaluation stage allows you to  compare   what you have done  with  what you were asked to do.  There are several questions which should be asked about different stages in the development process; Lifecycle Q
Maintenance Corrective Maintenance Eradicating errors reported by the Client, which were  undetected at testing. Adaptive  Maintenance Altering the software to 'interface' with changes in the  operating environment (new hardware/software). Perfective Maintenance This is the largest of the four, allowing enhancements to the  performance of the system in some way. Preventative Maintenance Improving the future maintainability of a development There are four types of maintenance activity: Lifecycle Q
Characteristics A program is  ROBUST  if it can cope with problems that come from outside and are not of its own making.  For example unexpected data entered by a user or an unexpected condition such as a printer jam. RELIABILITY  is an internal matter. A program is reliable if it runs well, and is never brought to a halt by a design flaw.  A reliable program should be able to inform the user if an error occurs, try to recover from the error and if all else fails stop running with a minimum of fuss. A program which is said to be  PORTABLE  is machine independent, it should run on most computer systems using different hardware and operating systems. A program is said to be  MODULAR  if it is clearly divided into sub-programs or modules which each perform a specific task. Menu Q
Languages Before you begin to implement a solution to a problem you must consider what type of programming language is most appropriate for the task. There are four different types of programming language. Procedural Declarative Event-Driven Scripting Q Menu
Procedural A program written in a Procedural (Imperative) language will have a main program from which  subprograms such as procedures/subroutines and/or functions will be called, i.e. the control of the flow of execution lies in the code in the main program. When  choosing  a  procedural  language to solve a problem, the  best  solution will be obtained when the particular  features  of the procedural  language  are  most closely matched  with the particular  features  of the  problem  to be solved.   i.e.   matching  the  objects  and  operations  of the  language  to  that  of the problem Common features of a Procedural language: Data A range of  data types  and  data structures  can be used. Calculation Arithmetic  and  logical  operations are possible. Sequencing T he  flow of control  from one instruction to the next. Control Repetition  of instructions. (a  fixed  number of times or  condition  Structures controlled)  Conditional W hich  test some criteria  and may  transfer control  elsewhere in the Structures program. Modular  Procedures  or  subroutines , which let you  break  a program into  smaller  Structures named sections.  Parameter Data flow  into and out of the  procedures/subroutines. Passing  Languages Q
A declarative language stores a list of facts and rules relating to these facts, in what is known as a knowledge base.   When the user enters a query, the declarative language attempts to find a solution by searching the knowledge base. Because of their usefulness in resolving logical issues, much research in declarative language usage is being done in the sphere of Artificial Intelligence, where the intention is to develop machines which can make logical decisions in a natural way. A declarative has a list of facts  (things that are TRUE) in what is  known  as a  knowledge base .  Declarative Declaration of Fact Interpretation is_daughter(mary, susan) Mary is Susan's daughter is_daughter(susan, julia) Susan is Julia's daughter is_daughter(claire, alison) Claire is Alison's daughter Query Result is_daughter(claire, alison)? which will return the answer  TRUE  or  YES  because  an  exact match  can be found in the database.  is_daughter(tom, alison)? will return  FALSE  or  NO  as there is  no match  in the  database. These facts can be interrogated by a query. Languages Q
An  Event-Driven Language  also uses a  procedural  approach, except that the  procedures  are  associated  with  objects   available within the application .   Execution  of a  procedure  is  triggered  by an  EVENT (input from the user) involving  an  OBJECT ,  e.g. the click of a button on a form or the selection from a menu . Event-Driven Typical Objects Typical Events When to execute code Command Button Click Mouse click on object Radio Button Double-Click Mouse double-click on object Toggle Button Got Focus Cursor over object List Box Lost Focus Cursor moved from object Message Box Key Down Mouse button pressed but not released Dialogue Box Key Up Mouse button released Text Box On Enter Application, Form, Dialogue Box opened Image Box On Exit Application, Form, Dialogue Box closed Languages Q
Scripting A scripting language is one which is designed to be used in a particular operating or application environment.  They tend to be an  additional facility  available in several  applications  packages, particularly  database  management packages. The  benefits  of using a  scripting language  are that it  increases  the  flexibility  of a programming language, allowing it to be  customised  to  meet  the users needs.  Features that may not be readily available in a package can be  added  using scripts - e.g.  a set of commands  or  actions  can be  carried out  with a single key press ( similar to a macro ) Languages Q
High Level Language Constructs & Algorithms Module Libraries Data Types Linear Search Count Occurrence Maximum & Minimum Parameters Variables Menu Q
Module Libraries Module Libraries are  pre-written and tested routines  that the programmer can  CALL  upon to support and  speed up  the development process. Most software companies will  build  up or buy in   module libraries  of regularly used  modules  of  code,  often in a variety of languages.   These library modules would be tried and tested, robust code. Comprehensive libraries  of these modules can almost lead to the " cut and paste " method of software development.  This approach requires  very little new code  to be written and the software consists almost entirely of  library modules,   customised  for the task and  linked  together in the required  logical order. HLL page Q
Data Types Simple Data Types Type Description Sample Data String text & numbers Hello, 95 Clifton Road Integer whole numbers 12, 267, 2300 Single real numbers 2.99, 13.725, 15.01 Boolean true or false True, False (or Yes, No) Complex Data Types An Array is a set of information that is related.  You set how many data item you want the array to store. DIM Name(10) of String this is an array which can hold 10 names HLL page Q
Variables There are two different ways variables can be used: Global Variables Global Variables are declared at the beginning of your program and can be used and changed throughout the whole program.  They may be used in different sub-programs and can be passed as parameters. Local variables Local Variables are declared within ONE sub program and can the data only be used and changed within that one sub program.  Local variables cannot be passed as parameters. It is good programming practise to try and have as many local variables and as few Global variables as possible. HLL page Q
Parameters Parameters handle the  flow of data  within your program.  A parameter can be either a  variable  or a  value .  Parameters can be passed  into  and  out of  a sub-program. There are two different ways to pass parameters between sub-programs. You can pass parameters by VALUE or you can pass parameters by REFERENCE By Value Parameter Passing by  VALUE is  when a value is passed  into  a subprogram for use by the subprogram, but the  changed  value is  not  passed out. Parameters passed by Value are indicated by putting brackets around the parameter name. By Reference Parameter Passing by  REFERENCE is  when a value is passed  into  a subprogram for use by the subprogram, and then the  changed  value is passed  out  to be used by other sub-programs. Parameters are passed by Reference by default and are simply listed in the parameter list. HLL page Q
Linear Search A  linear search  is the process of  examining a list ,  file  or  group  of  data  to see if a given data item  occurs  in it. Sometimes called a  serial search,  this method involves  looking at each data item in turn  to see if there is a  match with the value required . 1  prompt user to enter the number   2  set count to 1   3  while number is not array(count) AND count <> 10   4                add one to count   5  end while   6  if count =10 AND number is not array(count)   7                print number not in list   8  else   9                print number at position count   10 end if Example Algorithm HLL page Q
Count Occurrences HLL page This is the  process  of  counting  the  number of times  a  data item occurs  in a list, file or group of data. Based on the linear search  it merely  notes  the  number  of  times  a  match  is  found 1  prompt user to enter a name   2  set occur to zero   3  repeat for person 1 to 100   4        if name same as array(person)   5                 add 1 to occur   6        end if   7  end loop   8  if occur=0   9         print name not in list   10  else   11       print it appears occur times   12  end if Example Algorithm Q
Maximum and Minimum HLL page This is the process of  finding the largest or the smallest value in list ,  file  or  group  of data 1  set max to zero   2  repeat for numbers 1 to 100   3      if array(number)>max   4              make max the array(number)   5      endif   6  end loop   7  print biggest value is max Example Algorithm The Algorithm for minimum would be the same except it would test for  <min  rather than  >max Q

Más contenido relacionado

La actualidad más candente

Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Managementghayour abbas
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4SIMONTHOMAS S
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23koolkampus
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overviewghayour abbas
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools imran khan
 
Spm unit v-software maintenance-intro
Spm unit v-software maintenance-introSpm unit v-software maintenance-intro
Spm unit v-software maintenance-introKanchana Devi
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsAmr E. Mohamed
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4Abhimanyu Mishra
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: TestabilityPranay Singh
 

La actualidad más candente (20)

Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
Se
SeSe
Se
 
Sw quality metrics
Sw quality metricsSw quality metrics
Sw quality metrics
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools
 
Spm unit v-software maintenance-intro
Spm unit v-software maintenance-introSpm unit v-software maintenance-intro
Spm unit v-software maintenance-intro
 
SECh1920
SECh1920SECh1920
SECh1920
 
Swe notes
Swe notesSwe notes
Swe notes
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
 

Destacado

Impactos no Design utilizando programação funcional Light Talk
Impactos no Design utilizando programação funcional Light TalkImpactos no Design utilizando programação funcional Light Talk
Impactos no Design utilizando programação funcional Light TalkLuiz Costa
 
Share Your Photos And Videos Online - Social Media Guide
Share Your Photos And Videos Online - Social Media GuideShare Your Photos And Videos Online - Social Media Guide
Share Your Photos And Videos Online - Social Media GuideKara Krautter
 
Dell PowerEdge Deployment Guide
Dell PowerEdge Deployment GuideDell PowerEdge Deployment Guide
Dell PowerEdge Deployment GuideKara Krautter
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
2a Bitmapped Graphics Hardware
2a Bitmapped Graphics Hardware2a Bitmapped Graphics Hardware
2a Bitmapped Graphics Hardwaremrsmackenzie
 

Destacado (13)

Mm Unit 6
Mm Unit 6Mm Unit 6
Mm Unit 6
 
Mm Unit 4
Mm Unit 4Mm Unit 4
Mm Unit 4
 
Impactos no Design utilizando programação funcional Light Talk
Impactos no Design utilizando programação funcional Light TalkImpactos no Design utilizando programação funcional Light Talk
Impactos no Design utilizando programação funcional Light Talk
 
Share Your Photos And Videos Online - Social Media Guide
Share Your Photos And Videos Online - Social Media GuideShare Your Photos And Videos Online - Social Media Guide
Share Your Photos And Videos Online - Social Media Guide
 
MMT 1
MMT 1MMT 1
MMT 1
 
Dell PowerEdge Deployment Guide
Dell PowerEdge Deployment GuideDell PowerEdge Deployment Guide
Dell PowerEdge Deployment Guide
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Higher Homework
Higher HomeworkHigher Homework
Higher Homework
 
Mm Unit 2 Part 2
Mm Unit 2 Part 2Mm Unit 2 Part 2
Mm Unit 2 Part 2
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Mm Unit 2 Part 1
Mm Unit 2 Part 1Mm Unit 2 Part 1
Mm Unit 2 Part 1
 
2a Bitmapped Graphics Hardware
2a Bitmapped Graphics Hardware2a Bitmapped Graphics Hardware
2a Bitmapped Graphics Hardware
 
Mm Unit 3
Mm Unit 3Mm Unit 3
Mm Unit 3
 

Similar a Sd Revision

Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptxDylanTilbury1
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Gurpreet singh
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and designRizwan Kabir
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementationghayour abbas
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptxjack952975
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Techpartnerz
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process ModelsNana Sarpong
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentationsureshpkumar
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 

Similar a Sd Revision (20)

Software development slides
Software development slidesSoftware development slides
Software development slides
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptx
 
software engineering
 software engineering software engineering
software engineering
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementation
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
Ieee829mtp
Ieee829mtpIeee829mtp
Ieee829mtp
 
pccf unit 1 _VP.pptx
pccf unit 1 _VP.pptxpccf unit 1 _VP.pptx
pccf unit 1 _VP.pptx
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 

Más de mrsmackenzie

Más de mrsmackenzie (8)

Visual Basic
Visual BasicVisual Basic
Visual Basic
 
2b Bitmapped Graphics Storage
2b  Bitmapped Graphics Storage2b  Bitmapped Graphics Storage
2b Bitmapped Graphics Storage
 
Prog Design
Prog DesignProg Design
Prog Design
 
New Computer Systems
New Computer SystemsNew Computer Systems
New Computer Systems
 
Storyboard
StoryboardStoryboard
Storyboard
 
Sound File Size
Sound File SizeSound File Size
Sound File Size
 
Mm Unit 5
Mm Unit 5Mm Unit 5
Mm Unit 5
 
Vrml
VrmlVrml
Vrml
 

Último

Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 

Último (20)

Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 

Sd Revision

  • 1. Software Development Revision Personnel Lifecycle Languages HLL constructs & Algorithms Documentation Characteristics Click to select a topic
  • 2. Personnel Project Manager The head of the development team, this person will direct and monitor all aspects ( personnel, time-scales, budget ) of the project from start to finish Client The company or organisation who want a new system Systems Analyst Has the task of gaining an understanding of the client's needs and conveying these to the developer or team of developers. Outlines the basic problem in a problem specification . Discovers exactly what the client wants in the solution. The Systems Analyst uses three main methods to find out about what the client wants and how to get them what they want: Experience (of all stages of software development, technical knowledge and working within time/money/technical restrictions) Analytical Observation & Problem solving (observing current system functions and how and documents are used) Communication (with the Clients staff and with the project manager) Programmers Implement the solution Menu Q
  • 3. Documentation specifies what the new system has to be capable of doing Requirements Specification (Operational Requirements) states the desired system, setting out hardware and software specifications plus any human and organisational implications. System Specification Provides a snap-shot of the development and suggests possible options for solutions Feasibility Study A plan to solve the problem, shows functionality of system System Design A formatted printout of program code with indentation of loops and conditions Structured Listing of Code Menu Q
  • 4. The Software Development Lifecycle Analysis Testing Documentation Design Evaluation Implementation Maintenance Menu Q
  • 5. Analysis Analysis is the process of finding out what the client wants and needs and looking at the existing system to find out what the new system needs to do. Systems Analysts can use CASE tools to help them with the analysis phase (and other parts of the software development process) CASE stands for Computer Aided Software Engineering CASE tools can be used to: * assist the summarising of a project's initial requirements. * allow graphical representation of  modules within a project tree structure allowing individual modules within a project, to be selected and worked on. * facilities to have program code generated from the design which in turn has been generated from the specification. * graphical design representation editing. * code editing. * documentation generation which tends to be in Rich Text Format (RTF) allowing data export to most word processing packages.  * work on networks, different languages and OS Lifecycle Q
  • 6. Design This is where a plan for the new system is drawn up. The HCI should be designed A variable table be be created to specify any variables required A structure diagram is a graphical approach to designing the main steps of the solution Pseudocode is a textual approach to designing the main steps An indication of Data Flow in the design. A set of Test Data should be created to test the design at this stage. This will check for errors in the design such as logical errors Lifecycle Q
  • 7. Implementation Implementation means taking the design template and converting it into a form the computer can understand – code. Things to consider: Data Structures The correct types should/must be implemented. Modular Code should be written which defines the subprograms.  Coupling of existing subprograms that have been stored for use within other programs e.g  subprograms which search or sort a list of numbers, to save time and to improve speed and efficiency in development Variable and Subprograms & functions and variable names should be clear, sensible subprogram names and meaningful. Internal Internal commentary has no effect, but helps when maintenance Commentary activities take place. Loop usage Make sure execution of these is carefully considered, and the proper 'escape' condition has been applied Logic Tests Make sure execution of these is carefully considered, and the logical test has been applied correctly Lifecycle Q
  • 8. Testing There are different ways that software should be tested. *** A Dry Run is the process of going through the program in your head and keeping a note of the different values of variables on paper. This is used to try and eliminate many errors before your run the program. Many programs have a built in ‘trace’ facility which will do this for you. *** A specially designed set of test data is used to test your program when it runs. This test data should include: * A set of normal , valid data to check for proper operation. * Test at the limits (extremes) to see if boundary conditions function as expected. * ‘Exceptional’ data to see how the software will react to unexpected data input. Alpha testing is the first stage of whole program testing and takes place with the developers. Beta testing (acceptance testing) is the second stage and often takes place within the company, under actual conditions If programs are made up of different modules, the modules are tested separately then are tested again when they are integrated into the main program. Lifecycle Q
  • 9.
  • 10.
  • 11. Maintenance Corrective Maintenance Eradicating errors reported by the Client, which were undetected at testing. Adaptive  Maintenance Altering the software to 'interface' with changes in the operating environment (new hardware/software). Perfective Maintenance This is the largest of the four, allowing enhancements to the performance of the system in some way. Preventative Maintenance Improving the future maintainability of a development There are four types of maintenance activity: Lifecycle Q
  • 12. Characteristics A program is ROBUST if it can cope with problems that come from outside and are not of its own making. For example unexpected data entered by a user or an unexpected condition such as a printer jam. RELIABILITY is an internal matter. A program is reliable if it runs well, and is never brought to a halt by a design flaw. A reliable program should be able to inform the user if an error occurs, try to recover from the error and if all else fails stop running with a minimum of fuss. A program which is said to be PORTABLE is machine independent, it should run on most computer systems using different hardware and operating systems. A program is said to be MODULAR if it is clearly divided into sub-programs or modules which each perform a specific task. Menu Q
  • 13. Languages Before you begin to implement a solution to a problem you must consider what type of programming language is most appropriate for the task. There are four different types of programming language. Procedural Declarative Event-Driven Scripting Q Menu
  • 14. Procedural A program written in a Procedural (Imperative) language will have a main program from which  subprograms such as procedures/subroutines and/or functions will be called, i.e. the control of the flow of execution lies in the code in the main program. When choosing a procedural language to solve a problem, the best solution will be obtained when the particular features of the procedural language are most closely matched with the particular features of the problem to be solved.  i.e. matching the objects and operations of the language to that of the problem Common features of a Procedural language: Data A range of data types and data structures can be used. Calculation Arithmetic and logical operations are possible. Sequencing T he flow of control from one instruction to the next. Control Repetition of instructions. (a fixed number of times or condition Structures controlled)  Conditional W hich test some criteria and may transfer control elsewhere in the Structures program. Modular  Procedures or subroutines , which let you break a program into smaller Structures named sections.  Parameter Data flow into and out of the procedures/subroutines. Passing Languages Q
  • 15. A declarative language stores a list of facts and rules relating to these facts, in what is known as a knowledge base.   When the user enters a query, the declarative language attempts to find a solution by searching the knowledge base. Because of their usefulness in resolving logical issues, much research in declarative language usage is being done in the sphere of Artificial Intelligence, where the intention is to develop machines which can make logical decisions in a natural way. A declarative has a list of facts (things that are TRUE) in what is known as a knowledge base . Declarative Declaration of Fact Interpretation is_daughter(mary, susan) Mary is Susan's daughter is_daughter(susan, julia) Susan is Julia's daughter is_daughter(claire, alison) Claire is Alison's daughter Query Result is_daughter(claire, alison)? which will return the answer TRUE or YES because an exact match can be found in the database.  is_daughter(tom, alison)? will return FALSE or NO as there is no match in the database. These facts can be interrogated by a query. Languages Q
  • 16. An Event-Driven Language also uses a procedural approach, except that the procedures are associated with objects available within the application .  Execution of a procedure is triggered by an EVENT (input from the user) involving an OBJECT , e.g. the click of a button on a form or the selection from a menu . Event-Driven Typical Objects Typical Events When to execute code Command Button Click Mouse click on object Radio Button Double-Click Mouse double-click on object Toggle Button Got Focus Cursor over object List Box Lost Focus Cursor moved from object Message Box Key Down Mouse button pressed but not released Dialogue Box Key Up Mouse button released Text Box On Enter Application, Form, Dialogue Box opened Image Box On Exit Application, Form, Dialogue Box closed Languages Q
  • 17. Scripting A scripting language is one which is designed to be used in a particular operating or application environment. They tend to be an additional facility available in several applications packages, particularly database management packages. The benefits of using a scripting language are that it increases the flexibility of a programming language, allowing it to be customised to meet the users needs.  Features that may not be readily available in a package can be added using scripts - e.g. a set of commands or actions can be carried out with a single key press ( similar to a macro ) Languages Q
  • 18. High Level Language Constructs & Algorithms Module Libraries Data Types Linear Search Count Occurrence Maximum & Minimum Parameters Variables Menu Q
  • 19. Module Libraries Module Libraries are pre-written and tested routines that the programmer can CALL upon to support and speed up the development process. Most software companies will build up or buy in  module libraries of regularly used modules of code, often in a variety of languages.  These library modules would be tried and tested, robust code. Comprehensive libraries of these modules can almost lead to the &quot; cut and paste &quot; method of software development. This approach requires very little new code to be written and the software consists almost entirely of library modules, customised for the task and linked together in the required logical order. HLL page Q
  • 20. Data Types Simple Data Types Type Description Sample Data String text & numbers Hello, 95 Clifton Road Integer whole numbers 12, 267, 2300 Single real numbers 2.99, 13.725, 15.01 Boolean true or false True, False (or Yes, No) Complex Data Types An Array is a set of information that is related. You set how many data item you want the array to store. DIM Name(10) of String this is an array which can hold 10 names HLL page Q
  • 21. Variables There are two different ways variables can be used: Global Variables Global Variables are declared at the beginning of your program and can be used and changed throughout the whole program. They may be used in different sub-programs and can be passed as parameters. Local variables Local Variables are declared within ONE sub program and can the data only be used and changed within that one sub program. Local variables cannot be passed as parameters. It is good programming practise to try and have as many local variables and as few Global variables as possible. HLL page Q
  • 22. Parameters Parameters handle the flow of data within your program. A parameter can be either a variable or a value . Parameters can be passed into and out of a sub-program. There are two different ways to pass parameters between sub-programs. You can pass parameters by VALUE or you can pass parameters by REFERENCE By Value Parameter Passing by VALUE is when a value is passed into a subprogram for use by the subprogram, but the changed value is not passed out. Parameters passed by Value are indicated by putting brackets around the parameter name. By Reference Parameter Passing by REFERENCE is when a value is passed into a subprogram for use by the subprogram, and then the changed value is passed out to be used by other sub-programs. Parameters are passed by Reference by default and are simply listed in the parameter list. HLL page Q
  • 23. Linear Search A linear search is the process of examining a list , file or group of data to see if a given data item occurs in it. Sometimes called a serial search, this method involves looking at each data item in turn to see if there is a match with the value required . 1  prompt user to enter the number 2  set count to 1 3  while number is not array(count) AND count <> 10 4                add one to count 5  end while 6  if count =10 AND number is not array(count) 7                print number not in list 8  else 9                print number at position count 10 end if Example Algorithm HLL page Q
  • 24. Count Occurrences HLL page This is the process of counting the number of times a data item occurs in a list, file or group of data. Based on the linear search it merely notes the number of times a match is found 1  prompt user to enter a name 2  set occur to zero 3  repeat for person 1 to 100 4        if name same as array(person) 5                 add 1 to occur 6        end if 7  end loop 8  if occur=0 9         print name not in list 10  else 11       print it appears occur times 12  end if Example Algorithm Q
  • 25. Maximum and Minimum HLL page This is the process of finding the largest or the smallest value in list , file or group of data 1  set max to zero 2  repeat for numbers 1 to 100 3      if array(number)>max 4              make max the array(number) 5      endif 6  end loop 7  print biggest value is max Example Algorithm The Algorithm for minimum would be the same except it would test for <min rather than >max Q