0% found this document useful (0 votes)
27 views24 pages

Notes Software Engineering Ch1,2,3,4book1

Software engineering is an important discipline as society relies on software systems. There are two key reasons for its importance: 1) reliable software is needed for critical systems, and 2) using engineering practices is more cost effective than ad hoc development. The fundamental software engineering activities are specification, development, validation, and evolution. These apply regardless of the type of software system.

Uploaded by

Salma
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)
27 views24 pages

Notes Software Engineering Ch1,2,3,4book1

Software engineering is an important discipline as society relies on software systems. There are two key reasons for its importance: 1) reliable software is needed for critical systems, and 2) using engineering practices is more cost effective than ad hoc development. The fundamental software engineering activities are specification, development, validation, and evolution. These apply regardless of the type of software system.

Uploaded by

Salma
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/ 24

Note of Software Engineering

Chapter one: Introduction


1. what are Software project failure and describe each?
 Increasing system complexity
 As new software engineering techniques help us to build larger, more
complex systems, the demands change. Systems have to be built and
delivered more quickly; larger, even more complex systems are
required; systems have to have new capabilities that were previously
thought to be impossible.
 Failure to use software engineering methods
 It is fairly easy to write computer programs without using software
engineering methods and techniques. Many companies have drifted
into software development as their products and services have
evolved.
2. Frequently asked questions about software engineering
Questions Answers
What is software? Computer programs and associated documentation.
Software products may be developed for a particular
customer or may be developed for a general market.

What are the attributes of good software? Good software should deliver the required
functionality and performance to the user and
should be maintainable, dependable and usable.

What is software engineering? Software engineering is an engineering discipline


that is concerned with all aspects of software
production.

What are the fundamental software engineering Software specification, software development,
activities? software validation and software evolution.

1
©By: France
What is the difference between software Computer science focuses on theory and
engineering and computer science? fundamentals; software engineering is concerned
with the practicalities of developing and delivering
useful software.

What is the difference between software System engineering is concerned with all aspects of
engineering and system engineering? computer-based systems development including
hardware, software and process engineering.
Software engineering is part of this more general
process.

What are the key challenges facing software Coping with increasing diversity, demands for
engineering? reduced delivery times and developing trustworthy
software.

What are the costs of software engineering? Roughly 60% of software costs are development
costs, 40% are testing costs. For custom software,
evolution costs often exceed development costs.

What are the best software engineering techniques and While all software projects have to be professionally
methods? managed and developed, different techniques are
appropriate for different types of system. For example,
games should always be developed using a series of
prototypes whereas safety critical control systems
require a complete and analysable specification to be
developed. You can’t, therefore, say that one method is
better than another.

What differences has the web made to software he web has led to the availability of software services
engineering? and the possibility of developing highly distributed
service-based systems. Web-based systems development
has led to important advances in programming languages
and software reuse.

3. what are software products and their specification?


 Generic products
 Stand-alone systems that are marketed and sold to any customer
who wishes to buy them. Examples PC software such as graphics
programs, project management tools; CAD software.

2
©By: France
 The specification of what the software should do is owned by the
software developer and decisions on software change are made by
the developer.
 Customized products
 Software that is commissioned by a specific customer to meet their
own needs. Examples – embedded control systems, air traffic control
software
 The specification of what the software should do is owned by the
customer for the software and they make decisions on software
changes that are required.
4. Essential attributes of good software

5. Tell the two reasons why software engineering is so important?


 More and more, individuals and society rely on advanced software systems.
We need to be able to produce reliable and trustworthy systems
economically and quickly.
 It is usually cheaper, in the long run, to use software engineering methods
and techniques for software systems rather than just write the programs as
if it was a personal programming project.

3
©By: France
6. what are Software process activities?
 Software specification, where customers and engineers define the software
that is to be produced and the constraints on its operation.
 Software development, where the software is designed and programmed.
 Software validation, where the software is checked to ensure that it is what
the customer requires.
 Software evolution, where the software is modified to reflect changing
customer and market requirements.
7. what is software process?
A software process is a sequence of activities that leads to the production of a
software product.
8. what are the four general issues that affect software?
 Heterogeneity
 Increasingly, systems are required to operate as distributed systems
across networks that include different types of computer and mobile
devices.
 Business and social change
 Business and society are changing incredibly quickly as emerging
economies develop and new technologies become available.
 Security and trust
 As software is intertwined with all aspects of our lives, it is essential
that we can trust that software.
 Scale
 Software has to be developed across a very wide range of scales,
from very small embedded systems in portable or wearable devices
through to Internet-scale, cloud-based systems that serve a global
community.
4
©By: France
9. There are many different types of application in software engineering
diversity
 Stand-alone applications
 These are application systems that run on a local computer, such as a PC. They
include all necessary functionality and do not need to be connected to a
network.

 Interactive transaction-based applications


 Applications that execute on a remote computer and are accessed by users from
their own PCs or terminals. These include web applications such as e-commerce
applications.

 Embedded control systems


 These are software control systems that control and manage hardware devices.
Numerically, there are probably more embedded systems than any other type of
system.
 Batch processing systems
 These are business systems that are designed to process data in large batches.
They process large numbers of individual inputs to create corresponding
outputs.
 Entertainment systems
 These are systems that are primarily for personal use and which are intended to
entertain the user.
 Systems for modelling and simulation
 These are systems that are developed by scientists and engineers to model
physical processes or situations, which include many, separate, interacting
objects.
 Data collection systems
 These are systems that collect data from their environment using a set of
sensors and send that data to other systems for processing.
 Systems of systems
 These are systems that are composed of a number of other software systems.
10. there are software engineering fundamentals that apply to all types of software systems:

5
©By: France
1. Systems should be developed using a managed and understood development
process. Of course, different processes are used for different types of software.
2. Dependability and performance are important for all types of system.
3. Understanding and managing the software specification and requirements (what
the software should do) are important.
4. Where appropriate, you should reuse software that has already been developed
rather than write new software.

11. what are the web software engineering?


 Software reuse

 Software reuse is the dominant approach for constructing web-based systems. When
building these systems, you think about how you can assemble them from pre-existing
software components and systems.

 Incremental and agile development


 Web-based systems should be developed and delivered incrementally. It is now
generally recognized that it is impractical to specify all the requirements for such
systems in advance.
 Service-oriented systems
 Software may be implemented using service-oriented software engineering,
where the software components are stand-alone web services.
 Rich interfaces
 Interface development technologies such as AJAX and HTML5 have emerged that
support the creation of rich interfaces within a web browser.

12. Issues of professional responsibility?


 Confidentiality
 Engineers should normally respect the confidentiality of their employers or
clients irrespective of whether or not a formal confidentiality agreement has
been signed.
 Competence
 Engineers should not misrepresent their level of competence. They should not
knowingly accept work which is out with their competence.
 Intellectual property rights

6
©By: France
 Engineers should be aware of local laws governing the use of intellectual
property such as patents, copyright, etc
 Computer misuse
 Software engineers should not use their technical skills to misuse other people’s
computers. Computer misuse ranges from relatively trivial (game playing on an
employer’s machine, say) to extremely serious (dissemination of viruses).

13. what are the ethical principal?

1.1 Explain why professional software is not just the programs that are developed
fora customer?
Good/professional software is not just the programs that are developed for a
customer but it consists of executable code and is associated with documentation
and configuration of data that is required to make these programs operate
correctly. A professionally developed software system is often more than a single
program. The system usually consists of a number of separate programs and
configuration files that are used to set up these programs. It may include system
documentation, which describes the structure of the system; user documentation,
which explains how to use the system, and web sites for users to download recent
product information. Example a word processing system consist of executable
program, user manual and the document such as requirements and the design needed to
produce the executable program.

7
©By: France
1.2. What is the most important difference between generic software product
development and custom software development? What might this mean in practice
for users of generic software products?
The essential difference is that in generic software product development, the
specifications owned by the product developer. For custom product development,
the specification is owned and controlled by the customer. The implications of
this are significant – the developer can quickly decide to change the specification
in response to some external change (e.g. a competing product) but, when the
customer owns the specification, changes have to be negotiated between the
customer and the developer and may have contractual implications. For users of
generic products, this means they have no control over the software
specification so cannot control the evolution of the product. The developer
may decide to include/exclude features and change the user interface. This
could have implications for the user’s business processes and add extra
training costs when new versions of the system are installed.
Chapter two: Software process
2.1 What is software process model?
 A software process model is an abstract representation of a process. It
