You are on page 1of 14

SOFTWARE

ENGINEERING
Lecture 2
What Do We Mean by a Process?

■ Is a series of steps involving activities, constraints, and resources to produce an intended


output
– Prepare for exams
– Conduct a software competition
– Organize a trip
– Write a term project report
■ Involves a set of tools and techniques
– Block diagrams
– Notations
How is a Process Useful?

■ Impose consistency and structure on a set of activities


■ Guide us to understand, control, examine, and improve the activities
■ Enable us to capture our experiences and pass them along
Characteristics of a Process

■ Prescribes all major process activities


■ Uses resources, subject to set of constraints (such as schedule)
■ Produces intermediate and final products
■ May be composed of sub-processes with hierarchy or links
■ Each process activity has entry and exit criteria
■ Activities are organized in sequence, so timing is clear
■ Each process guiding principles, including goals of each activity
■ Constraints may apply to an activity, resource or product
Software/System Lifecycle

■ When a process involves building a software (product), the process may be referred to
as software (product) lifecycle
System Development Phases
SDLC and problem-solving

■ Similar to problem-solving approach


– Organization recognizes problem (Project Planning)
– Project team investigates, understands problem and solution
requirements (Analysis)
– Solution is specified in detail (Design)
– System that solves problem built and installed (Implementation)
– System used, maintained, and enhanced to continue to provide intended
benefits (Support)
Planning Phase of SDLC

■ Define business problem and scope

■ Produce detailed project schedule

■ Confirm project feasibility


– Economic, organizational, technical, resource, and schedule

■ Staff the project (resource management)

■ Launch project  official announcement


Analysis Phase of SDLC

■ Gather information to learn problem domain

■ Define system requirements

■ Build prototypes for discovery of requirements

■ Prioritize requirements

■ Generate and evaluate alternatives

■ Review recommendations with management


Design Phase of SDLC

■ Design and integrate the network

■ Design the application architecture

■ Design the user interfaces


■ Design the system interfaces
■ Design and integrate the database
■ Prototype for design details
■ Design and integrate system controls
Implementation Phase of SDLC

■ Construct software components

■ Verify and test

■ Convert data

■ Train users and document the system


■ Install the system
Support Phase of SDLC

■ Maintain system
– Small patches, repairs, and updates
■ Enhance system
– Small upgrades or enhancements to expand system capabilities
– Larger enhancements may require separate development project
■ Support users
– Help desk and/or support team
What is a Process Model?

■ Description of a process, evolved overtime, in a certain format


– May use text, pictures, or a combination
– Contains key process features
What is a Software Process Model?

■ Models that prescribe how should development of software


progress
■ Models that describe how is software developed in actuality

You might also like