Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Assignment

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

STUDENT NAME : Clayton Sibanda

REGISTRAION NUMBER : H190275A

DEGREE PROGRAM : B TECH IN INFORNATION SECURITY AND


........... ASSUARANCE

COURSE : SOFTWARE ENGINEERING

ASSIGNMENT : NUMBER 1

LECTURER : Dr R. Shonhiwa

DUE DATE : 20 April 2020


1. Software Development Process Models
Software Process model is an abstract representation of a software process. Were software
process deals with all aspects of software product development. It can also be called a
development strategy designed to solve an actual problem in an industry setting. Below is
list of software process model as per course outline requirement.
I. Evolutionary development – A process model that has been explicitly designed to
accommodate a product that evolves over time. Basically evolutionary development
interleaves the activities of specification, development and validation. This model is
useful for projects using new technology that is not well understood. This is also
used for complex projects where all functionality must be delivered at one time, but
the requirements are unstable or not well understood at the beginning.
 Tight market deadlines make completion of a comprehensive software
product impossible

II. Waterfall model (Linear Sequential Model) – this is a model of separate and distinct
phases of specifications and development which means once a phases is completed
you cannot repeat it. Drawbacks of The Water Fall Model includes;
 It is difficult to define all requirements at the beginning of a project.
 Unable to accommodate changes at later stages
 In waterfall, development of one phase starts only when the previous
phase is complete
 A working version of the software is not available during development
 Unable to accommodate iteration
 Deadlock can occur due to delay of any step
 Method is not suitable for large projects

III. Prototyping – ideally this serves as a mechanism for identifying software


requirements whereby the customer is not sure about the inputs, outcomes and
requirements of the Proposed Software. Short comes of Prototyping Model;
 It poses a problem to project planning because of the uncertain number of
cycles required to construct the product.
 Lack of process visibility.
 The developer often makes implementation comprises in order to get a
prototype working quickly.
 Special skills may be required _ learning of CASE tools.
 The less-than-ideal choice may be adopted forever after you get used to it.

IV. Spiral model is a model in which each phase is completed with a review by the
people concerned with the project (designers and programmers). Therefore there is
a wide range of options to accommodate the good features of other life cycle
models.

The difficulties for Spiral Models includes lack of explicit process guidance in
determining objectives, constraints, alternatives; relying on risk assessment
expertise; and provides more flexibility than required for many applications.
2. HIT SOFTWARE SYSTEM

i. PROBLEM STATEMENT

Existing system for HIT University has a lot of paper work and this has
drawbacks to the University as more number of employees are needed,
difficulties to edit, delete, and utter information data. Also the University is
facing problems of database such as vulnerability of information as there is
larger number of database access for students’ information.

Therefore, proposed software system is a design software system for records of


student advising, online student’s transcript, student graduation records, general
university requirements and major requirements, online student enrolment e.
student follow-up records, three specific mailing lists: active, inactive and
graduated/ transferred student lists.

i. REQUIREMENT ENGINEERING

 Requirement elicitation

 Requirement analyses

 Requirement documentation

 Requirement reviews

ii. SOFTWARE REQUIREMENT SPECIFICATIONS


3. Agile Programming refers to development methodologies centered round the idea of
iterative development, where solutions evolve through collaboration between self-
organizing cross-functional teams.

Also agile software development comprises various approaches to software


development under which requirements and solutions evolve through the collaborative
effort of self-organizing and cross-functional teams and their customers. It advocates
adaptive planning, evolutionary development, early delivery, and continual improvement,
and it encourages rapid and flexible response to change.

Advantages of Agile model:


 Customer satisfaction by rapid, continuous delivery of useful software.
 People and interactions are emphasized rather than process and tools. Customers,
developers and testers constantly interact with each other.
 Working software is delivered frequently (weeks rather than months).
 Face-to-face conversation is the best form of communication.
 Close, daily cooperation between business people and developers.
 Continuous attention to technical excellence and good design.
 Regular adaptation to changing circumstances.
 Even late changes in requirements are welcomed.

Extreme Programming refers to an agile software development framework that aims to produce


higher quality software, and higher quality of life for the development team. Extreme Programming
is the most specific of the agile frameworks regarding appropriate engineering practices
for software development.
Advantages of Extreme Programming
 The methodology allows software development companies to save costs and time required
for project realization
 The main advantage of Extreme Programming is that this methodology allows software
development companies to save costs and time required for project realization. Time savings
are available because of the fact that XP focuses on the timely delivery of final products.
Extreme Programming teams save lots of money because they don’t use too much
documentation. They usually solve problems through discussions inside of the team.
 Simplicity is one more advantage of Extreme Programming projects. The developers who
prefer to use this methodology create extremely simple code that can be improved at any
moment.
 The whole process in XP is visible and accountable. Developers commit what they will
accomplish and show progress.
 Constant feedback is also the strong side. It is necessary to listen and make any changes
needed in time.
 XP assists to create software faster thanks to the regular testing at the development stage.
 Extreme Programming contributes increasing employee satisfaction and retention.

You might also like