presents a description of a process from some particular perspective.
2.1.1 four fundamental software engineering activities or software process
 Specification – defining what the system should do;
 Design and implementation – defining the organization of the system and
implementing the system;
 Validation – checking that it does what the customer wants; Involves checking
and review processes and system testing.
 Evolution – changing the system in response to changing customer needs.

2.2 What is software process description include?


 Products, which are the outcomes of a process activity;
 Roles, which reflect the responsibilities of the people involved in the process;
 Pre- and post-conditions, which are statements that are true before and after a
process activity has been enacted or a product produced.
8
©By: France
2.3 What are plan-driven and agile process?
 Plan-driven processes are processes where all of the process activities are planned in
advance and progress is measured against this plan.
 In agile processes, planning is incremental and it is easier to change the process to
reflect changing customer requirements.

2.4 what are the general software process models?


 The waterfall model

 Plan-driven model. Separate and distinct phases of specification and development.

 Incremental development
 Specification, development and validation are interleaved. May be plan-driven or
agile.
 Integration and configuration
 The system is assembled from existing configurable components. May be plan-
driven or agile.
2.4.1 What are the waterfall model fundamental activities?

2.4.1 Waterfall model problems


 Inflexible partitioning of the project into distinct stages makes it difficult to respond to
changing customer requirements.
 Therefore, this model is only appropriate when the requirements are well-
understood and changes will be fairly limited during the design process.

9
©By: France
2.4.1 the waterfall model is only appropriate for some types of system:
1. Embedded systems where the software has to interface with hardware systems. Because of the
inflexibility of hardware, it is not usually possible to delay decisions on the software’s
functionality until it is being implemented
2. Critical systems where there is a need for extensive safety and security analysis of the software
specification and design.
3. Large software systems that are part of broader engineering systems developed by several
partner companies. The hardware in the systems may be developed using a similar model, and
companies find it easier to use a common model for hardware and software.

2.4.2 Incremental development activities

2.4.2 Benefits of incremental development


 The cost of accommodating changing customer requirements is reduced.
 It is easier to get customer feedback on the development work that has been done.
 More rapid delivery and deployment of useful software to the customer is possible.
2.4.2 Incremental development problems
 The process is not visible.
 Managers need regular deliverables to measure progress. If systems are
developed quickly, it is not cost-effective to produce documents that reflect
every version of the system.
 System structure tends to degrade as new increments are added.
 Unless time and money is spent on refactoring to improve the software, regular
change tends to corrupt its structure
2.4.3 Integration and configuration
10
©By: France
 Based on software reuse where systems are integrated from existing components or
application systems (sometimes called COTS -Commercial-off-the-shelf) systems).
2.4.3 Types of reusable software
 Stand-alone application systems (sometimes called COTS) that are configured for use in
a particular environment.
 Collections of objects that are developed as a package to be integrated with a
component framework such as .NET or J2EE.
 Web services that are developed according to service standards and which are available
for remote invocation.
2.4.3 Key process stages of Reuse-oriented software engineering
 Requirements specification
 Software discovery and evaluation
 Requirements refinement
 Application system configuration
 Component adaptation and integration
2.4.3 Advantages and disadvantages
 Reduced costs and risks as less software is developed from scratch
 Faster delivery and deployment of system
 But requirements compromises are inevitable so system may not meet real needs of
users
 Loss of control over evolution of reused system elements

2.5 what is Software specification?


Software specification or requirements engineering is the process of understanding and
defining what services are required from the system and identifying the constraints on the
system’s operation and development.
2.5.1 The requirements engineering process
 Requirements elicitation and analysis
 Requirements specification
 Requirements validation

11
©By: France
2.6 list and discus design process activities?
 Architectural design, where you identify the overall structure of the system,
the principal components (subsystems or modules), their relationships and
how they are distributed.
 Database design, where you design the system data structures and how
these are to be represented in a database.
 Interface design, where you define the interfaces between system
components.
 Component selection and design, where you search for reusable
components. If unavailable, you design how it will operate.
2.7 The stages in the testing process are:
 Component testing
 Individual components are tested independently;
 System testing
 Testing of the system as a whole. Testing of emergent properties is particularly
important.
 Customer testing
 Testing with customer data to check that the system meets the customer’s
needs.

2.8 copping with the change

 Change is inevitable in all large software projects.


 Business changes lead to new and changed system requirements
 New technologies open up new possibilities for improving implementations
 Changing platforms require application changes
2.8.1 how to reduce the cost of the rework?
 Change anticipation, where the software process includes activities that can anticipate
possible changes before significant rework is required.
 Change tolerance, where the process is designed so that changes can be accommodated
at relatively low cost.
12
©By: France
2.8.2 what are Coping with changing requirements?
 System prototyping, where a version of the system or part of the system is developed
quickly to check the customer’s requirements and the feasibility of design decisions. This
approach supports change anticipation.
 Incremental delivery, where system increments are delivered to the customer for
comment and experimentation. This supports both change avoidance and change
tolerance.

2.9 what Software prototyping and how can we use?


 A prototype is an initial version of a system used to demonstrate concepts and try out
design options.
 A prototype can be used in:
 The requirements engineering process to help with requirements elicitation and
validation;
 In design processes to explore options and develop a UI design;
 In the testing process to run back-to-back tests.
2.9.1 Benefits of prototyping
 Improved system usability.

 A closer match to users’ real needs.

 Improved design quality.

 Improved maintainability.

 Reduced development effort.


2.9.2 what is The process of prototype development?

2.10 Incremental development and delivery


 Incremental development
13
©By: France
 Develop the system in increments and evaluate each increment before
proceeding to the development of the next increment;
 Incremental delivery
 Deploy an increment for use by end-users;
 Difficult to implement for replacement systems as increments have less
functionality than the system being replaced.
2.10.1 Incremental delivery advantages
 Customer value can be delivered with each increment so system functionality is
available earlier.
 Early increments act as a prototype to help elicit requirements for later increments.
 Lower risk of overall project failure.
 The highest priority system services tend to receive the most testing.
2.10.2 Incremental delivery problems
 Most systems require a set of basic facilities that are used by different parts of the
system.
 The essence of iterative processes is that the specification is developed in conjunction
with the software.
2.11 Approaches to process improvement
 The process maturity approach, which focuses on improving process and project
management and introducing good software engineering practice.
 The agile approach, which focuses on iterative development and the reduction of
overheads in the software process.
2.11.1 The process improvement activities or cycle
 Process measurement
 You measure one or more attributes of the software process or product. These
measurements form a baseline that helps you decide if process improvements
have been effective.
 Process analysis
 The current process is assessed, and process weaknesses and bottlenecks are
identified. Process models (sometimes called process maps) that describe the
process may be developed.
14
©By: France
 Process change
 Process changes are proposed to address some of the identified process
weaknesses. These are introduced and the cycle resumes to collect data about
the effectiveness of the changes.
2.12 Capability maturity levels

2.13 what is the SEI process?


 The SEI process maturity framework identifies maturity levels that essentially
correspond to the use of good software engineering practice.
2.13.1 The SEI capability maturity model
 Initial
 Essentially uncontrolled
 Repeatable
 Product management procedures defined and used
 Defined
 Process management procedures and strategies defined
and used
 Managed
 Quality management strategies defined and used
 Optimising
 Process improvement strategies defined and used

15
©By: France
Chapter three: Agile software development
3.1 discuss agile development/ agile method?
 Agile development methods emerged in the late 1990s whose aim was to radically
reduce the delivery time for working software systems
 The system is developed as a series of versions or increments with stakeholders
involved in version specification and evaluation
 The aim of agile methods is to reduce overheads in the software process (e.g. by limiting
documentation) and to be able to respond quickly to changing requirements without
excessive rework
3.2 Plan-driven vs agile development
 Plan-driven development
 A plan-driven approach to software engineering is based around separate
development stages with the outputs to be produced at each of these stages
planned in advance.
 Iteration occurs within activities.
 Agile development
 Specification, design, implementation and testing are inter-leaved and the
outputs from the development process are decided through a process of
negotiation during the software development process.
3.3 The principles of agile methods

16
©By: France
3.3.1 Agile method applicability
 Product development where a software company is developing a small or medium-sized
product for sale.
 Custom system development within an organization, where there is a clear commitment
