0% found this document useful (0 votes)
17 views

Software engineering framework

Uploaded by

Coder kids
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Software engineering framework

Uploaded by

Coder kids
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Software engineering

framework
• A Software Process Framework is a
structured approach that defines the steps,
tasks, and activities involved in software
development.
• This framework serves as a foundation for
software engineering, guiding the
development team through various stages to
ensure a systematic and efficient process.
• A Software Process Framework helps in
project planning, risk management, and
quality assurance by detailing the
chronological order of actions.
• What is a Software Process Framework?
• Software Process Framework details the steps and
chronological order of a process. Since it serves as a
foundation for them, it is utilized in most applications.
Task sets, umbrella activities, and process framework
activities all define the characteristics of the software
development process. Software Process includes:
1.Tasks: They focus on a small, specific objective.

2.Action: It is a set of tasks that produce a major work


product.

3.Activities: Activities are groups of related tasks and


actions for a major objective.
• Advantages of Software Development Framework
• A Software Development Framework offers numerous benefits that streamline
the software development process and enhance the quality and efficiency of
the final product. Here are some key advantages:
1.Increased Productivity: Frameworks provide pre-built components and tools,
allowing developers to focus on specific application logic rather than reinventing
the wheel.

2.Consistent Quality: By following best practices and standardized processes,


frameworks help ensure consistent code quality and structure across the project.

3.Reduced Development Time: With ready-to-use templates and libraries,


developers can significantly cut down on the time needed to build applications
from scratch.

4.Better Maintainability: A structured framework makes the codebase more


organized and easier to understand, which simplifies maintenance and updates.

5.Enhanced Security: Frameworks often include built-in security features and follow
industry best practices, reducing the risk of vulnerabilities.

6.Scalability: Frameworks are designed to handle growth, making it easier to scale


applications as user demand increases.
• Dis-advantages of Software Development Framework
• While Software Development Frameworks offer several advantages,
they also come with certain drawbacks that developers and organizations
should consider:
1.Learning Curve: Frameworks often have a steep learning curve,
requiring developers to invest time and effort in understanding the
framework’s architecture, conventions, and best practices.

2.Restrictions: Some frameworks impose constraints and limitations on


how developers can design and implement certain features, potentially
limiting flexibility and creativity.

3.Complexity Overhead: In some cases, frameworks introduce


unnecessary complexity, especially for smaller or simpler projects, which
can lead to over-engineering..

4. Vendor Lock-in: Depending heavily on a specific framework can lead to


vendor lock-in, making it challenging to switch to alternative technologies
or frameworks in the future.
Software process assessment
• Software Process Assessment is a disciplined and organized examination of the
software process which is being used by any organization bases the on the
process model.
• The Software Process Assessment includes many fields and parts like
identification and characterization of current practices, the ability of current
practices to control or avoid significant causes of poor (software) quality, cost,
schedule and identifying areas of strengths and weaknesses of the software.
• Types of Software Assessment :
• Self Assessment : This is conducted internally by the people of their own
organisation.

• Second Party assessment: This is conducted by an external team or people of


the own organisation are supervised by an external team.

• Third Party assessment:


• CAMPI;
• SCAMPI stands for Standard CMMI(capability, maturity model integration)
Assessment Method for Process Improvement. To fulfil the demands of the
CMMI paradigm, the Standard CMMI Assessment Method for Process
Improvement (SCAMPI) was created (Software Engineering Institute, 2000).
Moreover, it is based on the CBA IPI. The CBA IPI and SCAMPI both have three
steps.
1. Plan and become ready
2. Carry out the evaluation on-site
3. Report findings
• The planning and preparation phase includes the following activities:
• Describe the scope of the evaluation.
• Create the assessment strategy.
• Get the evaluation crew ready and trained.
• Make a quick evaluation of the participants.
• CMMI Appraisal Questionnaire distribution
• Look at the survey results.
• Perform a preliminary document evaluation.
• PRESCRIPTIVE PROCESS MODELS 
• Prescriptive process models were originally proposed to bring order
to the software development. 
• Prescriptive process models define a prescribed set of process
elements and a predictable process workflow. 
• Prescriptive Process Models
• The Waterfall Model
• Incremental Process Models
• Evolutionary Process Modes.
• 1.1TheWaterfallModel
• The waterfall model, sometimes called the classic lifecycle, suggests
asystematic,sequential approach to software development that
begins with customer specification of requirements and progresses
through planning,modelling, construction, and deployment,
culminating in ongoing support of the completed software.
• A variation in the representation of the water fall model is called the
V-model. Represented in Figure 1.5, the V-model [Buc99] depicts the
relationship of quality assurance actions to the actions associated
with communication, modeling, and early construction activities
•Advantages of waterfall model
•The waterfall model is simple and easy to understand, implement, and use.
•All the requirements are known at the beginning of the project, hence it is easy to manage.
•It avoids overlapping of phases because each phase is completed at once.
•This model works for small projects because the requirements are understood very well.
•This model is preferred for those projects where the quality is more important as compared to
the cost of the project.
•Disadvantages of the waterfall model
•This model is not good for complex and object oriented projects.
•It is a poor model for long projects.
•The problems with this model are uncovered, until the software testing.
•The amount of risk is high.
. Incremental Process model
•The incremental model combines the elements of waterfall model and they are applied in an iterative fashion.
•The first increment in this model is generally a core product.
•Each increment builds the product and submits it to the customer for any suggested modifications.
•The next increment implements on the customer's suggestions and add additional requirements in the previous
increment.
•This process is repeated until the product is finished.
For example, the word-processing software is developed using the incremental model.

Advantages of incremental model


•This model is flexible because the cost of development is low and initial product delivery is faster.
•It is easier to test and debug during the smaller iteration.

•The working software generates quickly and early during the software life cycle.
•The customers can respond to its functionalities after every increment.
•Disadvantages of the incremental model
• The cost of the final product may cross the cost estimated initially.
•This model requires a very clear and complete planning.
•The planning of design is required before the whole system is broken into small increments.
•The demands of customer for the additional functionalities after every increment causes problem
during the system architecture.
•.
• RAD model
• RAD is a Rapid Application Development model.
• Using the RAD model, software product is developed in
a short period of time.
• The initial activity starts with the communication
between customer and developer.
• Planning depends upon the initial requirements and
then the requirements are divided into groups.
• Planning is more important to work together on different
modules.
• The RAD model consist of following phases:
1. Business ModelingBusiness modeling consist
of the flow of information between various functions in
the project.
• For example what type of information is produced by
every function and which are the functions to handle
that information.
• A complete business analysis should be performed to
get the essential business information.
• 2. Data modelingThe information in the business
modeling phase is refined into the set of objects and it
is essential for the business.
• The attributes of each object are identified and define
the relationship between objects.
3. Process modeling
•The data objects defined in the data modeling phase are changed to
fulfil the information flow to implement the business model.
•The process description is created for adding, modifying, deleting or
retrieving a data object.
4. Application generation
•In the application generation phase, the actual system is built.
•To construct the software the automated tools are used.
5. Testing and turnover
•The prototypes are independently tested after each iteration so that the
overall testing time is reduced.
•The data flow and the interfaces between all the components are are
fully tested. Hence, most of the programming components are already
tested.

You might also like