logo

Software Design: Principles and Techniques

   

Added on  2023-06-10

19 Pages3630 Words354 Views
Running head: SOFTWARE DESIGN
SOFTWARE DESIGN
Student Name
Student ID
Course
Instructor
Date

SOFTWARE DESIGN 2
Understand the principles of software design
Role of Software Design in SDLC
Software design and development life cycle plays an important role in developing well-
organized applications or programs. The cycle involves a series of steps that must be
followed to create effective and efficient applications (Sinha, 2015). For instance, just like
software development, cooking involves taking some set of steps to prepare the desired food.
The difference between them is that cooking cannot be undone, however bad or good the
food maybe. But programming always allows the developers to go back and update or make
changes to the program (Correla, 2014).
Six steps of Software development life cycle
1. Gathering user requirements
This is the first step of programming. This step involves the programmer collecting the user
requirements. The client explains in detail to the programmer his/her desired requirements
(Jedlitschka & Salo, 2008). User requirements can be aims, subject and the purpose of the
application.
2. Creating specification
This is the second step in development life cycle where the programmer decides on how the
application will be coded according to the client requirements. For example, if it is a website
he needs to specify its functions and aims (Zero, 2017). If the client agrees with the
specifications made by the programmer, the project moves the third step.
3. Creating the design

SOFTWARE DESIGN 3
The programmer outlines how the application should function for it to achieve user’s needs
and its purpose. It can be designing the user interfaces and how various activities will be
linked together before starting to write the actual program (Lui & Chan, 2008).
4. Writing programs
This is the fourth and crucial step of the cycle. When the developer is done with user
specifications, he begins to write the code using a programming language(coding)
(Rajaraman, 2011). In big applications like the FIFA games, developers are divided into
different teams to code on different task and make work easier.
5. Program testing
Program testing involves testing the program to confirm its functionality. If it is working
properly and that it has met all the user requirements. It is done when the coding of the
application is finished (Stair & Reynolds, 2008). In cases of multiple programming teams,
individual programmers test their models then all the programmers come together to validate
and verify the whole program if it is functioning as expected.
6. Maintenance
This the last step of the development life cycle. The programmer checks and correct minor
problems in the application. Fixing can be changing some codes or using some updates.
Application and Limits of Procedural, Object Oriented and Event Driven
Programming
Procedural
Some parts of the program can be divided into smaller pieces of code to perform different
tasks. The smaller parts are called procedures. They divide the program application into
simpler and smaller pieces that are easier to understand. Long lines of code are complex and
hard to understand. For big companies like Google, they use Object Oriented Programming

SOFTWARE DESIGN 4
and procedures to make complex and long lines of code easier to develop their quality
products.
Object Oriented Programming
Object oriented Programming is used in the applications according to the needs the
application was designed for (Information Resources Management Association, 2016). Here,
the developers outline the functions to be applied in the code structure together with the types
of codes. This leads to data structure turning into objects. The objects carry both functions
and data.
Object Oriented Programming
Object Oriented Programming(OOP) splits the program into smaller or mini-programs. The
functions and data of the objects are contained within each smaller program. When you use
objects, it makes it easier for users to understand the project. These objects can be people,
buildings, vehicles or something else that can be used in the application.
Data Abstraction and Encapsulation, Classes, objects, Inheritance and polymorphism are the
elementary concepts of OOP.
Classes: A class contains a group of related objects. Numerous objects can therefore be
created in the same defined class.
Objects: Objects are run-time entities as far as OOP is concerned. Objects and the type of
communication between them are used in the analysis of a problem. These objects interact
with one another by sending requests when the program is run. Also They do not need to
know the data or code of other objects to interact.
Inheritance: when the objects takes the properties of objects from other classes, it is said to
have inherited the properties. Inheritance enables the programmer to reuse the same code by
adding some features to it and not modifying the entire class. It is achieved by using the
existing classes to derive new ones.

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
Definition of Algorithm and Process of Building an Application
|8
|1804
|83

Agile Methodologies for Software Development: A Case Study of Australian Fashion Design Software
|18
|2733
|317

ITC506 - The Un-Tested System Ethical Issue
|6
|1465
|71

Different UML Diagrams in Software Development
|16
|3422
|254

Differences Between Software Engineers and Programmers
|9
|1821
|347

Assignment on Algorithms And Programming
|27
|4937
|106