Beruflich Dokumente
Kultur Dokumente
Professional Experience
BS in Computer Science
(Bahria University)
Project Manager
(NevTech)
MS in Software Project
Management
(FAST University)*
Faculty Member
(Aptech MSG)
Project Coordinator
AMI
Software Engineer
GoSafe Systems
Agenda
What, Why and Aspects of Software Engineering ?
Horror Software Failure Stories
Software Engineer Line of Actions
Software Engineering Stakeholders
Engineering Approach
Roles and Members of Development Team
Problem Solving Paradigms
SDLC Models
Best Practices to be Adopt
Scrum Methodologies
What is software?
Computer programs and associated documentation
Software products may be developed for a particular
customer or may be developed for a general market
Software products may be
Generic/COTS - developed to be sold to a range of
different customers
Custom- developed for a customer according to their
specification
What is Engineering?
Engineering is
The application of scientific principles and methods to the
construction of useful structures.
Examples:
Mechanical engineering
Computer engineering
Civil engineering
Chemical engineering
Electrical engineering
Nuclear engineering
Aeronautical engineering
Maintenance Aspects
Maintenance is so important that a major aspect of software
engineering consists of techniques, tools, and practices that lead to a
reduction in maintenance cost.
Maintenance
67%
Computer Science: focusing on computer hardware, compilers, operating systems, and programming
languages
Software Engineering: a discipline that uses computer and software technologies as a problem-solving
tools
Good software engineering must always include a strategy for producing quality software
Engineering Approach
Building a System
Requirement analysis and definition
System design
Program design
Writing the programs
Unit testing
Integration testing
System testing
System delivery
Maintenance
Requirement Analysts: work with the customers to identify and document the
requirements
Object-Oriented Paradigm
An object is a unified software component that incorporates both data and
actions that operate of those data. --> More Promising!
Waterfall Model
System
Engineering
Analysis
Design
Code
Testing
Maintenance
Team #2
Business
Modeling
Business
Modeling
Data
Modeling
Process
Modeling
Data
Modeling
Process
Modeling
Application
Generation
Testing &
Turnover
Application
Generation
Time period
Testing &
Turnover
RAD Characteristics
High-speed version of waterfall model
Primarily for information systems applications
Requirements well-understood, fully functional system produced in
short time
The application modularized - major functions can be completed in 3
months
Separate teams complete the functions, then integrated as a whole
Requires human resource and commitment
Conclusion
Tips to Solve a problem
Analyse Problems
Synthesize a solution
Understand that requirements may change
Must view quality from several different perspectives
Use fundamental software engineering concepts
Keep system boundary in mind
Thank you