pi2134 software engineering it telkom. layered technology software process generic process (by...
DESCRIPTION
Software Engineering a “quality” focus proces s methods toolsTRANSCRIPT
Software ProcessPI2134 Software Engineering
IT Telkom
Layered technology Software Process Generic Process (by Pressman) Fundamental activities (by Sommerville)
◦ Software specification◦ Software design and implementation◦ Software validation◦ Software evolution
Outline
A Layered Technology
Software Engineering
a “quality” focus
process
methods
tools
Framework for the tasks that are required to build high-quality software.
Software Process
Process frameworkFramework activities
work taskswork productsmilestones & deliverablesQA checkpoints
Umbrella Activities
Buat kelompok @5 – 4 orang
Diskusi
Framework Activity
• Communication• Planning• Modeling
– Analysis of requirements
– Design• Construction
– Code generation– Testing
• Deployment
Communication◦ Involve communication and collaboration with the
customer◦ Requirements gathering
Planning◦ Describe technical tasks, the risks, and the
resources, the work product, and the schedule
Communication & Planning
Creation of models for developer and customer to understand the software
Detail activities:◦ Analysis of requirements◦ Design
Modeling
Construction◦ Combine code generation and testing
Deployment◦ Delivery the software from developer to customer
Construction & Deployment
Umbrella Activities• Software project management• Formal technical reviews• Software quality assurance• Software configuration management• Work product preparation and
production• Reusability management• Measurement• Risk management
Although there are many different software processes, there are fundamental activities which are common to all software processes. These are:◦ Software specification◦ Software design and implementation◦ Software validation◦ Software evolution
Fundamental Activities
Software specification◦ The functionality of the software and constraint
on its operation must be defined Software design and implementation
◦ The software to meet the specification must be produced
Software validation◦ The software must be validated to ensure that it
does what the customer wants Software evolution
◦ The software must evolve to meet changing customer needs
Fundamental Activities (cont’d)
Intended to establish what services are required from the system and the constraints on the system’s operation and development
Often called requirements engineering
Software specification
Four main phase:◦ Feasibility study
Detailed estimation is made in this phase◦ Requirements elicitation and analysis
Help analyst to understand the system to be specified◦ Requirements specification
Translating analysis result into requirements◦ Requirements validation
Check requirements for realism, consistency and completeness
Software specification (cont’d)
Software specification (cont’d)
The process of converting system specification into an executable system.
May also involve refinement of software specification
Iterative design is the best that designer can do!!
Software Design & Implementation
Architectural design Abstract specification Interface design Component design Data structure design Algorithm design
Specific design process
Specific design process (cont’d)
Include verification and validation Intended to show that a system conforms to
its specification and that the system meets the expectations of the customer buying system
Software Validation
Unit testing Module testing Sub-system testing System testing Acceptance testing
Testing Process
Testing Process (cont’d)
Changes on software can be made at any time during or after the system development.
Demarcation between software development and software evolution
Rather than separate the processes, it is better to think that the software engineering is a evolutionary process
Software Evolution
Software engineering is a evolutionary process means software is continually changed over its lifetime in response to changing requirements and customer needs.
Software Evolution (cont’d)
Layered technology Software Process Generic Process (by Pressman) Fundamental activities (by Sommerville)
◦ Software specification◦ Software design and implementation◦ Software validation◦ Software evolution
Review