Two renowned methodologies in system analysis and design are-
1. Structured System Analysis and Design Method (SSADM).
2. Object Oriented System Analysis and Design (OOSADM).
Structured System analysis and design
SSADM is a waterfall approach. Maintainability is objective. Premise of SSAD is that if you expend more at analysis and design then the system will cost less maintenance(Companies spend major part of budget on maintenance) and less correction for whole life time. It also deals with building an IS that can evolve along with business needs. Many other methodologies are derived from SSAD like Jackson programming development…
Basic thing to be done is-“A large complex program is broken down into many smaller easily handled ones.” SDLC as a whole is complex; it is broken down in to many individual components like planning, implementation, analysis, design, maintenance. Again these components are broken into many procedures like problem definition, entering data…
SSADM can be thought to represent a pinnacle of the rigorous document-led approach to system design, and contrasts with more contemporary Rapid Application Development methods such as DSDM.
Here every part is documented right there because projects can’t be left only in memories of team members if they move to new organization or some new member enters team they should have a very clear idea. In this method along with development of IS, Documentation is done. Programmers also will feel good to do it before than doing it after the fact.
Diagrams and graphical representation is done where ever needed. a simple prototypic model can show a lot more than what a bundle of document can’t do All this are used to remove errors and misconceptions before entering practical development.
SSADM just assures more reliable, usable, maintainable system. At initial stage this method looks more costly and complicated but on a long run all the advantages can be seen. But SSADM do not assure any immediate solution for the software crisis.
Object Oriented System Analysis and Design
This method is hot topic in system development over recent years. In contrast to traditional development in OOAD importance is given to Objects than procedures. More time spent on gathering requirements, developing requirements model & analysis model, then turn into design model.
1. Objects are identified first. Objects include all the people, state of beings…
Example- Objects of a college information system includes students, faculty, management; non teaching staffs… objects are mostly nouns
2. Every object has its own properties called as Attributes. Attributes are all the aspects associated with object.
Example- Students studies, faculty teaches, management maintains college that’s their attribute.
3. All the identified objects are grouped into Classes also called as object types.
Example- In that schools example all the students, faculty, staff can be grouped into a class people. Staff, faculty can be in class employees in which students won’t share anything.
4. A class is given with standard properties and all the objects in that class can Inherit the properties of class in which it is a member.
Example- A student and faculty in one class can share all the attendance, time table but a staff can’t. In class employees all the salary properties can be inherited but a student from other class can’t.
5. Some objects are individual i.e. they have their own attributes that can’t be shared.
Example- A faculty might be a member in Economic Ministry it can’t be shared with anyone.
6. Now programmer finished working on objects he will now move on to procedures. Procedures are mostly verbs whose consequence will change some objects.
Example- Management hiring new staff, preparing reports on student grades…
7. An object not only can inherit properties from its class but also methods. Like all the management people have power to hire or remove staff. All the staff shares salary pay.
All the objects and procedures are bundled so that a change in one won’t affect other object. It’s like protecting information.
SDLC -advantage for Project manager
Project manager is a professional in the field of project management. Project managers can have the responsibility of the planning, execution, and closing of any project, typically architecture, computer networking, telecommunications or software development.
SDLC breaks down the complicated project into many small phases and this will help manager to concentrate on every aspect of the project, it will in turn helps the organization to use resources efficiently, maximize profits, gain users trust worthiness, and at lst an effective product.
In traditional project management a heavyweight, predictive methodology such as the waterfall model is often employed, but software project managers must also be skilled in more lightweight, adaptive methodologies such as DSDM, SCRUM and XP. These project management methodologies are based on the uncertainty of developing a new software system and advocate smaller, incremental development cycles. These incremental or iterative cycles are time boxed (constrained to a known period of time, typically from one to four weeks) and produce a working subset of the entire system to be developed at the end of each iteration. The increasing adoption of lightweight approaches is due largely to the fact that software requirements are very susceptible to change, and it is extremely difficult to illuminate all the potential requirements in a single project phase before the software development commences.
The software project manager is also expected to be familiar with SDLC. This may require in depth knowledge of requirements solicitation, application development, logical and physical database design and networking. This knowledge is typically the result of the aforementioned education and experience. There is not a widely accepted certification for software project managers, but many will hold the PMP designation offered by the Project Management Institute or an advanced degree in project management, such as a MSPM or other graduate degree in technology management.
1. Problem recognition
New systems will be built when a manager feels that-
o New business needs IS.
o Already existing business needs IS For its management. Ex- a money lending business where documentation is important, after some stage business will go out of manual stage there an IS is used.
o Existing IS are not sufficient for managing his business. Ex- a student IS has a capacity of 1000 students, already 900 are studying and now if new batches are going to join then amendments are needed.
So if management of an organization feels that they need a system seriously or if their need and what is provided has a large gap then they will go for a system analyst who will conduct a feasibility test.
Outcome of this step is- a brief summary of what is problem or what is the need for an IS in an organization. Depending on the problem recognition results the next step(Feasibility) is carried out in a SDLC.
2. Feasibility test-
Already the problem is known. In this test problem is clearly defined and decided whether a new system is feasible, means whether it can be constructed or not. Many things play a major role economic status, technical status…
Analyst will precisely note what is needed by a new IS or what is the problem with the existing IS.
EX- In that student IS example, if 1000 is capacity and 900 studying. If new batch is coming in 1 year then an IS for next 6 years with capacity of 6000 should be made in 1 year.
4 feasibilities should be analysed-
Technical- If the facilities in organization can support IS or not.
Operational- Do organization have human source to actually install and maintain IS.
Economical- Whether the organisation can afford for IS.
Scheduling- Time frame needed for building IS.
Ex- Before new students comes IS should be ready.
Secondly he should fore cast post development scenario, that is situation after IS is built-
These are called as benefits of system. Decrease in Expenses or Increase in profits. Ex- in the example of student IS, system helps to decrease expenses but no extra profit.
The outcome of this step is called as Cost- Benefit Analysis. If an org after seeing feels that it is worth to have IS next phase(Analysis) is done or whole process of SDLC is aborted because it’s of now use to work and spend on a IS that is of no worth. If outcome of feasibility is positive project continues or it aborts.
In this step the old system is clearly studied. All the requirements for a new system or to amend old system are prepared. Fact gathering techniques comes to play here like reading existing documentation, interviewing users, managers, users, procedures examination. Analyst will now understand what is the way old system is built? How it is supposed to work, why it was built like that?
Here a revolutionary step called prototyping exists. Analyst will make a model of new system that is actually not exactly what is to be done but mostly the same. It help user to have idea what he can get and decreases after thoughts, that are the thoughts that come only after finishing a system. Prototyping is a powerful tool in SDLC.
Outcome of this step is analyst will have all details of old system and also what is expected from a new system exactly. Two outcomes of this phase are-
o Problem specification
Now all this outcomes are provided to management for accessing performance. Management decides to continue or abort project.
4. System Design
From analysis phase it was made clear what should be the final equipment. All the hardware & software is ordered in this phase so that they will arrive by the construction phase. Here all the designs of system will be made ready.
Outcome of this phase are-
o Design specification
o Documentation of design
All this is of hundreds of pages. Programmer reading this documentation should construct the system even though he is not aware of all the previous steps. All this documentation is tested for accuracy by users, management, and analyst. If management is satisfied with the design proposed then it will move on to construction or it will be re designed or aborted.
5. Detailed design
Environment is made ready, programs are written and tested, and documentation is made ready. Output of this phase is- A coded & tested system ready for conversion.
Problem specification and design specification are understood by programmers., then they will code the program. Here analyst is not active unless if any programmer proposes any change.
Then in this again conversion is involved. It is phase where all old systems are replaced by new ones. All the data is given by the users, sometimes it is taken from the old system directly. This conversion is again phased. A part of old system is replaced in first month and some other part in next month. Here it is parallel operation where both old and new IS work together.
While system is operational changes are made. Most of the cost in IS are in maintenance phase. Maintenance is needed to rectify defects in a system, and to adapt to dynamic business environment.