from the customer to become involved in the development process and where there are
few external rules and regulations that affect the software.
3.4 Agile development techniques
 Extreme Programming (XP) takes an ‘extreme’ approach to iterative development.
 New versions may be built several times per day;
 Increments are delivered to customers every 2 weeks;
3.5 what are XP and agile principles>
 Incremental development is supported through small, frequent system releases.
 Customer involvement means full-time customer engagement with the team.
 People not process through pair programming, collective ownership and a process that
avoids long working hours.
 Change supported through regular system releases.
 Maintaining simplicity through constant refactoring of code.
3.5.1 key practices of XP
 User stories for specification
 Refactoring
 Test-first development
 Pair programming
3.6 what is refactoring and its examples?
 Is a Conventional wisdom in software engineering is to design for change. It is worth
spending time and effort anticipating changes as this reduces costs later in the life cycle.
 Changes are easier to make because the code is well-structured and clear.
Examples of refactoring
 Re-organization of a class hierarchy to remove duplicate code.
 Tidying up and renaming attributes and methods to make them easier to understand.
17
©By: France
3.7 what is Test-first development and tell XP features?
 Testing is central to XP and XP has developed an approach where the program is tested
after every change has been made.
 XP testing features:
 Test-first development.
 Incremental test development from scenarios.

 the use of automated testing frameworks.


 user involvement in the test development and validation,
3.7.1 what is the role of the costumer involvement in the testing process?
 The role of the customer in the testing process is to help develop acceptance tests for
the stories that are to be implemented in the next release of the system.
 The customer who is part of the team writes tests as development proceeds. All new
code is therefore validated to ensure that it is what the customer needs.
3.7.2 what is the Problems with test-first development?
 Programmers prefer programming to testing and sometimes they take short cuts when
writing tests. For example, they may write incomplete tests that do not check for all
possible exceptions that may occur.
 Some tests can be very difficult to write incrementally. For example, in a complex user
interface, it is often difficult to write unit tests for the code that implements the ‘display
logic’ and workflow between screens.
 It difficult to judge the completeness of a set of tests.
3.8 what is scrum and tell three phases of scrum?
 Scrum is an agile method that focuses on managing iterative development rather than
specific agile practices.
 There are three phases in Scrum.
 The initial phase is an outline planning phase where you establish the general
objectives for the project and design the software architecture.
 This is followed by a series of sprint cycles, where each cycle develops an
increment of the system.
 The project closure phase wraps up the project, completes required
documentation.

18
©By: France
3.8.1 list scrum terminology and their description?

3.8.2 Scrum benefits


 The product is broken down into a set of manageable and understandable chunks.
 Unstable requirements do not hold up progress.
 The whole team have visibility of everything and consequently team communication is
improved.
 Customers see on-time delivery of increments and gain feedback on how the product
works.
 Trust between customers and developers is established and a positive culture is created
in which everyone expects the project to succeed.
3.9 what is Scaling agile methods?
 Agile methods have proved to be successful for small and medium sized projects that
can be developed by a small co-located team.
3.9.1 what is the factors related scaling agile?
19
©By: France
 ‘Scaling up’ is concerned with using agile methods for developing large software systems
that cannot be developed by a small team.
 ‘Scaling out’ is concerned with how agile methods can be introduced across a large
organization with many years of software development experience.
3.10 Practical problems with agile methods?
 The informality of agile development is incompatible with the legal approach to contract
definition that is commonly used in large companies.
 Agile methods are most appropriate for new software development rather than
software maintenance.
 Agile methods are designed for small co-located teams yet much software development
now involves worldwide distributed teams.
3.11 Contractual issues
 Most software contracts for custom systems are based around a specification, which
sets out what has to be implemented by the system developer for the system customer.
3.12 Agile maintenance problems
 Lack of product documentation
 Keeping customers involved in the development process
 Maintaining the continuity of the development team
3.13 Factors in large systems

20
©By: France
3.14 what are characteristics of Multi-Team Scrum?
 Role replication
 Each team has a Product Owner for their work component and ScrumMaster.
 Product architects
 Each team chooses a product architect and these architects collaborate to design
and evolve the overall system architecture.
 Release alignment
 The dates of product releases from each team are aligned so that a
demonstrable and complete system is produced.
 Scrum of Scrums
 There is a daily Scrum of Scrums where representatives from each team meet to
