Software Engineering and Project Management Overview

Features:

Software does not wear, is not sensitive to environmental problems, failure means whole design or implementation error: SW maintenance is more complicated than the HW, Most software is tailored. Today: Object Orientation, Reusability ( reduces costs and improves designs).

A computer system is characterized by d: Hardware – Software-Information – Users – Tasks – Documentation

Software applications: Basic Software – Real Time – Shopping – Science or Engineering – Embedded – Personal Computer – IA

Software engineering is the establishment and use of sound engineering principles to be able to obtain economically software that is reliable and works efficiently on real machines

Four main paradigms of Engineering: Classic Life Cycle, Prototyping, Spiral, Fourth Generation Techniques

Life Cycle Classic: Waterfall model: Based on classical engineering design phases: Systems Engineering, Requirements Analysis, Definition, Design, Coding, Testing, Maintenance Problems: real projects rarely follow the sequential flow that the model proposed early in is difficult to establish all requirements explicitly. At the beginning of the project there is always a natural uncertainty, the client must have patience. An executable version of the software is available only at an advanced stage of development, developers are often unnecessarily idle due to blocking states

Prototyping: Getting the requirements> quick design> construction prototype> prototype evaluation> refinement prototype> prototype construction Iteration can suit the needs of the user, may be dropped or be part of the final product. Problem: Client insists it is with slight modifications, Decisions and improvised solutions become part of the final product.

Spiral Model

Phases of the Spiral Model Definition of objectives: Specification of the specific objectives of this phase. Risk Assessment: Identification and resolution of key risks, development and validation, planning

Language Generation 4

Tools for high-level specification (L4G): Query the database – Reporting – Data manipulation – Definition and interaction with screens – Code Generation. Predominant Domain:Business information systems, good productivity systems small and medium p / specific. Problems: For large systems, requires much time and still remains the need for project

Quality: The ability of the product needs explicit and implicit conditions specified on Productivity: Cost, Yield, Quality Assurance’s ability to ensure quality is the measure of the maturity of software engineering Software Engineering leads the organization to commit to quality Immaturity causes: Problems budget, Time exceeded, problems with product quality, implementation of a method and process with tools and the constant evolution of this developmental process

CMM – Capability Maturity Model is a model for assessing the maturity of software processes of an organization and to identify key practices that are required to increase the maturity of these processes. Levels of Maturity: 1 – Home: uncontrolled and unpredictable process – 2 – Repeatable: Disciplinary proceedings – 3 – Defined: Process consistent and standardized – 4 – Managed: The process predictable and controlled – 5 – Optimizing: Process continuously improved

CMMI level 2

Actions to take: Conceptual Training Project Management – Definition of the tools that make up the methodology – Setting a timetable for implementing the methodology – Training of project managers – Time to implement the methodologyWays to adjust the methodology: Timeline for implementation – Indicators