Applications & Systems Development A very brief overview of the SDLC and the security issues involved.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Systems Analysis & IT Project Management Pepper. System Life Cycle BirthDeathDevelopmentProduction.
Chapter 4 Quality Assurance in Context
Chapter 2 – Software Processes
Approaches to Systems Development
DoD Information Technology Security Certification and Accreditation Process (DITSCAP) Phase III – Validation Thomas Howard Chris Pierce.
Security Controls – What Works
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Chapter 1 Assuming the Role of the Systems Analyst
Lecture 13 Revision IMS Systems Analysis and Design.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
DATABASE DEVELOPMENT STRATEGIES TOP DOWNTOP DOWN –Large scale application driven by strategic objectives –General  Specific –Organization-wide (“data.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Introduction to Systems Analysis and Design
Software Engineering Institute Capability Maturity Model (CMM)
Software engineering Process models Pavel Agejkin.
Acquiring Information Systems and Applications
Chapter 22 Systems Design, Implementation, and Operation Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 22-1.
Systems Analysis and Design: The Big Picture
CIS 321—IS Analysis & Design
Chapter 10.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
CompSci 230 Software Design and Construction
Chapter 2 The process Process, Methods, and Tools
CLEANROOM SOFTWARE ENGINEERING.
Transaction Processing Systems and System Development Life Cycle
Software Configuration Management
Security Baseline. Definition A preliminary assessment of a newly implemented system Serves as a starting point to measure changes in configurations and.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
Chapter 6 of the Executive Guide manual Technology.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Project Life Cycles.
Software Quality Assurance
Systems Development: Design, Implementation, Maintenance, and Review
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 2 –Approaches to Systems Development Method 10/9/15 1.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Database Administration
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Lecture # 1.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Software Requirements Specification Document (SRS)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Chapter 1 Assuming the Role of the Systems Analyst.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
Principles of Information Systems Eighth Edition
Developing Information Systems
Software Requirements
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
Chapter 1 (pages 4-9); Overview of SDLC
Information Systems, Ninth Edition
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
SYSTEMS ANALYSIS & DESIGN
Presentation transcript:

Applications & Systems Development A very brief overview of the SDLC and the security issues involved.

Generic Systems Engineering Process  Discover Needs  Define System Requirements  Design System Architecture  Develop Detailed Design  Implement System  Assess Effectiveness of System

System Requirements Software Requirements AnalysisProgram Design CodingTesting Operations & Maintenance A simplistic software development model

System Requirements System Requirements AnalysisDesignCodingTesting Operations & Maintenance The Waterfall development model Going back only one stage limits rework and enhances control

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance A modified Waterfall development model that enforces comparison against specific baselines Validation Verification Unit Testing Verification System Test Revalidation Verification: doing the job right Validation: doing the right job

The Spiral Model

Cost Estimation Models :-) Basic COnstructive COst Model COCOMO –Cost as a function of lines of code Man Months (MM) = 2.4 * 1000s of delivered source instructions Development Schedule = 2.5(MM).38 Function Point Measurement Model –I/O types, internal file types, interfaces, etc Software Life Cycle Model (SLIM) –Manpower buildup index –Productivity factor

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Info sec policy, standards, legal issues, early validation of concepts

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Threats, vulnerabilities, sec requirements., reasonable care, due diligence, legal liabilities, cost/benefit, level of protection desired, test plans, validation

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Incorporating security specs, adjust system & security test plans & data, determine access controls, design docs, evaluate encryption options, verification, business continuity plans

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Develop security related code, unit testing, reuse other modules if possible, support business continuity plans, docs

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Integrate security components, test integrated modules per plans, refine docs, conduct security related product verification

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Install security software, run system conduct acceptance testing, test security software, certify docs & accreditation (if necessary)

System Requirements Software Requirements Product Design CodingIntegration Product Implementa- tion Operations & Maintenance Security life cycle components Validation Verification Unit Testing Verification System Test Revalidation Revalidate security controls, penetration testing, vulnerability analyses, manage change requests, implement change control, make changes, evaluate performance, update docs, recertify

Testing Unit testing Done by separate personnel Check all I/O, modules, files, security, etc

Extreme Programming (XP) Principles Feedback: most useful if it is done rapidly. Assuming simplicity: treating every problem as if it can be solved "extremely simply". Incremental changes: small releases Embracing change: not working against changes but embracing them.

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: –Individuals and interactions over processes and tools –Working software over comprehensive documentation –Customer collaboration over contract negotiation –Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

Maintenance Phase 1.Request Control Establish request priorities, do Cost estimates User Interface Determine tools to use, determine change effects on other code 2.Change Control Recreate & Analyze the problem Develop changes & tests Quality Control Document changes, & recertify 3.Release Control

Software Capability Maturity Model (CMM) Phase 1: Initiate –Format improvement initiative –Management approval Phase 2: Diagnose –Assess current systems Phase 3: Establish Action Plan Phase 4: Action Phase 5: Leverage –Review changes and process looking for improvements

Object Oriented Systems OO Requirements Analysis OO Aanalysis Domain Analysis OO Design OO Programming Object Request Brokers: CORBA, SOAP

Artificial Intelligence Systems Expert Systems (ES) –algorithm + data structures = Normal Program –Inference engine + knowledge base = ES Blackboards Bayesian Networks Fuzzy logic Neural Networks: weighted inputs to “neurons” yield outputs, “training period” Genetic Algorithms: evolutionary computing, fitness values, cross breeding, mutation

Database Systems Hierarchical Mesh Object Oriented Relational

DB Security Issues Views Granularity Aggregation: –combining higher sensitivity with lower Inference –Users “guessing” higher level values Multiple connections, backups, etc Data warehousing & Mining

Application Controls Service Level Agreements –Turn around time, avg response time, number of users, system utilization rates, up times, transaction volumes, problem resolution Control Types –Preventative –Detective –Corrective

Preventative Controls Accuracy –Data checks, forms, custom screens, validity checks, contingency planning, & backups Security –Firewalls, reference monitors, sensitivity labels, traffic padding, encryption, data classification, one-time passwords, separation of development & testing Consistency –Data dictionary, programming standards & database

Detective Controls Accuracy –Cyclic redundancy checks, structured walk- throughs, hash totals, reasonableness checks Security –Intrusion detection systems, audit trails Consistency –Comparison controls, relationship tests, reconciliation controls

Corrective Controls Accuracy –Backups, control reports, before/after imaging, checkpoint restarts Security –Emergency response & reference monitor Consistency –Program comments & database controls

System Architecture Issues Distributed Systems –Agents, applets, “sandbox,” virtual machines –P2P Centralized –Easier to protect Real Time