discuss progress and plan work to be done.
3.15 what is Agile development practice?
 User stories for system specification
 Frequent releases of the software,
 Continuous software improvement
 Test-first development
 Customer participation in the development team
3.16 what is the reasons of Agile methods across organizations?
 Project managers who do not have experience of agile methods may be reluctant to
accept the risk of a new approach.
 Large organizations often have quality procedures and standards that all projects are
expected to follow and, because of their bureaucratic nature, these are likely to be
incompatible with agile methods.
 Agile methods seem to work best when team members have a relatively high skill level.
 There may be cultural resistance to agile methods, especially in those organizations that
have a long history of using conventional systems engineering processes.

Chapter Four: Requirement engineering


4.1 Requirement Engineering: The process of finding out, analyzing, documenting and
checking these services and constraints is called requirements engineering (RE).
21
©By: France
4.2 User Requirement and system requirement Define Each?
1. User requirements are statements, in a natural language plus diagrams, of what services
the system is expected to provide to system users and the constraints under which it
must operate.
2. System requirements are more detailed descriptions of the software system’s functions,
services, and operational constraints. The system requirements document (sometimes
called a functional specification) should define exactly what is to be implemented.
4.2.1 what are the Readers of different types of requirements specification?

4.3 what are types of software system Requirements?

1. Functional requirements These are statements of services the system should provide,
how the system should react to particular inputs, and how the system should behave in
particular situations.
2. Non-functional requirements These are constraints on the services or functions offered
by the system. They include timing constraints, constraints on the development process,
and constraints imposed by standards.

4.4 list requirement engineering process?


 requirements elicitation: is an iterative process that can be represented as a
spiral of activities— requirements discovery, requirements classification and
organization
 requirements specification, is the process of formally documenting the user and
system requirements and creating a software requirements document.
 requirements validation: is the process of checking the requirements for validity,
consistency, completeness, realism, and verifiability.
 System requirement document: is an agreed statement of the system requirements
4.5 what are the two reasons of implementation non-functional requirements?
1. Non-functional requirements may affect the overall architecture of a system rather than
the individual components.

22
©By: France
2. An individual non-functional requirement, such as a security requirement, may generate
several, related functional requirements that define new system services that are
required if the non-functional requirement is to be implemented.
4.5.1 what are Types of non-functional requirements?

4.6 what are the two fundamental approaches of requirements elicitation?


1. Interviewing, where you talk to people about what they do.
2. Observation or ethnography, where you watch people doing their job to see what
artifacts they use, how they use them, and so on.

4.6.1 what are the two types of interviews?


1. Closed interviews, where the stakeholder answers a predefined set of questions.
2. Open interviews, in which there is no predefined agenda.

4.6.2 what are the two reasons can be difficult for interviews eliciting?
1. All application specialists use jargon specific to their area of work. It is impossible for
them to discuss domain requirements without using this terminology
2. Some domain knowledge is so familiar to stakeholders that they either find it difficult to
explain or they think it is so fundamental that it isn’t worth mentioning.
4.6.3 To be an effective interviewer, you should bear two things in mind:
1. You should be open-minded
2. You should prompt the interviewee to get discussions

23
©By: France
4.7 what is stories and scenarios?
Stories and scenarios are essentially the same thing. They are a description of how the system
can be used for some particular task. They describe what people do, what information they use
and produce, and what systems they may use in this process. The difference is in the ways that
descriptions are structured and in the level of detail presented.
4.7.1 what is in scenario include?
1. A description of what the system and users expect when the scenario starts.
2. A description of the normal flow of events in the scenario.
3. A description of what can go wrong and how resulting problems can be handled.
4. Information about other activities that might be going on at the same time.
5. A description of the system state when the scenario ends.
4.8 what are the Notations for writing system requirements specifications?

4.9 what is Use case?


Use cases are a way of describing interactions between users and a system using a graphical
model and structured text.
4.10 what is UML?
Unified Modeling Language (UML) is a standard for object-oriented modeling, so use cases and
use case-based elicitation are used in the requirements engineering process.
4.11 There are three principal stages to a change management process:
1. Problem analysis and change specification The process starts with an identified
requirements problem or, sometimes, with a specific change proposal.
2. Change analysis and costing
3. Change implementation The requirements document and, where necessary, the system
design and implementation, are modified.

24
©By: France

You might also like