Question

In: Computer Science

a) Do you think following a Software Development Life Cycle (SDLC) model for Software development would increase the quality of the product? Why.



QUESTION 2 

a) Do you think following a Software Development Life Cycle (SDLC) model for Software development would increase the quality of the product? Why. 

b) What is the difference between SRS document and design document? What are the contents we should contain in the SRS document and design document.


QUESTION 3 

a) What is a class and object? Give the diagrams and representation of class and object. 

b) What is generalization? Give an example of generalization. 


Solutions

Expert Solution

QUESTION 2

a)

Yes. Following a Software Development Life Cycle (SDLC) model for Software development would increase the quality of the product.

* Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.

* SDLC is a framework defining tasks performed at each step in the software development process.

* SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

* Different stages in SDLC are,
1) Planning                                                                                                                                                                    
2) Defining  
3) Designing  
4) Building   
5) Testing   
6) Deployment

* The project is designed with clarity. Project members cannot move from one stage to another until the prior stage is completed and signed off on by the project manager. A formal review is created at the end of each stage, which allows the project manager to have maximum management control.
* It will be properly tested before being installed. The installation in a project that is executed using an SDLC has the necessary checks and balances so that it will be tested with precision before entering the installation stage.

* If a key project member leaves, a new member can pick up where they left off. The SDLC gives you a well-structured and well-documented paper trail of the entire project that is complete with records of everything that occurs.
* Without the SDLC, the loss of a project member can set you back and potentially ruin the project. If paperwork is missing or incomplete, the new project member will have to start from the beginning and even possibly change the project to make sense of it. With a well-designed SDLC, everything will be in order so that a new project member can continue the process without complications.
* The project manager can properly manage a project if deliverables are completed on time and within the budget. Sticking to a budget is easier with a well-organized plan in which you can see all the timetables and costs. Project members can submit their work to an integrated system that flags anything that is past due. When the project manager can spend less time micromanaging, he or she can spend more time improving efficiency and production.

b)

SRS Document and Design Document

SRS Document

* A software requirements specification (SRS) is a document that describes what the software will do and how it will be expected to perform. It also describes the functionality the product needs to fulfill all stakeholders (business, users) needs. Specific requirements.

* SRS document is a contract between the customer and development team.

* It includes,
- Functional
- Non functional
- User
- Interface
- System

* There are three core sections of an SRS - Introduction, Overall Description, and Specific Requirements. The Introduction has five subsections - Purpose, Scope, Definitions, References, and Overview. The purpose specifies the context and intended audience of the SRS.

Design Document

* A design document is a complete high-level solution to the problem presented. It should be detailed enough that somebody who already understands the problem could go out and code the project without having to make any significant decisions.

* The purpose of design is to describe how the enhancements will be incorporated into the existing project.

* It includes,
- E-R Diagrams
- Data flow diagrams
- Data Dictionary

* A functional design document describes a software product's capabilities, appearance, and functions it needs to ultimately perform. Design documents are also referred to as functional specifications or functional specifications documents (FSDs), or functional requirements specifications.

****************************

QUESTION 3

a) Class and Object

* Classes and Objects are basic concepts of Object Oriented Programming which revolve around the real life entities.

* A class is a user defined blueprint or prototype from which objects are created. It represents the set of properties or methods that are common to all objects of one type.

* For example: in real life, a car is an object. The car has attributes, such as weight and color, and methods, such as drive and brake. A Class is like an object constructor, or a "blueprint" for creating objects.

* Every object belongs to a class and every class contains one or more related objects. That means, a Class is created once and Object is created from the same Class many time as they require. There is no memory space allocation for a Class when it is crated, while memory space is allocated for an Object when it is created.

