Software processes overview

Rajeshwari

 

 Software Processes Overview

Software: 

Software refers to a comprehensive set of computer programs, procedures, and associated documents that describe the operation and usage of the programs. It includes not just the code but also various forms of documentation and procedural guides.

Key Software Process Activities:

1.Software Specifications: Defining what the software should do and any constraints on its operation.

2. Software Development: Creating the software to meet the defined requirements.

3. Software Validation: Ensuring the software meets customer needs and requirements.

4. Software Evolution: Updating and modifying the software to accommodate changing needs and requirements.

Software Process Models:

Software process models abstractly represent the actual processes involved in software development. These models often include activities, products, and roles of people involved. Examples include:

1.Workflow Mode: Illustrates the sequence of activities, their inputs, outputs, and dependencies, focusing on human actions.

2. Dataflow or Activity Model: Represents activities that transform data, showing how inputs are converted to outputs. This model can be more detailed, showing lower-level activities.

3. Role/Action Mode: Details the roles of people involved and the activities they are responsible for.

 General Software Development Paradigms:

1.   1.Waterfall Approach: A linear and sequential model where each phase (e.g., requirements specification, design, implementation, testing) must be completed before moving to the next. Each stage is formally "signed off" before proceeding.  

2. Evolutionary Development: An iterative approach where specification, development, and validation are interleaved. An initial version of the system is rapidly developed and refined based on ongoing feedback.

 3. Formal Transformation: Based on creating a formal mathematical specification and then systematically transforming it into a program using mathematical methods. This approach aims to ensure correctness through "correctness-preserving" transformations.

4. System Assembly from Reusable Component: Focuses on integrating pre-existing components rather than developing software from scratch. The development process centers around assembling and configuring these components.

 Software Crisis:

The term "software crisis" refers to the challenges and issues associated with software development:

1.Size: Software systems are becoming increasingly large and complex. For instance, code size in consumer products can double every few years.

2.Quality: Many software products suffer from defects due to inadequate testing. Typically, 25 errors per 1000 lines of code are found during testing.

3. Cos: Developing software can be expensive. For example, the development cost of the FAA's Advanced Automation System was over $700 per line of code.

4.Delayed Delivery: Software projects often experience significant schedule overruns. Approximately one in four large-scale projects is never completed.

 Program vs. Software:

Software encompasses more than just programs it includes documentation and operating procedures.

1. Program: Consists of source code and object code.

2. Documentation: Includes various manuals and diagrams like Data Flow Diagrams (DFD), flowcharts, and Entity-Relationship (ER) diagrams.

3. Operating Procedures: Instructions for setting up, using, and troubleshooting the software. Examples include installation guides, beginner's guides, reference guides, and system administration manuals.


Our website uses cookies to enhance your experience. Learn More
Accept !

GocourseAI

close
send