software development methodology
DESCRIPTION
Belajar rajin rajin yeeTRANSCRIPT
![Page 1: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/1.jpg)
Systems and Software Development: A Review
Dr. Muhammad Ikhwan JambakAssociate ProfessorSchool of Computing
![Page 2: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/2.jpg)
Why Analysis and Design in Development?Do we really need ‘em? (making a “hello world” code or tree-swing)
// A Hello World! program in C#. using System; namespace HelloWorld { class Hello { static void Main() { Console.WriteLine("Hello World!"); // Keep the console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } }
![Page 3: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/3.jpg)
Why Analysis and Design in Development?Do we really need ‘em? Perhaps not in a simple case but yes, in the complex ones
![Page 4: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/4.jpg)
What do we actually develop?Software Vs (Information) Systems
SoftwareSoftware is more than just a program code (is an executable code, which serves some computational purpose). Software is considered to be collection of executable programming code, associated libraries and documentations. Software, when made for a specific requirement is called software product.
![Page 5: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/5.jpg)
What do we actually develop?Software Vs (Information) Systems
Information System An integrated set of components (hardware, software, data, people, procedure) for collecting, storing, and processing data and for delivering information, knowledge, and digital products.(Encyclopedia Britannica)
![Page 6: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/6.jpg)
Software DevelopmentSoftware Engineering
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (IEEE and ACM joint definition)
![Page 7: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/7.jpg)
Software DevelopmentWhat does Software Engineering Involve?
The elicitation of the system’s requirementsThe specification of the system, and its architecturalSystem’s detailed designSystem’s verification and validationIncorporated with testing, management and quality control techniques and tools
![Page 8: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/8.jpg)
Information System DevelopmentSystem Theory
![Page 9: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/9.jpg)
Information System DevelopmentSystem Theory
Every system hasInputs and outputsA purpose (related to transformation)A boundary and an environmentSubsystems and interfacesControl using feedback and feed-forwardSome emergent property
![Page 10: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/10.jpg)
Information System DevelopmentIS as a System
Every IS must have:A human activity that needs informationSome stored dataAn input method for entering dataSome process that turns the data into informationAn output method for representing information
May also have:Subsystems that we can also regard as systemsInterfaces with other systems
![Page 11: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/11.jpg)
ProjectA planned undertaking that has a beginning and end that produce some definite result
Used to develop a software or an information systemA distinction should be made between
Systems development, which incorporates human, software and hardware elementsSoftware development, which is primarily concerned with software systems
In IS, two important phases in a project areStrategic Information Systems PlanningBusiness Modelling
![Page 12: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/12.jpg)
ProjectA planned undertaking that has a beginning and end that produce some definite result
Requires knowledge of systems analysis, systems design, and the methodology, techniques and tool to do so.Requires a plan – a methodology
![Page 13: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/13.jpg)
Systems / Software Development Life Cycle
![Page 14: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/14.jpg)
Systems / Software Development Life Cycle (SDLC)
![Page 15: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/15.jpg)
Systems / Software Development Life Cycle (SDLC) Entire process and activities required to build, deploy and maintaining an information system / a software
Need to Identify the problem or need or opportunityPlan and monitoring the projectDiscover and understand the detail of the problems or needDesign the system components that solve the problem or satisfy the needBuild, test and integrate system componentsComplete system tests and then deploy the solution
![Page 16: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/16.jpg)
Systems / Software Development Life Cycle (SDLC) Terms clarification
Methodology is a collection of problem-solving methodsg overnedb y a set of principles and a commopnh ilosophyf or solving targeted problems (Checkland 1981).Technique is a set of precisely described procedures for achieving a standard task (Kettinger, 1997).Tool is defined as a software package to support one or more techniques (Palvia and Nosek1 993).Model is a representation of an important aspect of the real world. Sometimes, the term abstraction is used because we abstract (separate out) an aspect that is of particular importance to us.
![Page 17: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/17.jpg)
Systems / Software Development Life Cycle (SDLC) Terms clarification
Paradigm is a theory or a group of ideas about how something should be done, made, or thought about (Merriam-Webster Dictionary)Approach is the way how to use the methodology and technique
![Page 18: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/18.jpg)
Systems / Software Development Life Cycle (SDLC) Analysis Vs Design
![Page 19: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/19.jpg)
Systems / Software Development Life Cycle (SDLC) Analysis Vs Design
Both the result of analysis and design activities need to be modeled
Textual Model – Written down and describedMathematical Model – Formula, statistics, calculationGraphical Model: Diagram, picture
Modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure
![Page 20: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/20.jpg)
Systems / Software Development Life Cycle (SDLC) Classification
It is difficult to have a rigorous classification of the existing SDLCsFrom systems/software requirements point of view:
Predictive - that assumes the project can be planned in advance and that the new information system can be developed according to the planAdaptive - that assumes the project must be more flexible and adapt to changing needs as the project progresses
![Page 21: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/21.jpg)
SDLC Paradigms, Methodologies, Models, Tools Waterfall
System System Engineering Engineering
Design Design
Code
Construction
Testing
Maintenance Maintenance
Analysis Requirements Analy sis
Code Installation
![Page 22: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/22.jpg)
SDLC Paradigms, Methodologies, Models, Tools Iteration: the project that “grown”
![Page 23: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/23.jpg)
SDLC Paradigms, Methodologies, Models, Tools Waterfall with Iteration
System Engineering
System Engineering
Design Design
Code
Construction
Testing
Maintenance Maintenance
Requirements Analy sis
Code Installation
![Page 24: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/24.jpg)
SDLC Paradigms, Methodologies, Models, Tools Prototyping
Initial analysis
Define objectives
Specify
Construct Evaluate Prototyping completed
![Page 25: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/25.jpg)
SDLC Paradigms, Methodologies, Models, Tools Spiral: Combining Iterative, Prototyping and Risk analysis
![Page 26: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/26.jpg)
SDLC Paradigms, Methodologies, Models, Tools V : Testing in each stage
![Page 27: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/27.jpg)
SDLC Paradigms, Methodologies, Models, ToolsUnified Software Development Process
Capture best practicesDevelop software iterativelyManage requirementsUse component-based architectureVisually model softwareVerify software qualityControl change in software
![Page 28: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/28.jpg)
SDLC Paradigms, Methodologies, Models, ToolsUnified Software Development Process
The phases are:Inception is concerned with determining the scope and purpose of the project; Elaboration focuses requirements capture and determining the structure of the system;Construction's main aim is to build the software system;Transition deals with product installation and rollout.
![Page 29: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/29.jpg)
SDLC Paradigms, Methodologies, Models, ToolsAgile Development
Emphasizes flexibility to anticipate new requirements during developmentXtreme Programming
Is an iterative and incremental processHigh productivity and high toleranceCommunication is strong with sort pathSmall range deliverables (artifacts) but frequently release
![Page 30: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/30.jpg)
SDLC Paradigms, Methodologies, Models, ToolsObject-Oriented Analysis and Design
Looking forward in next lecture !!!
![Page 31: Software Development Methodology](https://reader035.vdocuments.net/reader035/viewer/2022062519/563db84e550346aa9a927a04/html5/thumbnails/31.jpg)
ReferencesThis slides is based on:
Bennett, S., et. al., Object-oriented Systems Analysis and Design Using UML, 3rd Ed, McGraw Hill
Chapter 1 – 3Maciaszek, L. A., Requirements Analysis and System Design, 3rd Ed, Addison Wesley
Chapter 1