[go: up one dir, main page]

0% found this document useful (0 votes)
25 views4 pages

Software Engineering Layered Technology

Software engineering is a layered technology with a foundational process layer that enables effective software development through structured activities and methods. Key components include framework activities such as communication, planning, modeling, construction, and deployment, along with umbrella activities for project management and quality assurance. The document also addresses common myths in software engineering and outlines various process models and lifecycle phases.

Uploaded by

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

Software Engineering Layered Technology

Software engineering is a layered technology with a foundational process layer that enables effective software development through structured activities and methods. Key components include framework activities such as communication, planning, modeling, construction, and deployment, along with umbrella activities for project management and quality assurance. The document also addresses common myths in software engineering and outlines various process models and lifecycle phases.

Uploaded by

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

1.1.

3 Software Engineering: A Layered Technology

Software engineering is a layered technology. The foundation for software engineering is the process layer.

The process holds the technology layers together and enables rational and timely software development.

It defines a framework necessary for effective software delivery.

Software Process:

It forms the basis for project control and provides context for technical methods, work products, milestones, and quality

assurance.

Software Engineering Methods:

Provide technical how-to's for software development including modeling and descriptive techniques.

Software Engineering Tools:

Provide automated/semi-automated support for process and methods. Integrated tools form CASE (Computer-Aided

Software Engineering).

1.1.4 The Software Process

A process is a set of activities, actions, and tasks to create a work product.

Activities are broad objectives; actions (e.g., architectural design) produce major products; tasks are smaller objectives.

Framework Activities:

a) Communication - understanding stakeholder requirements.

b) Planning - defining tasks, risks, resources, schedules.

c) Modeling - understanding and designing solutions.

d) Construction - code generation and testing.

e) Deployment - delivering the product.


Umbrella Activities:

- Project tracking and control

- Risk management

- Software quality assurance

- Technical reviews

- Measurement

- Configuration management

- Reusability management

- Work product preparation and production

1.1.5 Software Engineering Practice

1. Understand the problem

2. Plan a solution

3. Carry out the plan

4. Examine the result

1.1.6 Software Myths

Management Myths:

- Having standards doesn't mean they're used.

- New computers != good tools.

- Adding people late delays more.

- Outsourcing doesn't mean no management needed.

Customer Myths:

- General objectives aren't enough.

- Change is not always easy or cheap.


Practitioner's Myths:

- Getting a program running != job done.

- Quality can be assessed early via reviews.

- Code is not the only deliverable.

1.1.7 Software Engineering Paradigm

A process model is an abstract representation of a software development process.

Software Lifecycle Phases:

- Requirements

- Specification (analysis)

- Design (preliminary & detailed)

- Implementation (components, integration, documentation)

- Testing (unit, integration, system)

- Maintenance & Retirement

Verification: Are we building the product right?

Validation: Are we building the right product?

1.2 Software Process: A Generic Process Model

Each activity is part of a framework organized by sequence and time.

Process Flows:

a) Linear - sequential from communication to deployment.

b) Iterative - repeats activities.

c) Evolutionary - circular, leading to better versions.


d) Parallel - simultaneous execution of different activities.

Task Set:

Defines actual work for achieving objectives (e.g., requirements elicitation).

Process Pattern:

Describes recurring problems and suggests solutions.

You might also like