Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.

Similar presentations


Presentation on theme: "Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your."— Presentation transcript:

1 Introduction to Software Development

2 Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your system, its data flow, data structures, algorithms, and modules Implementation  Schedule implementation goals and milestones Operation  Installing the system  How to use it? (documentation!) Maintenance  Finding bugs and patching them WHY IS IT CYCLICAL?

3 Collecting Data Why is collecting data important?  Where is the input coming from?  What form is the data in?  What kind of processing is required? Methods of data collection:  Interviews  Questionnaires  Search existing documents  Background research  Observe people using the current system What are the advantages and disadvantages of each method?

4 Requirements Specification Software and hardware requirements Descriptions of the specific things that your system will be able to do Formal agreement (contract) between the client and the developer

5 Feasibility Report Brief description of the proposed system (no details) Estimated costs Responsibilities:  Economic  Technical  Legal Estimated completion date

6 Alternative Solutions Cover advantages and disadvantages Examples:  Different forms of input and output  Centralized or networked system?  What kind of interface? (GUI vs. CLI)

7 Systems Design Parts of a system:  Input Input devices – keyboard, mouse, etc.  Process CPU Storage – hard drive  Output Output devices – monitor, printer, etc. Input, process, and output DATA

8 Data Capture and Presentation Input methods:  Manual data entry – keyboard, mouse, etc.  Direct data entry – OCR, barcode scanner  Automatic data entry – sensors (e.g., temp) Output methods:  Temporary display – CRT, LCD monitor  Permanent display – printer  Electrical/mechanical output – actuators, switches, relays

9 Flowcharts Data flow chart (e.g. voice recognition in case study) User action flow chart

10 Suitable Data Structures Basically, choose suitable data types and structures to store relevant information Examples:  Name  String  Price  double  A bunch of numbers  array or linked list

11 Modular Design Take the problem and break it into smaller components (modules) “top-down design” What are the advantages of modular design?  Modules do not need to worry about other modules (e.g. storage module does not worry about the user interface)  Modules can be reused

12 User Interfaces Command-line interface vs. Graphical User Interface What are the advantages and disadvantages of each?

13 Prototyping A very simple version of the system Preliminary solution ~ a prototype! Prototype used to get feedback before you spend too much time building the actual system Example:  storyboarding a movie

14 Testing 3 types of test data:  Normal data (including the limits)  Extreme data (outside normal limits)  Abnormal data Example:  Assume a system that operates on numbers from 0-100 Normal: 0-100 (inclusive) Extreme: -50, 200 Abnormal: “bob”

15 Introducing a New System Parallel running  Run the two systems at the same time (verify output against each other) Phased introduction  Introduce parts of the system over a period of time  Must also continue to use parts of the old system Direct changeover  Completely change to the new system really quickly What are advantages and disadvantages of each?

16 Maintenance Analyze your system’s performance and usage  Speed  Memory and storage  Big O! Fix errors and bugs Improve your system with new features

17 Documentation Design documentation  EACH stage of the development cycle is documented  IMPORTANT if changes are to be made later System documentation  Technical manual (e.g., car repair manual)  Data flow diagrams, commented code, class interface descriptions User documentation  User manual – installation & operation

18 1.2 - Systems Analysis 1.2.1 – Explain the importance of formulating a problem precisely 1.2.2 – Discuss the aspects that must be considered in a specified problem 1.2.3 – Identify the outcomes that an appropriate solution must produce to solve a specified problem 1.2.4 – Identify the parts of a problem that can be solved appropriately using a computer 1.2.5 – Identify the three basic control constructs of programming: accepting data, processing it, and outputting the results 1.2.6 – Analyze a problem by decomposing it into modules

19 1.4 – Social Significance and Implications Analyze scenario and come up with something rational Example:  What are the social implications involved in using electronic medical records?


Download ppt "Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your."

Similar presentations


Ads by Google