Software Engineering System analysis and Design Steps in System Analysis and Design • Identification of the problem • Feasibility Study • System Analysis • System Design • System Development • Testing & Debugging I • System mplementation • System M aintenance Identification of the Problem • Computable solution Feasibility Study • Economic feasibility • Technical feasibility • Cost-Benefit analysis – Financial benefit – Quality improvement – Efficient – Easy System Analysis • System Analyst • Study the current system – Identification of entities & functions (nouns & verbs) – Entity relationship – Study of the data flow through the system between subsystem (sub processes) • Input, output and storage – Process description (input, actions on data, output and storage of data/information) – Methods of obtaining details – • Interviews. Questionnaires, observations, documents System Analysis contd… • Specifications of the new system System Design • Preliminary Design – Screen layouts (data input), report formats, in paper and ink – Entity relationships, database structures, data security, – Prototype – client- to complete analysis • Throw-away prototype • Evolutionary prototype • Detailed Design Prototype A prototype is an early version of the system that exhibits the essential features of the later operational system. Some … prototypes may evolve into the actual production systems whereas others are used only for experimentation and may eventually be replaced by the production system. Detailed Design • User interaction – Login screens – Data input screens – Report formats (by request or automated) – Security – Search facilities • Database structure • Process descriptions • Data dictionaries Detailed Design contd… • Software specifications – Operating system – Utilities – Antivirus • Hardware specifications – Servers and workstations – Network cabling (Local and internet) – Printers, barcode readers…. – UPS CASE Tools • Computer Assisted Software Engineering – Computer software is used to design the system – System specifications are input to the software – Design document is automatically created – Finally the database and the computer program is automatically generated in a language decided by the developer. System Development • Conversion of the design into computer programs – Modular approach: Each module is developed by individual programmers – Finally modules are integrated into one system Advantages of modular approach • • • • • • Easy to manage – distribution of workload Parallel development - save time Easy to test and debug Easy to trouble shoot and maintain Use of individual expertise Reuse of software modules Testing & Debugging (at the developer’s lab) • Each module is separately tested and debugged • Then modules are combined and tested & debugged • Then whole system is built, tested & debugged • Test data: – Normal, Abnormal, Extreme data are used Testing & Debugging (at the client’s site) • System accepting test – with the client • Problems due to – Bad or wrong hardware – Bad or wrong OS – Cabling problems – Environmental problems: network cables near tube lights or any other interference Implementation • Installation of hardware and relevant software • Creation of databases and initialization • Installation of front-ends (user interfaces) at individual machines • Training of operators and officers • Provision of user manuals – Installation instructions – Simple troubleshooting procedures Implementation methods • Direct implementation • Phase by phase implementation • Parallel implementation System Maintenance • The developers will monitor the system for a short period • Attend to minor changes and repairs System Life Cycle (SADLC) Analysis Maintenan ce Implement ation Design Development Structured Systems Analysis and Design Method (SSADM) • A comprehensive and structured approach to systems development • A “baseline” for comparison and evaluation of other methodologies and for themes in systems development • The true successor to the traditional SDLC approach with new techniques and tools developed since the 1970s Systems Development Life Cycle (SDLC) Strategy Planning Feasibility Study Feasibility Analysis Design Implementation Maintenance S S A D M Requirements Analysis Requirements Specification Logical System Specification Physical Design Structured Systems Analysis and Design Method (SSADM) assumptions about information systems: – relatively stable – routine processing, well-defined interaction – free-standing, developed from "scratch" – globally defined data, processes – complete and objectively definable – information is well-structured Structured Systems Analysis and Design Method (SSADM) assumptions about information systems development: – essentially a linear process – users know their current and future needs – conceptual descriptions can be complete – in the early lifecycle stages, system structure is more important than system behaviour – specification techniques should be simple and graphical for users to understand easily SSADM techniques Downs, Clare and Coe 1988 • data flow diagrams • logical data structuring (LDST) • entity life histories • dialogue design • relational data analysis (RDA) • composite logical data design (CLDD) • process outlines • system flow charts SSADM: later versions • version 4 - Avison and Fitzgerald 2003: five phases, seven stages feasibility study 0 Feasibility requirements analysis 1 Investigation of current environment 2 Business system options requirements specification 3 Definition of requirements logical system specification 4 Technical system options 5 Logical design physical design 6 Physical design SSADM version 4: Feasibility Study • ensure the project identified in planning phase is feasible (= technically possible) and benefits > costs • prepare for the study (assess the scope) • define the problem (compare requirements with current situation) • identify and select feasibility option (consider broad alternatives in terms of business requirements and technical options) • produce feasibility report • techniques: interviewing, document review etc., broad DFDs and ER model SSADM version 4: Requirements Analysis 1 Investigation of current environment • detailed physical DFDs and ER model of current processing and data, • logical DFDs, functional and non-functional “requirements catalogue”, • scope and feasibility study results re-examined 2 Business system options • cost-justified requirements only, determine and agree on functionality, • business options meeting minimum requirements: cost, technical constraints, development schedule, benefits and impact, training, etc. SSADM version 4: Requirements Specification 3 Definition of requirements • logical data model (ER) extended, • attribute collection and normalisation, • DFDs extended, • full documentation of all data, processes and events, • entity life history diagrams, • prototyping can be used for important dialogues and menu structures SSADM version 4: Logical System Specification • These stages occur in parallel: 4 Technical system options • environment in which system will operate - hardware, software, contraints (e.g. performance, security, service levels) 5 Logical design • design what the system is required to do • user involvement, refer to any prototypes, define dialogues and menu structures for specific user roles, ELHs used to define update and enquiry processing, data validation rules etc. SSADM version 4: Physical Design map the logical design onto a specific physical environment: functional component implementation map (FCIM) 6 Physical design • roles of the technologists stressed • users and analysts verify final design satisfies user requirements, • convert data model, specify programs, procedures etc. • specific activities depend on specific environment (system type, size, technical platform etc. SSADM ends: subsequent activities build, test and install the system Waterfall Model e.g., Structured Systems And Design Method (SSADM) Waterfall Model of SADLC Process Descriptions Process ID: P001 Process Title: Calculate Average Input: Marks of Math and Science from Marks table Output: Average Marks Process Logic: Begin Get Math marks Get Science marks Add together and place in Total Divide Total by two and place in Average Output Average End