Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SCSJ2203
SEM 1 2013/2014
ASSIGNMENT 1
LECTURER:
PROF. DR. TONY ANWAR
PREPARED BY:
MUHAMMAD AMIRUL BIN ZULKIFLI (SX122606CSRF04)
MOHD AMIN BIN MURAD (SX122593CSRF04)
AMIR ASRAF BIN ABDUL RASHID (SX122578CSRF04)
HELME BIN AHMAD SUHAIME (SX121295CSRS04)
TEUKU MOHD HANIF BIN TARMIZI (SX120304CSRS04)
Software Engineering
Software engineering is an engineering
4. Name methods, tools, and languages that are based on a common set of
core concepts?
Method: Unified Process, Object-oriented, Unified Modeling Language (UML)
Tools: Rational Unified Process product, UML diagramming
Language: JAVA, C++, ActionScript,
software process:
Software specification
Software design and
implementation
Software validation
Software evolution
A workflow model
A data-flow or activity
model
A role / action model
The main drawback of the waterfall model is indeed its rigidity. The
development process is followed in a strictly linear order. Developers cannot
repeat or go back to earlier stages once it has been done. While many that
follow conventional engineering approach might argue that requirement
should be solidly defined before hand, and during implementation
stakeholders should not go back to redefine the requirements. The process is:
System Analysis
System Specification
System Design
Module Design
CodingModule Test
Integration System Test
Operation maintenance
3. What are the main differences between the waterfall model and the
spiral model?
Waterfall Model
Waterfall model or software life cycle is
Spiral Model
Spiral model represent the software
process.
4. List application domains where software can/cannot be developed
incrementally?
Cannot be developed incrementally:
Inception Define the project goals, the deliverables, and the cost and
project risks
ConstructionImplementing the product based on the architecture
TransitionBeta-release of the product. the Tasks is error correction,
user feedback integration into the system, Measure how good the
system can be used and If necessary, improve the development
process
Disciplines:
use cases.
Requirements Actors who interact with the system are identified and
implementation.
Deployment A product release is created, distributed to users and
development
Environment This workflow is concerned with making appropriate
software tools available to the software development team.
6. Why does the Unified Process overcome the drawbacks of the waterfall
model?
The Unified Software Development Process or Unified Process is a
popular iterative and incrementalsoftware development process framework.
Incremental development is an in-between approach which combines the
advantages of waterfall model and evolutionary approach.
The incremental approach to development was suggested by Mills as a
means of reducing rework in the development process and giving customers
some opportunities to delay decisions on their detailed requirements until they
had some experience with the system.
7. Can you imagine a project scenario where the waterfall model fits best?
Waterfall model fits best in a project when working for a big client and they
enforce their very formal approach on vendors. It is also useful when working
on fixed-scope, fixed-price contracts and client does not expect rapid change
in the scope. This to make sure that client would not make any changes when
a stage is done and approved by them.
8. What are the core element types a software process model has always
to define?
Specification defines the functionality of the software and constraints
on its operation.
Design and Implementation The software to meet the specification
must be proceed
Validation the software must meet customer requirement
Evolution the software must evolve to meet changing customer needs.
Coding.
In XP coding is considered the only important product of the system
development process. XP programmers start to generate codes at the
very beginning.
Testing.
XP emphasizes to always check if a function works is by testing it. XP
uses Unit Tests which are automated tests, and the programmer will
write tests as many as possible to try to break the code has been write.
Listening
Obviously, coding and testing need to be done no matter how a system
is developed, but listening is very important in XP . For XP developers
the ability and expertise in technical aspects should be accompanied
by the ability to be good listeners. This ability will enable them to
understand what customers want and develop solutions which match