* Suppose we have a class called "CAR". All CAR have bodies, engines etc. and these could be the attributes (properties) of our CAR class. We can also add some methods (functions) that would be common to all CAR like movement (forward and reverse), because all CAR can move . So, the idea you really want to enforce in your own mind is that the 'template' of a CAR does not change. Each Object was built from the same set of template (Class) and therefore contains the same components. All Objects share the same copy of the member functions (methods), but maintain a separate copy of the member data (Properties). For example: A Ford car and a Toyota car are both Cars, so they can be classified as belonging to the Car class. All have same movement (methods) but different in models (properties).

b)

Generalisation

* Generalization is the process of extracting shared characteristics from two or more classes, and combining them into a generalized superclass. Shared characteristics can be attributes, associations, or methods.

* Generalization may be defined as the technique of extracting the essential characteristics (these include attributes, properties and methods) from two or more subclasses and then combining them inside a generalized base class (also called a superclass). On the contrary, specialization is the reverse of generalization -- it's used to represent "type-of" relationship by creating subclasses from existing base classes.

* Notation of Generalisation

* Converting a subclass type into a superclass type is called ‘Generalization‘ because we are making the subclass to become more general and its scope is widening.

For example, if we say Car is a Vehicle, there will be no objection.


Related Solutions

Reviewing the System/Software Development Life Cycle (SDLC) model and methodology then show how this model can...
Reviewing the System/Software Development Life Cycle (SDLC) model and methodology then show how this model can be use in web design. Be sure to define the SDLC model and methodology and identify which SDLC step is associated with each project component
1. Research and discuss why project management is important for the Software Development Life Cycle (SDLC).
1. Research and discuss why project management is important for the Software Development Life Cycle (SDLC).
The SDLC (software/system development life cycle) framework is a common development methodology used by organizations to...
The SDLC (software/system development life cycle) framework is a common development methodology used by organizations to build systems and software. Security is often an afterthought or only addressed late in the development process. How can threat modeling be includes during the entire development effort? At what points of the lifecycle would you include threat identification, testing and analysis? Why have you chosen those points in the development cycle?
Compare and Contrast PDLC (Program Development Life Cycle) and SDLC (System Development Life Cycle) as well...
Compare and Contrast PDLC (Program Development Life Cycle) and SDLC (System Development Life Cycle) as well as Application Programmers and Web Programmers and also Application and Website. Please answer. Thank you
Research about Software Development Life Cycle (SDLC). Write a short discussion at least 250 words detailing...
Research about Software Development Life Cycle (SDLC). Write a short discussion at least 250 words detailing implementation or challenges of one the following methodologies in relation to software development:- Waterfalls Scrum Agile Kanban if you can. can you write in typing please so i can copy paste
write a system development life cycle (SDLC) all the 7 stage on a phone product 1-Planning...
write a system development life cycle (SDLC) all the 7 stage on a phone product 1-Planning 2-Requirements Analysis 3-Design 4-implementation 5-Test 6-Deployment 7-Maintenance like in planing stage the phone made for who and in requirements analysis what should be in the phone battery screen etc and the design in plastic or metal just in basic no need for advanced
What is the difference between Systems Development Life Cycle SDLC and Agile development methodologies? Explain in...
What is the difference between Systems Development Life Cycle SDLC and Agile development methodologies? Explain in multiple paragraphs. No handwriting, please.
​Describe the System Development Life Cycle (SDLC), Joint Application Development (JAD), Rapid Application Development (RAD), and...
​Describe the System Development Life Cycle (SDLC), Joint Application Development (JAD), Rapid Application Development (RAD), and Agile methods. Compare and contrast these methods and explain advantages and disadvantages of each.
5. Describe the systems development life cycle (SDLC) methodology in the context of a “real” example....
5. Describe the systems development life cycle (SDLC) methodology in the context of a “real” example. In other words, think about (or imagine) a situation where you proposed the need for a new information system. For this system development effort, describe what happened (or should happen) during the definition, build, and implementation phases.
What is Software Process Model (life cycle models)
What is Software Process Model (life cycle models)
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT