Please enable JavaScript.
Coggle requires JavaScript to display documents.
Introduction to Software Engineering - Coggle Diagram
Introduction to Software Engineering
Objectives
Introduction software engineering, and the key question about software engineering.
About software
software is a computer programs
software product, generic which is development to different user/customer. Bespoke, develop to single user.
Category of software product, Generic, Package, Customized versions of generic packages, Bespoke.
About
Software engineering
Software engineering is a discipline focused on all aspects of software production.
It requires a systematic and organized approach, utilizing appropriate tools and techniques based on the problem, constraints, and available resources.
About
computer science
Computer science focuses on theory and fundamentals, while software engineering deals with the practical development and delivery of software.
Unlike physics in electrical engineering, computer science theories alone are not enough to fully support software engineering.
About system engineering
System engineering focuses on the development of computer-based systems, including hardware, software, and processes.
Software engineering is a subset that deals with software infrastructure, control, applications, and databases.
System engineers handle system specification, architectural design, integration, and deployment.
software process
Specification – Defining what the system should do and its constraints
Development – Creating the software system.
Validation – Ensuring the software meets customer requirements.
Evolution – Modifying the software to adapt to changing needs.
software process model
Workflow perspective ‐ sequence of activities
Data‐flow perspective ‐ information flow
Role/action perspective ‐ who does what
Generic process models
-Waterfall.
-Iterative development.
-Component‐based software engineering.
Cost
Software costs
Often higher than hardware costs, with maintenance usually costing more than initial development. Software engineering aims for cost-effective development.
Costs of software
engineering
Software engineering focuses on reducing costs while maintaining quality and reliability.
CASE (Computer‐Aided
Software Engineering
Upper-CASE – Supports early stages like requirements analysis and design.
Lower-CASE – Assists later stages like programming, debugging, and testing.