[go: up one dir, main page]

0% found this document useful (0 votes)
38 views7 pages

Chapter 1 - Introduction

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views7 pages

Chapter 1 - Introduction

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 7

INTRODUCTION

 What is software?
– Computer programs +
– Configuration data and files +
– User and system documentation.
 What is software engineering?
– An engineering discipline which is concerned with all
aspect of software production.*.

1
SE vs. CS
 Difference between software engineering and
computer science:
– Computer science is concerned with theory and fundamentals
– Software engineering is concerned with practical aspects of
developing and delivering software
 Software engineering challenges:
– Coping with legacy systems*
– Coping with increasing diversity (heterogeneous systems-
many types of hardware/software)
– Coping with faster, cheaper

2
Software Process
 What is a software process?
– A set of activities and associated results which produce a
software product
 Four fundamental process activities:
1. Software specification
2. Software development
3. Software validation (i.e. It does what it intended to do based
on software spec.)
4. Software evolution (i.e. Change/enhancement/maintenance)

3
Software Process Models
 What is a software process model?*
– A representation of software process from a specific
perspective.
 Examples of software process models:
– Workflow model: Sequence of activities in the process along
with their inputs, outputs and dependencies.
– Data-flow or activity model: A set of activities that carry out
some data transformation (inputoutput).
– Role/action model: Represents roles of people involved in the
software process and activities for which they are responsible.

4
Software Development Models
 Different models (paradigms) of software
development:
1. The Waterfall approach: Complete one phase (e.g. req.,
design, code, test) before going to next.
2. Evolutionary development: Build quick, modify, and redo
component until completion (Prototyping often used).*.
3. Formal transformation: Transform Specifications, using
mathematical methods, to a program; guarantee correctness.
4. System assembly from reusable components: Assemble
already existing parts.
5. Incremental method: Design and deliver parts as they
become available (i.e. many small deliverables).

5
Attributes of Good Software

 Maintainability (more than 40% of software


cost is due to maintenance)
 Dependability (Reliability, security, safety)*
 Efficiency (memory, CPU time)
 Usability (Good UI and Documentation)

6
Ethical Responsibility
 Confidentiality (respect confidentiality of
employer/client)
 Competence (avoid misrepresenting the level
of competence)*
 Intellectual property rights (local laws, patents,
copyrights)
 Computer misuse (Viruses, hacking,
information theft)

You might also like